craft-analyze
CommandPost-cycle analysis — QA, UX, Creative, and Style audits using MCP browser tools.
Agent crystallization command. Studies a tool, role, or person and produces a portable 9-section agent that inhabits the domain - with beliefs, scar tissue, and instincts.
> /plugin marketplace add drobins25/craft> /plugin install craft@craft
name: become description: "Agent crystallization command. Studies a tool, role, or person and produces a portable 9-section agent that inhabits the domain - with beliefs, scar tissue, and instincts." argument-hint: "[tool name | role | person name | description] [--deep]"
Crystallize a tool, role, or person into a portable AI agent. Unlike `/craft:research` which discovers what's true, `/craft:become` inhabits a mind - producing an agent with beliefs, decision frameworks, and scar tissue.
Agents produced by this command are portable. They carry perception, not project context. Project context comes from the environment at runtime.
Use `$CRAFT_PROJECT_ROOT` (set at session start) as the base path for all `.craft/` references. When it is not set, run `bash -c 'source "$1" >/dev/null 2>&1; craft_before_init_root' _ "${CLAUDE_PLUGIN_ROOT}/hooks/scripts/find-workshop.sh"` and use the folder it prints.
Become runs fine before `/craft:init`; research branches and the crystallized agent land in the project's folder, not wherever the shell happens to sit.
Set `PROJECT` to that folder. Never default to bare `.`.
**Mode flags:** Before classifying the input, scan args for flags.
`DEPTH` is referenced in Phase 1 to size the sub-question generation. The default of 5 is role-optimized: most become runs synthesize across practitioners with genuine disagreement, and 5 branches cover the six psychological-material categories (beliefs, trade-offs, refusals, mistake taxonomy, user needs, scar tissue) with one branch absorbing two adjacent categories. Source-based research (one tool) naturally saturates at 3-4 branches and can run lighter. Person-based with a sparse-but-prolific subject benefits from `--deep` (7 branches) to give the crystallizer enough signal.
If the user passes `--deep` with no other input (e.g., `/craft:become --deep`), treat the remaining args as empty and fall through to the "If no args" branch below.
Parse args to determine what we're crystallizing.
**If no args:** Use **AskUserQuestion**:
question: "What tool, role, or person do you want to crystallize into an agent?"
header: "Become"
options:
- label: "A specific tool"
description: "Reverse-engineer a tool's decision logic (e.g., CodeRabbit, Lighthouse, ESLint)"
- label: "A role/expertise"
description: "Synthesize what the best practitioners believe (e.g., accessibility auditor, UX designer)"
- label: "A specific person"
description: "Reconstruct an individual's perceptual framework from their artifacts"Then ask for the specific name/description.
**If args provided:** Infer the source type:
**Only clarify if genuinely ambiguous.** "CodeRabbit" is obviously source-based. "Accessibility auditor" is obviously role-based. But "React expert" could be role-based (what do great React developers believe?) or source-based (reverse-engineer React's design philosophy). When ambiguous, use **AskUserQuestion** with 2-3 interpretations and an opinionated recommendation:
question: "'{input}' could mean different things. Which direction?"
header: "Direction"
options:
- label: "{interpretation 1} (Recommended)"
description: "{why this is the strongest direction}"
- label: "{interpretation 2}"
description: "{what this would produce}"**Set up the research folder:**
Generate `{DEPTH}` sub-questions shaped for **mind-replication**, not fact-gathering. `{DEPTH}` is 5 by default (role-optimized) and 7 when `--deep` was passed in Phase 0. The six categories to cover:
1. **Beliefs** - What do the best practitioners in this domain believe that outsiders think is wrong? What do they treat as obvious that newcomers keep getting wrong? 2. **Trade-offs** - Where do practitioners genuinely disagree with each other, and what does each side think the other is missing? 3. **Refusals/Boundaries** - What do they refuse to do even when stakeholders push for it? What's their line? 4. **Mistake taxonomy** - What are beginner mistakes vs intermediate mistakes vs "looks right but subtly broken"? What have they seen fail badly enough to change their approach? 5. **What users actually need** - When someone asks this expert for X, what do they usually actually need? Where does the question behind the question live? 6. **Scar tissue** - What instinctive flinches do they have from past failures? What patterns trigger "this feels wrong" before they can articulate why?
**Adapt sub-questions based on source type:**
Post-cycle analysis — QA, UX, Creative, and Style audits using MCP browser tools.
Point at anything in a live browser tab - every pin gets a live attempt on the page the moment you SEND it, and the session keeps…
Consult a craft agent. Routes your question to the best mind in the workshop - not a menu, a recommendation.
File a bug without fixing it, from a person mid-conversation or an agent mid-run. One door, a complete record on disk, nobody…
Complete a cycle. Triggers reflection if pending learnings, then archives.
Implement tasks incrementally — build, test, verify, commit. Add "auto" to run the whole plan in one approved pass.