From ironflow
Guides spec-first design process for new features, refactors, redesigns, and dependency upgrades via context exploration, clarifying questions, design proposals, and spec docs before coding.
How this skill is triggered — by the user, by Claude, or both
Slash command
/ironflow:spec-firstThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Turn ideas into fully formed designs through collaborative dialogue before writing any code.
Turn ideas into fully formed designs through collaborative dialogue before writing any code.
Why: Unexamined assumptions on "simple" projects cause the most wasted work. A short design conversation catches misunderstandings before they become rework.
Starting implementation before alignment leads to the most expensive kind of rework — building the wrong thing well. Present a design and get user approval before writing code. The design can be a few sentences for trivial tasks, but having the conversation catches misunderstandings early.
Check existing files, docs, recent commits. Understand what's already there before proposing anything.
In existing codebases, follow established patterns. Explore the current structure before proposing changes.
If the user isn't sure how to approach something, or you're uncertain about the best pattern:
Lead with your recommendation and explain why. Present alternatives briefly.
Scale each section to its complexity — a few sentences if straightforward, up to 200-300 words if nuanced. Ask after each section whether it looks right.
Cover: architecture, components, data flow, error handling, testing strategy.
Design for isolation: each unit should have one clear purpose, communicate through well-defined interfaces, and be understandable and testable independently.
Save to spec/ directory using {index}-{name}/spec.md format (e.g., spec/002-todo-extraction/spec.md). Include: spec description, task breakdown, acceptance criteria.
Before asking the user to review:
Fix issues inline, then proceed.
Dispatch the ironflow:spec-reviewer subagent with the path to the spec document and the original user request. The reviewer checks for completeness, consistency, clarity, scope, and YAGNI. Only real implementation-blocking issues are flagged — not wording preferences.
If the reviewer flags issues, evaluate each one before acting — reviewers can be wrong or missing context. Use the receiving-review approach for evaluating each finding. Focus on issues that would block implementation — ambiguities, missing requirements, scope problems, contradictions. Minor issues (wording, formatting) that don't affect implementation correctness don't need to block progress.
After fixing valid issues, re-dispatch the reviewer. Repeat until the reviewer passes or only minor issues remain. Skipping re-review after fixes is how issues slip through, because fixes often introduce new problems.
Only after the spec reviewer passes — presenting an unreviewed spec wastes the user's time on issues the reviewer would have caught. Ask the user to review the spec before proceeding. Wait for approval. If changes are requested, make them and re-run from step 8, since the user's changes haven't been independently verified.
Invoke the plan-review skill. Going straight to implementation skips the step that prevents scope creep and missed requirements.
When the project is a large monorepo or modular-packages codebase:
Guides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.
npx claudepluginhub zhijiang-li1111/ironflow --plugin ironflow