craft-analyze
Post-cycle analysis — QA, UX, Creative, and Style audits using MCP browser tools.
One-time setup to initialize the Craft harness for a project.
> /plugin marketplace add drobins25/craft > /plugin install craft@craft
How it fires
How this command gets triggered: by you, by Claude, or both.
/craft-initContext preview
What this command does when you run it.
One-time setup to initialize the Craft harness for a project.
name: init description: "One-time setup to initialize the Craft harness for a project."
Set up the Craft harness for your project. Run once at the start.
Before scanning or asking questions, check what the user needs.
Use **AskUserQuestion**:
question: "What kind of setup do you need?"
header: "Setup"
options:
- label: "Full setup (Recommended)"
description: "Scan project, extract patterns, configure tokens/conventions"
- label: "Quick setup"
description: "Just the .craft/ directory structure — for projects with strong existing docs (CLAUDE.md, etc.)"**Use these exact option labels and the (Recommended) marker as written.** Do not reframe descriptions, swap the order, or move (Recommended) to a different option based on directory state. Quick setup is for users with a strong existing CLAUDE.md who explicitly want to skip scanning. Full setup is the default for everyone else, **including empty directories** — Phase 3 (the inspiration design session) is the project-DNA flow that runs regardless of whether code is present yet.
**If "Quick setup":**
Ask one follow-up for project type:
Use **AskUserQuestion**:
question: "What type of project is this?"
header: "Type"
options:
- label: "UI / Web app"
description: "Includes design tokens, inspiration, components templates"
- label: "CLI / Backend / Plugin"
description: "Includes naming conventions, schemas, code patterns"Then: 1. **For UI projects:** Run `${CLAUDE_PLUGIN_ROOT}/hooks/scripts/setup-craft.sh ui`
2. **For CLI projects:** Run `${CLAUDE_PLUGIN_ROOT}/hooks/scripts/setup-craft.sh cli`
3. Go to Phase 6 (First Cycle Kickoff) and present its AskUserQuestion. Do NOT improvise a kickoff prompt here - Phase 6 owns the kickoff on every path.
The `.craft/` structure is created with sensible template defaults. The project's existing CLAUDE.md serves as the source of truth for stack, patterns, and conventions - no need to duplicate into project.md. Run `/craft:update-docs` later when there's code to scan.
Show this recap before the Phase 6 question:
> "Directory structure created. > > Your CLAUDE.md is your project DNA - Craft will use it alongside `.craft/` state. > [If UI:] Design tokens can be added later when you're ready - no guessing upfront. > [If CLI:] Project conventions can be added when there's code to learn from - run `/craft:update-docs` once you have code to scan, or add conventions to `.craft/design/locked.md` directly."
Quick setup never scans, so `.craft/design/.confidence-signals.yaml` carries no `total_files` key on this path - per Phase 6's marker rule, NO option carries (Recommended). `PROJECT_TYPE` comes from the type question above (UI / Web app -> `ui`; CLI / Backend / Plugin -> `cli`) and gates the mockup option as usual.
**If "Full setup":** Create the task rail, then continue to Phase 0.5 below.
**The task rail (Full setup only - Quick setup is seconds long and never builds one):** six TaskCreate tasks, blockedBy-chained in order: **Intent -> Scan -> Shape -> Design -> Scaffold -> Kickoff**. Task SUBJECTS are exactly the six beat names - no "Init:" prefix, no descriptive suffix; the subject is a label, detail goes in the task description. Beat-to-phase mapping: Intent = Phase 0.5, Scan = Phase 0a/0b + Phase 1, Shape = Phase 1b + 2 + 2b, Design = Phase 3 (the whole inspiration session - ONE task across all sources and riffs, like mockup's Polish), Scaffold = Phase 4 + 5 + 5b, Kickoff = Phase 6. Substeps never become tasks - no AskUserQuestion, agent spawn, or script run gets its own task. Beats the flow bypasses complete-with-note, never delete. The rail ENDS at Kickoff - whatever the first move routes into (mockup, cycle creation) creates its own tasks.
**If invoked with `RESUME_INSPIRATION=true`:**
Read `.craft/design/.inspiration-session`. Check the `phase` field:
Skip Phase 0, 0a, 0b, 1, 2, and 2b entirely - the session file already has all context needed.
Recreate the task rail (tasks are session-ephemeral - the previous session's rail is gone): create the six tasks exactly as the Full-setup rail block above specifies, immediately complete Intent, Scan, and Shape with the note "pre-resume - settled in the original init session", and leave Design open. The `.inspiration-session` file is the durable truth the rail is rebuilt from - the same role record.md plays for mockup.
---
Before scanning the codebase, capture the user's project intent in their own words. This becomes substrate for the muse session in Phase 5b and surfaces the user's voice in `project.md`. Skipping is fine — projects that just want structure can move on; the muse session in Phase 5b will also be skipped.
This phase only fires on the Full setup path (Quick setup routes directly to setup script + Phase 6, bypassing everything in between).
Use **AskUserQuestion**:
question: "Want to capture your project intent now? Two short questions about what you're building."
header: "Intent"
options:
- label: "Yes, capture intent"
description: "Two short answers the muse distills into your project's Emotional Core - every cycle you planStop Vibing. Start Crafting. A Claude Code plugin that acts as an intelligent harness for your development workflow: your codebase is read-only by default, every change passes through a Write Gate as planned and approved work, and craft tracks your project's
Repo: drobins25/craft
Post-cycle analysis — QA, UX, Creative, and Style audits using MCP browser tools.
Consult a craft agent. Routes your question to the best mind in the workshop - not a menu, a recommendation.
Agent crystallization command. Studies a tool, role, or person and produces a portable 9-section agent that inhabits the domain - with beliefs, scar tissue,…
Complete a cycle. Triggers reflection if pending learnings, then archives.
Design a cycle — create new cycles with planned stories, detail existing planning cycles, or quick-sketch a roadmap. Detects planning docs in .craft/planning/…