carloscape/octorato/sdd-refine

Claude Code and agent skill by carloscape/octorato

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

SDD step 2 (optional, repeatable). Read an existing feature.md and refine it by updating or enhancing requirements based on user input. Use when requirements have changed, new edge cases are discovered, or the spec needs clarification before planning or re-planning. Run before /sdd-plan if plan.md already exists.

Install

npx vskill@latest install carloscape/octorato/sdd-refine

SKILL.md

SDD: Refine Feature Spec

You are a senior software architect refining an existing feature specification.

Inputs

InputRequiredDescriptionExample
refinement_requestOptionalWhat to change or add to the spec"Add rate limiting: max 5 login attempts per minute"

Steps

Step 0: Validate Inputs (ALWAYS DO THIS FIRST)

Check the conversation for refinement_request and for the spec directory (docs/specs/<yyyymmddHHMM>-<feature-name>/, the one holding feature.md). If several are open, ask which one.

  • If feature.md does not exist → stop and tell the user to run /sdd-feature first.
  • If refinement_request is present → proceed to Step 1.
  • If refinement_request is missing → ask:

> "What would you like to change or add to the spec? Is this a scope change, a clarification, or new edge cases?" Do NOT proceed until the user provides it.


Pre-conditions

Verify feature.md exists in the spec directory. If it does not exist, tell the user to run /sdd-feature first.

1. Read Current State

Read these files before doing anything:

  • feature.md: the existing spec to be refined
  • docs/project.md: project context and constraints
  • plan.md: if it exists, note which parts of the plan may be invalidated by changes
2. Understand the Refinement Request

The refinement input is: `refinement_request` (collected in Step 0).

Analyse refinement_request against the current feature.md and identify:

  • What sections are affected
  • Whether the change expands scope, reduces scope, or clarifies existing scope
  • Any knock-on effects (e.g., changing a requirement may invalidate other ACs)
3. Clarify One Question at a Time

Open [NEEDS CLARIFICATION: ...] markers in feature.md come first, then any ambiguity in the refinement request itself. Work through them one by one:

  1. Ask one question. Offer 2 to 4 concrete options and mark one as recommended, with the

reason in one line (impact, scope, risk).

  1. Wait for the answer.
  2. Apply it immediately to the section it affects, and delete the marker it resolves.
  3. Only then ask the next question. Stop after 5 questions in one session; anything left stays

as a marker.

4. Show a Diff Summary Before Editing

The answers of step 3 are already in the file. For every other change the refinement asks for, present a brief plan before modifying the file:

## Proposed Changes to feature.md
### Additions
- FR-04: <new requirement>
- AC-05: <new acceptance criterion>
### Modifications
- FR-02: Updated to clarify that X also applies to Y
- AC-02: Strengthened: must complete within 200ms, not 500ms
### Removals
- FR-03: Removed: out of scope per user confirmation
### No Change
- All other sections remain as-is

Ask the user to confirm before applying.

5. Apply the Refinements

Update feature.md in place. Preserve:

  • Existing section structure and numbering where possible
  • The checkbox state of every criterion exactly as found; never tick or untick one
  • The Spec-Format header, the Glossary, and EARS form for every criterion (new criteria

follow the patterns in /sdd-feature, with a Glossary name as subject)

  • Open markers you did not resolve; add a new one only if the refinement raises a question

you cannot answer, and never exceed 3 in total

Increment requirement IDs sequentially (do not reuse deleted IDs).

6. Impact Assessment

After updating feature.md, check if plan.md exists. If it does, analyse the impact:

## Impact on plan.md
plan.md exists and may be partially invalidated. Here is what needs revisiting:
- Step 2 (Domain Layer): FR-04 adds a new value object not currently planned
- Step 6 (Tests): 2 new ACs require additional test cases
- Step 3 is unaffected
Recommendation: Run /sdd-plan again to regenerate the plan before implementing.

If plan.md does not exist, simply confirm the spec is updated and prompt the user to run /sdd-plan.

7. Changelog Entry

Append a refinement record at the bottom of feature.md:

markdown
---
## Revision History
| Date | Change Summary |
|------|----------------|
| <date> | Initial spec |
| <date> | <One-line summary of this refinement> |

If a revision history table already exists, append a new row; do not recreate the table. The row names the questions answered in this session. This table is the only clarification log.

8. Lint

Run python3 ~/.claude/scripts/spec_lint.py <spec-directory> and fix every finding.

Security

  • Security scanPassed, 90 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
17
Repository forks
7
7-day trend score
14

Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/carloscape/octorato/sdd-refine/badge)](https://verified-skill.com/skills/carloscape/octorato/sdd-refine)

Something wrong with this skill or its page? Tell us.