From claude-refine
Runs automatically after /refine completes. Triggered by the claude-refine plugin's Stop hook once .claude-refine/.draft-requirement.md has been produced. Promotes the draft into a dated final spec file.
How this skill is triggered — by the user, by Claude, or both
Slash command
/claude-refine:-internal-post-draftThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
This skill runs after `/refine` completes. It promotes the ephemeral draft into a permanent, dated spec file.
This skill runs after /refine completes. It promotes the ephemeral draft into a permanent, dated spec file.
Read the draft. Read $CLAUDE_PROJECT_DIR/.claude-refine/.draft-requirement.md. If the file does not exist, stop and tell the user the draft is missing — do not invent content.
Extract the feature slug. From the draft's # Refined Feature: <name> heading, take the name and convert it to a 2-4 word kebab-case slug:
-a-z, 0-9, or --Get the timestamp. Run date '+%Y%m%d%H%M' via the Bash tool. Use the exact stdout — never retype or reformat from memory.
Compose the final filename. <timestamp>-<feature-slug>.md — e.g. 202611061430-customer-search-endpoint.md.
Write the final file. Write the draft's full content verbatim to $PROJECT_DIR/.claude-refine/<final-filename>. No edits, no reformatting, no added sections.
Remove the draft. Delete $PROJECT_DIR/.claude-refine/.draft-requirement.md once the final file is written. The draft is ephemeral; the dated file is the real artifact, and leaving the draft causes the Stop hook to re-trigger this skill in a loop.
/plan (or another implementation tool) using @.claude-refine/<final-filename> as input."Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.
npx claudepluginhub carlosas/claude-refine --plugin claude-refine