# Bloom Crystallize

CocoBloom crystallization, converts a successful ship execution trace into a reusable...

- Repository: https://github.com/Snowflake-Labs/cocoplus (727 stars)
- Category: Engineering
- License: MIT
- Last updated: 2026-10-04
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add Snowflake-Labs/cocoplus --skill bloom-crystallize -g -a claude-code -y`
Codex: `npx skills add Snowflake-Labs/cocoplus --skill bloom-crystallize -g -a codex -y`
Cursor: `npx skills add Snowflake-Labs/cocoplus --skill bloom-crystallize -g -a cursor -y`
Gemini CLI: `npx skills add Snowflake-Labs/cocoplus --skill bloom-crystallize -g -a gemini-cli -y`

## Description

CocoBloom crystallization, converts a successful ship execution trace into a reusable skill file. Requires recent successful $ship. Invoked via $bloom crystallize.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

## Objective

You are executing the CocoBloom crystallization pathway. Your task is to extract a reusable skill from a recently completed and shipped execution trace.

Before proceeding, verify that `.cocoplus/` exists. If not, output: "CocoPlus is not initialized. Run `$pod init` first." Then stop.

## Step 1, Verify Recent Successful Ship

Read `.cocoplus/lifecycle/meta.json`. Check that:
- `current_phase` is `"ship"` and `ship_completed_at` exists, OR
- The most recent phase entry shows a successful ship within the last 7 days

If no recent successful `$ship` found, output: "CocoBloom crystallization requires a recent successful `$ship`. Complete the lifecycle through the Ship phase before crystallizing." Then stop.

## Step 2, Read Execution Trace

Read `.cocoplus/lifecycle/deployment.md` and the most recent flow stage outputs from `.cocoplus/flow.json` runtime state. Collect:
- What was built (deliverables)
- Which patterns were applied
- Key decisions made
- Commands and sequences that worked well
- Any non-obvious techniques used

## Step 3, Spawn Trace Reader (Haiku)

Pass the execution trace to a Haiku sub-agent with this mandate:

"Read the execution trace and identify the most reusable pattern. A reusable pattern is:
1. A sequence of steps that would apply to similar future tasks
2. Not specific to this project's data (generalizable with parameters)
3. Meaningful enough that having it as a skill would save 10+ minutes of re-derivation

Output:
- Pattern name (kebab-case, ≤5 words)
- What problem it solves (1 sentence)
- The generalized step sequence (numbered)
- Parameters that would need to be filled in for a new project
- What makes it non-obvious (why is this worth preserving?)

If no generalizable pattern exists, output: NO_CRYSTALLIZABLE_PATTERN"

The rest: https://github.com/Snowflake-Labs/cocoplus/blob/HEAD/.cortex/skills/cocobloom/bloom-crystallize/SKILL.md
