From craft-skills
Plans and architects new features: analyzes requirements, asks clarifying questions, creates detailed implementation plans aligned with project architecture. Use before coding.
How this skill is triggered — by the user, by Claude, or both
Slash command
/craft-skills:architectThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Analyze requirements and create a detailed implementation plan. No code is written — only planning.
Analyze requirements and create a detailed implementation plan. No code is written — only planning.
The user input is: $ARGUMENTS
Prompt File Number (e.g., 01, 07):
.claude/prompts/{number}*.md01 → reads .claude/prompts/01-initial-structure.mdDirect Prompt Text (e.g., Add a logout button to the navbar):
Empty Input:
.claude/prompts/) or direct requirementsBefore dispatching the architect agent, gather context directly — no dedicated agents for graph or LLM.
Step 1 — Check LM Studio (Bash tool, wait for result):
Profile-gated. Only runs when profile includes llm:
CRAFT_PROFILE=$(cat .craft-profile 2>/dev/null || echo "claude")
case "$CRAFT_PROFILE" in
*llm*)
CRAFT_SCRIPTS=$(find ~/.claude/plugins -name "llm-agent.sh" -path "*/craft-skills/*" -exec dirname {} \; 2>/dev/null | head -1) && curl -s --max-time 2 ${LLM_URL:-http://127.0.0.1:1234} > /dev/null 2>&1 && echo "LLM_AVAILABLE:$CRAFT_SCRIPTS" || echo "LLM_UNAVAILABLE"
;;
*)
echo "LLM_SKIPPED_BY_PROFILE"
;;
esac
Step 2 — Start LLM exploration in background (if available AND profile includes llm):
Skip if Step 1 returned LLM_SKIPPED_BY_PROFILE or LLM_UNAVAILABLE. Otherwise run with Bash tool (run_in_background: true, timeout 300000ms). Self-contained profile check:
CRAFT_PROFILE=$(cat .craft-profile 2>/dev/null || echo "claude")
case "$CRAFT_PROFILE" in
*llm*)
CRAFT_SCRIPTS=$(find ~/.claude/plugins -name "llm-agent.sh" -path "*/craft-skills/*" -exec dirname {} \; 2>/dev/null | head -1)
bash "$CRAFT_SCRIPTS/llm-agent.sh" "Investigate [2-3 domain paths] for a [feature] feature. Check: types, services, components, patterns, API endpoints. Structured summary." <project-root>
;;
*)
echo "LLM_EXPLORATION_SKIPPED_BY_PROFILE"
;;
esac
When standalone, unload after only if LLM was actually loaded:
CRAFT_PROFILE=$(cat .craft-profile 2>/dev/null || echo "claude")
case "$CRAFT_PROFILE" in
*llm*)
CRAFT_SCRIPTS=$(find ~/.claude/plugins -name "llm-unload.sh" -path "*/craft-skills/*" -exec dirname {} \; 2>/dev/null | head -1)
bash "$CRAFT_SCRIPTS/llm-unload.sh"
;;
esac
When part of craft pipeline, skip unloading (the parent craft skill handles it in Step 2.4).
Step 3 — Run graph exploration (while LLM processes):
Load graph MCP tools via ToolSearch (search for "code-review-graph"), then run:
build_or_update_graph_tool — ensure graph is freshsemantic_search_nodes_tool — search with feature keywords (2-3 variations)query_graph_tool with file_summaryquery_graph_tool with imports_of and importers_ofNEVER use get_architecture_overview_tool, list_communities_tool, or detect_changes_tool.
Scoping rule: Never ask to "explore the whole codebase." Always scope to specific directories or files.
Wait for both agents to complete. Pass their findings to the architect agent in Step 1.
The architect's plan will require a Prior-Art Scan table against the project's shared surface (Step 2). A pre-generated .claude/reuse-index.md makes that scan cheap and reliable; without one, agents fall back to ad-hoc grep and miss more.
if [ ! -f .claude/reuse-index.md ]; then
echo "REUSE_INDEX_MISSING"
else
echo "REUSE_INDEX_PRESENT"
fi
REUSE_INDEX_PRESENT → continue to Step 1.REUSE_INDEX_MISSING → invoke craft-skills:reuse-index via the Skill tool. It auto-detects the project's shared directory (asks if it can't), scans exported symbols, and writes .claude/reuse-index.md. Non-blocking — the pipeline continues even if generation is skipped. One-time-per-project cost; mirrors the aesthetic-direction pattern.Fallback: if reuse-index skill is unavailable OR the user skips the auto-detection prompt, continue without it. The Prior-Art Scan table in Step 2 will rely on ad-hoc searches.
Dispatch an implementation-architect agent (opus model) using the Agent tool. Read the agent prompt template from the architect-prompt.md file in this skill's directory, then append the requirements to it.
Include in the agent prompt:
The agent should:
Relay any clarification questions the architect raises to the user. Wait for answers before proceeding.
This step replaces the older ambient "UI/UX plan review." Instead of opportunistic skill auto-triggering, the design-layer runs explicitly and deterministically — only when the plan touches UI, with transparent gating on solo vs combined mode.
1.5a — Does the plan touch UI?
Inspect the plan's file list. If any target file matches **/*.{tsx,vue,svelte,jsx} or lives under feature/, ui/, components/, pages/, src/app/**, proceed. Otherwise skip the entire design-layer and jump to Step 2.
1.5b — Ensure aesthetic direction exists:
if [ ! -f .claude/aesthetic-direction.md ]; then
echo "AESTHETIC_MISSING"
else
echo "AESTHETIC_PRESENT"
fi
AESTHETIC_PRESENT → continue to 1.5cAESTHETIC_MISSING → invoke craft-skills:aesthetic-direction via the Skill tool. It generates .claude/aesthetic-direction.md non-blockingly and returns. This is a one-time-per-project cost.1.5c — Generate UX brief:
Invoke craft-skills:ux-brief via the Skill tool with the spec/plan path as argument.
The ux-brief skill will:
frontend-design (solo) or frontend-design + ui-ux-pro-max (combined) based on complexity.claude/plans/{feature-dir}/ux-brief.md with diagnosis + prioritized patches + success criteria1.5d — Integrate brief into plan:
Read the returned ux-brief.md. For each P0/P1 patch in the brief:
If the brief's priorities contradict the plan's task ordering, favor the brief — it has the UX reasoning.
Fallback: if ux-brief skill is unavailable (e.g. frontend-design not installed), continue without a brief. Add a note to the plan: > UX brief not generated (skill unavailable). UI implementation proceeds against CLAUDE.md conventions only.
Review the implementation plan and verify:
Ask the user for approval:
Save the approved plan to .claude/plans/YYYY-MM-DD-{feature-name}.md and report the path.
The plan is now ready for craft-skills:develop or craft-skills:finalize.
npx claudepluginhub alexiolan/craft-skills --plugin craft-skillsPrompts Claude to produce a numbered step-by-step implementation plan before writing code. Use for complex tasks touching multiple files or with unclear requirements.
Read-only codebase exploration and implementation plan design. Use before coding to understand architecture, find patterns, and produce step-by-step strategies.
Orchestrates design-first pipeline for new features: collaborative brainstorming with user, planning, parallel agent development, browser testing. For complex features, unclear requirements, or design exploration.