Distill rough ideas into structured project specs with issues. This skill takes unstructured input (bullet points, rough notes, transcribed ideas) and systematically breaks it down into feature domains, uses sub-agents to deeply analyze each domain, identifies ambiguities requiring user clarification, and ultimately produces a structured spec with actionable issues. Use this skill when the user wants to transform rough project ideas into well-defined specifications and issues, or when they invoke /speccer.
Transforms rough project ideas into structured specifications with actionable issues.
/plugin marketplace add schpet/toolbox/plugin install speccer@toolboxThis skill inherits all available tools. When active, it can use any tool Claude has access to.
references/templates.mdTransform rough ideas into structured project specifications with actionable issues.
This skill orchestrates a multi-phase process to distill unstructured input into:
All spec documents live in docs/specs/ within the project.
docs/specs/
├── index.md # Top-level overview, links to all sections
├── _questions.md # Consolidated questions awaiting user answers
├── _issues.md # Generated issues with acceptance criteria
└── {feature}.md # One file per feature/domain area
When invoked with rough input:
docs/specs/ directory if it doesn't existdocs/specs/index.md with:
Output a brief summary of identified features before proceeding.
For each identified feature/domain area, spawn a sub-agent using the Task tool:
Use Task tool with subagent_type="general-purpose" for each feature:
Prompt template:
"Analyze the following feature area for a project spec. Your task is to:
1. Read the rough input related to this feature
2. Identify what's well-defined vs ambiguous
3. Consider implementation concerns (but don't design solutions)
4. List questions that need user clarification
5. Draft acceptance criteria for potential issues
Feature: {feature_name}
Context: {relevant_input_excerpt}
Project overview: {brief_project_context}
Output a structured analysis with:
- Summary (2-3 sentences)
- Key requirements (bullet points)
- Ambiguities/Questions (numbered list with context for why it matters)
- Suggested issues (title + draft acceptance criteria)
Write your analysis to: docs/specs/{feature_slug}.md"
Run sub-agents in parallel where possible (multiple Task tool calls in one message).
After all sub-agents complete:
docs/specs/docs/specs/_questions.md with:
docs/specs/index.md:
Present questions to the user using AskUserQuestion tool:
_questions.md as responses come inFor complex clarifications, ask in batches of 3-4 questions max per interaction.
After receiving user answers:
_questions.md as resolvedindex.md status when all questions resolvedWhen all clarifications are complete:
Read all section files
Compile issues from each section's "Suggested issues"
Create docs/specs/_issues.md with:
If user wants beads integration, for each issue:
Use beads:create skill to create the issue with:
- Title from spec
- Description including acceptance criteria
- Labels for feature area
Update index.md:
_issues.mdThe skill can be invoked:
/speccer - Start fresh with new input/speccer refine - Continue refining existing spec (re-run Phase 4-6)/speccer issues - Skip to issue generation from existing spec/speccer issues --beads - Generate issues and create beadsThe index.md file serves as the authoritative reference. When resuming work:
docs/specs/index.md first_questions.md to see pending clarifications# Project: [Name]
## Overview
[2-3 sentence summary]
## Status
[Current phase and progress]
## Features
- [Feature A](./feature-a.md) - Brief description
- [Feature B](./feature-b.md) - Brief description
- [Feature C](./feature-c.md) - Brief description
## Documents
- [Open Questions](./_questions.md) - X questions pending
- [Issues](./_issues.md) - Y issues defined
## Notes
[Any project-wide context or constraints]
This skill should be used when the user asks to "create a hookify rule", "write a hook rule", "configure hookify", "add a hookify rule", or needs guidance on hookify rule syntax and patterns.
Create distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.