A Claude Code skill that refines a Functional Specification Document (FSD) into structured, per-feature requirements and edge cases via an auto-loop with deterministic gap detection.
Given an FSD at docs/original-requirement.md, the skill produces:
- Per-FR-group folders under
docs/refined/, each containingrequirements.mdandedge-cases.md. - A merged
docs/refined-requirement.mdwith a Gap Summary table at the top.
It runs an auto-loop (max 3 iterations per group) with deterministic gap detection driven by the literal marker **Not stated in Original FSD**. Fire-and-forget: one invocation, no manual re-runs.
From a repo that contains docs/original-requirement.md, invoke the skill:
/fsd-refiner
Trigger phrases also include: "refine FSD", "break down requirements", or "split FSD into requirements and edge cases".
fsd-refiner/
├── SKILL.md # Skill definition + operational steps (authoritative entry point)
├── instructions/
│ └── workflow.md # Iteration loop, termination conditions, merge step, failure modes
├── resources/
│ └── checklist.md # Mandatory section list + the marker convention
└── examples/ # Example FSDs / outputs
Any Claude Code user can install this skill by cloning it into a skills directory. Claude Code auto-discovers any folder containing a SKILL.md.
Personal — available in all your projects:
git clone https://github.com/karthikkumar27/fsd-refiner.git ~/.claude/skills/fsd-refinerProject-scoped — commit it so your whole team gets it:
# run from the root of your project repo
git clone https://github.com/karthikkumar27/fsd-refiner.git .claude/skills/fsd-refinerThen start a new Claude Code session (or run /skills to confirm it loaded) and invoke it:
/fsd-refiner
Update to the latest version later:
cd ~/.claude/skills/fsd-refiner # or .claude/skills/fsd-refiner
git pull- Does not scaffold an app or generate components (that's a downstream step).
- Does not modify the input FSD.
- Does not invent FR-IDs or business rules.
- Does not commit, push, or open PRs.