craft-analyze
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.
> /plugin marketplace add drobins25/craft > /plugin install craft@craft
How it fires
How this command gets triggered: by you, by Claude, or both.
/craft-askContext preview
What this command does when you run it.
Consult a craft agent. Routes your question to the best mind in the workshop - not a menu, a recommendation.
name: ask description: "Consult a craft agent. Routes your question to the best mind in the workshop - not a menu, a recommendation." argument-hint: "[your question]"
Consult a craft agent. The skill reads your question, scans the available agents, and recommends who to talk to - like a bartender who knows your order before you say it.
Use `$CRAFT_PROJECT_ROOT` (set at session start) as the base path for all `.craft/` references. If not set, resolve by walking up from PWD to find the nearest `.craft/.global-state`.
Set `PROJECT` to `${CRAFT_PROJECT_ROOT:-.}`.
**If args provided:** Use the args as the question.
**If no args:** Use **AskUserQuestion**:
question: "What do you want to ask?"
header: "Ask"
options:
- label: "Feature gut check"
description: "Will anyone care about this? Is it compelling or just useful?"
- label: "Design direction"
description: "Does this feel right? What's the visual/emotional read?"
- label: "Decomposition review"
description: "Is this story scoped right? Where are the natural seams?"
- label: "QA adversary"
description: "Where will this break? What am I not testing?"If user picks an option, ask a follow-up: "Give me the details - what specifically are you working on?"
Store the full question as `{QUESTION}`.
Read project context to enrich the agent prompt. Do this silently - no user interaction.
Store as `{CONTEXT}`.
Use **Glob** to find all agents: `${CLAUDE_PLUGIN_ROOT}/agents/*.md`
For each agent file, read the first 15 lines (frontmatter only). Extract:
Skip agents that are purely operational (chunk-validator, claims-auditor, implementer, tester, plan-chunks-agent, project-scanner, verifier, practitioner-reviewer). These are internal to the craft pipeline and not designed for consultation.
**Consultable agents** are those whose descriptions include phrases like "Consult when", "Trigger conditions", or are crystallized workshop agents.
Build a list of consultable agents with their names and descriptions.
Read the user's question against the agent descriptions. Pick the **best match** and optionally a **second opinion** agent.
Present the recommendation. Do NOT show a full list of agents - show your read of the situation:
> "This sounds like a **{Agent Name}** question - {one sentence explaining WHY this agent fits, drawn from its beliefs or trigger conditions}." > > If a second agent is relevant: > "The **{Agent 2 Name}** might also have a take - {one sentence on the different angle}."
Use **AskUserQuestion**:
question: "Who do you want to hear from?"
header: "Consult"
options:
- label: "{Agent 1 Name} (Recommended)"
description: "{Why this agent fits}"
- label: "{Agent 2 Name}"
description: "{The different angle}"
- label: "Both"
description: "Get both perspectives"
- label: "Someone else"
description: "I have a different agent in mind"**If "Someone else":** Show the full list of consultable agents. Let user pick.
For each selected agent, invoke via the **Agent** tool:
Agent tool:
subagent_type: "craft:{agent-name}"
description: "Consult: {agent-name}"
prompt: |
## Question
{QUESTION}
## Project Context
{CONTEXT}
## Instructions
Answer the question from your perspective. Draw on your beliefs,
scar tissue, and instincts. Be direct and opinionated. If the
question is outside your domain, say so and suggest who would
be better suited.
Keep your response focused - no preamble, no hedging.**If "Both":** Run both agents (can be parallel). Present responses with clear attribution:
> **{Agent 1 Name}:** > {response} > > --- > > **{Agent 2 Name}:** > {response}
After showing the response:
Use **AskUserQuestion**:
question: "Helpful? Want another perspective?"
header: "Next"
options:
- label: "Another perspective"
description: "Ask a different agent the same question"
- label: "Follow up"
description: "Ask this agent a follow-up question"
- label: "Done"
description: "Got what I needed"**If "Another perspective":** Go back to Step 4 with the remaining agents (exclude already consulted).
**If "Follow up":** Ask for the follow-up question. Use **SendMessage** to continue the same agent conversation (preserves context). Then re-present this AskUserQuestion.
**If "Done":** End.
/craft:ask "Will anyone care about this notification feature?" /craft:ask "Is this story too big? Should it be two stories?" /craft:ask "Where will this auth flow break?"
Stop 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.
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/…