craft-ask
Consult a craft agent. Routes your question to the best mind in the workshop - not a menu, a recommendation.
Post-cycle analysis — QA, UX, Creative, and Style audits using MCP browser tools.
> /plugin marketplace add drobins25/craft > /plugin install craft@craft
How it fires
How this command gets triggered: by you, by Claude, or both.
/craft-analyzeContext preview
What this command does when you run it.
Post-cycle analysis — QA, UX, Creative, and Style audits using MCP browser tools.
name: analyze description: "Post-cycle analysis — QA, UX, Creative, and Style audits using MCP browser tools."
Run comprehensive analysis on what you've built. Findings persist between sessions — nothing gets lost.
| Type | Agent | Finds | |------|-------|-------| | **QA** | qa-analyzer | Bugs, errors, edge cases | | **UX** | ux-analyzer | Friction, accessibility, heuristic violations | | **Creative** | creative-analyzer | Delight opportunities, feature ideas | | **Style** | style-analyzer | Token violations, pattern drift | | **Walkthrough** | walkthrough-analyzer | "Does it actually work for a human?" - clicks everything, checks every state |
Before any new analysis, check for existing pending findings of the requested type.
**If pending findings exist:**
> "You have [N] pending [type] findings from [date]: > > **Critical/High:** [count] > **Medium:** [count] > **Low:** [count] > > What would you like to do?"
Use **AskUserQuestion**:
question: "What would you like to do with pending findings?"
header: "Pending"
options:
- label: "Review pending findings now"
description: "Go through existing findings before new analysis"
- label: "Continue analysis (keep pending)"
description: "Run new analysis, existing findings stay queued"
- label: "Clear pending and start fresh"
description: "Dismiss old findings, start new analysis"**If user provides custom text:** Ask a clarifying AskUserQuestion before proceeding.
**If user chooses "Review pending"** → Go to Step 5 (Review Findings)
**If user chooses "Continue" or "Clear"** → Proceed to Step 2
> "What kind of analysis?"
Use **AskUserQuestion**:
question: "What kind of analysis?"
header: "Type"
options:
- label: "QA Pass"
description: "Find bugs and errors"
- label: "UX Insights"
description: "Usability and accessibility review"
- label: "Creative Exploration"
description: "Find delight opportunities"
- label: "Style Audit"
description: "Design consistency check"
- label: "Walkthrough"
description: "Click everything in the live app, report what doesn't feel right"**Note:** "Full Analysis" runs all types sequentially. If user selects "Other" and mentions "full" or "all", run all types.
**If user provides custom text:** Ask a clarifying AskUserQuestion to confirm which analysis type(s) they want.
> "What should I analyze?"
Use **AskUserQuestion**:
question: "What should I analyze?"
header: "Scope"
options:
- label: "Current cycle"
description: "All stories in active cycle"
- label: "Specific story"
description: "Pick one story from the cycle"
- label: "Specific pages"
description: "I'll specify which pages/URLs"
- label: "Whole application"
description: "Full app analysis"**If user provides custom text:** Ask a clarifying AskUserQuestion to confirm the scope.
**If user selects "Specific pages":**
Use **AskUserQuestion**:
question: "Which pages should I analyze?"
header: "Pages"
options:
- label: "[Known page 1]"
description: "Based on project structure"
- label: "[Known page 2]"
- label: "[Known page 3]"**If scope is ambiguous or Claude is unsure:**
Use **AskUserQuestion**:
question: "I want to make sure I analyze the right things. Can you confirm?" header: "Clarify" options: - label: "[Option based on understanding]" - label: "[Alternative interpretation]" - label: "Let me explain differently"
**IMPORTANT:** Always confirm scope before running analysis. If uncertain about:
Ask first. Don't assume.
**Check MCP availability first.** Chrome-devtools MCP should be available — the Craft plugin bundles it automatically.
If chrome-devtools MCP tools are not available:
> "Chrome DevTools MCP should be available through the Craft plugin, but I'm not seeing it. > > Try restarting Claude Code (`exit` then `claude`) to reload the plugin's MCP servers. > > Then run `/craft:analyze` again."
**If MCP is available**, **INVOKE the appropriate analyzer agent using the Task tool**:
Pass the confirmed scope and any relevant context to the agent.
**For walkthrough analysis**, assemble a structured brief before invoking the agent (the agent does NOT read story files - it only interacts with the browser):
1. Read `project.md` for dev server command and port 2. For each `type: ui` story in scope, extract: feature name, trigger, expected behavior 3. Pass the brief with dev server command, URL, test plan, and story context 4. The agent returns findings - you write them to `.craft/analysis/pending/walkthrough.yaml`
**After the agent completes, YOU (the orchestrator) must write findings to disk.** The analyzer agents have Write/Edit disabled — they return findings in their output text only.
**Write findings to** `.craft/analysis/pending/[type].yaml`: 1. Create `.craft/analysis/pending/` directory if it doesn't exist: `mkdir -p .craft/analysis/pending` 2. Read the existing pending file (if any) to preserve prior findings 3. Parse the agent's output for findings (bugs, issues, opportunities) 4. Append new findings to the YAML file using the template format from `${CLAUDE_PLUGIN_ROOT}/templates/analysis/pending/[type].yaml` 5. Set `updated:` to current date and `scope:` to what was analyzed
**This is critical.** If you don't write findings to disk, they exist only in conversation context and will be lost on compaction.
User can **stop at any time** — write all findings discovered so far before stopping.
**During analysis, Claude should:**
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
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/…