From dev-workflow
Use when a plan has been written and needs validation before execution, or the user says 'verify plan', 'check the plan', 'review the plan', 'validate plan', '检查计划', '验证计划'. Applies Verification-First method with falsifiable error candidates, failure reverse reasoning, optional Design Token consistency checks, Design Faithfulness anchoring, and Architecture Review.
npx claudepluginhub n0rvyn/indie-toolkit --plugin dev-workflowThis skill uses the workspace's default tool permissions.
This skill dispatches the `dev-workflow:plan-verifier` agent to validate an implementation plan in a separate context so it starts with a fresh, unbiased perspective.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Searches prompts.chat for AI prompt templates by keyword or category, retrieves by ID with variable handling, and improves prompts via AI. Use for discovering or enhancing prompts.
Designs and optimizes AI agent action spaces, tool definitions, observation formats, error recovery, and context for higher task completion rates.
This skill dispatches the dev-workflow:plan-verifier agent to validate an implementation plan in a separate context so it starts with a fresh, unbiased perspective.
Optional flag: --fast
When passed: use Sonnet instead of Opus for verification.
Appropriate for plans with < 5 tasks or simple single-concern changes.
Default (no flag): Opus for thorough verification.
Collect the following before dispatching:
write-plan output in conversationdocs/06-plans/*-plan.md for recent plan filesDesign doc: reference; if none, set to "none"Design analysis: reference; if none, search docs/06-plans/*-design-analysis.md; if none found, set to "none"Crystal file: reference → use that pathdocs/11-crystals/*-crystal.md: if exactly 1 file → use it automaticallyIf the plan file path is unclear, ask the user.
After collecting plan and design doc paths, extract technical keywords from the plan (framework names, API names, component names found in the plan file) and search for known error patterns:
search(query="<technical keywords from plan>", source_type=["error", "lesson"], project_root="<cwd>")retrieved_context — a compact list of (source_path, section, content preview) for each hitretrieved_context to empty and continueUse the Task tool to launch the dev-workflow:plan-verifier agent:
model: "opus" to the Task tool callmodel: "sonnet" to the Task tool callNote: must explicitly set model to ensure the agent uses the intended model regardless of parent session configuration.
Before dispatching, extract any previously resolved decisions from the plan file:
## Decisions section for entries with **Chosen:** (not just **Recommendation:**)DP-xxx: Title → User chose Option {A|B|C}Structure the task prompt as:
Verify this implementation plan:
Plan file: {path}
Design doc: {path or "none"}
Design analysis: {path or "none"}
Crystal file: {path or "none"}
Project root: {path}
Plugin agents dir: !`echo "${CLAUDE_PLUGIN_ROOT:?CLAUDE_PLUGIN_ROOT is not set}/agents"`
Previously resolved decisions (do not re-ask these):
{List of "DP-xxx: Title → Chosen Option X" or "none"}
Retrieved error patterns and lessons (from knowledge base):
{retrieved_context — one entry per line, or "none" if empty}
When the agent completes:
Report: path. If present, read the report file.
Report: in return): search .claude/reviews/plan-verifier-*.md for the most recent file. If found with **Status:** in-progress, the agent was truncated — use the partial results and note: "⚠️ Verifier was truncated. Partial results below — some strategies may not have run."Decisions: count.
## Decisions section from the verification reportblocking decision: present to user via AskUserQuestion with options from the decision pointrecommended decisions: present as a group via a single AskUserQuestion. Critical: all DP content must be inside the question field — text printed before AskUserQuestion gets visually covered by the question widget. Read each recommended DP's full block (heading + Context + Options + Recommendation) from the verification report and concatenate them verbatim in the question field, separated by \n---\n. End with: \n\n全部接受推荐,还是逐个审查?**Recommendation:** or **Recommendation (unverified):** line with **Chosen:** {user's choice}When the plan is approved:
---
## Verification
- **Verdict:** Approved
- **Date:** {YYYY-MM-DD}
dev-workflow:execute-plan## Verification section with Verdict: Approved appended