Automated summary
This skill extracts testable features from natural language specifications.
Strengths
- Generates clear, verifiable acceptance criteria
- Detects dependencies between features
- Assigns priority and complexity ratings
- Identifies hidden features (error handling, validation)
Limitations
- Requires well-structured specifications for best results
- May produce a large number of features for lengthy specs
- Priority assignment is heuristic-based, not business-context aware
Use when converting a specification document into an actionable list of features for a sprint or project.
Avoid for very vague or incomplete specifications, as the output will be unreliable.
Security analysis
SafeThe skill is purely instructional and contains no executable code, destructive commands, or actions that could compromise security. It only describes how to process specifications and output structured JSON.
No concerns found
How this analysis is madeExamples
Analyze the following specification and extract testable features with acceptance criteria and priorities:
# E-commerce MVP
Users should be able to browse products and add them to a cart. They need to checkout with credit card payments. Admin users can manage the product catalog.Break down this epic into implementable features with dependency mapping:
# User Profile Management
Users can view and edit their profile, upload a profile picture, change their password, and delete their account. Profile data includes name, email, and bio.name: spec-analyzer description: Extract testable features from natural language specifications version: 1.0.0
Spec Analyzer Skill
Extract testable features from natural language specifications.
Description
This skill analyzes specification documents (markdown, text, or structured formats) and extracts a list of implementable features with:
- Clear acceptance criteria
- Testable requirements
- Priority ordering
- Dependency mapping
When to Use
Invoke this skill when:
- Processing a specification file for
/siftcoder:build - User provides natural language feature description
- Converting requirements documents to feature queue
- Breaking down epics into implementable stories
Instructions
You are a specification analyzer. Your job is to extract structured, implementable features from natural language specifications.
Input Processing
-
Read the Specification
- Accept markdown, text, or structured input
- Identify sections, headers, and requirements
- Note any explicit priorities or dependencies
-
Extract Features For each distinct feature, identify:
- Title: Clear, concise feature name
- Description: What the feature does
- Acceptance Criteria: Testable conditions for completion
- Priority: Inferred or explicit (1-5 scale)
- Dependencies: Other features this depends on
- Complexity: Simple, Medium, Complex
-
Structure Output Return features in this exact JSON format:
{ "source": "path/to/spec.md", "extractedAt": "ISO timestamp", "features": [ { "id": "feature-slug-001", "title": "Feature Title", "description": "What this feature does", "acceptanceCriteria": [ "User can do X", "System responds with Y", "Data is persisted to Z" ], "priority": 1, "dependencies": [], "complexity": "medium", "estimatedSubtasks": 3, "tags": ["auth", "security"] } ], "summary": { "totalFeatures": 5, "byPriority": { "1": 2, "2": 2, "3": 1 }, "byComplexity": { "simple": 1, "medium": 3, "complex": 1 } } }
Extraction Rules
-
One Feature = One Deliverable
- Each feature should be independently deployable
- Break large features into smaller ones
- Each should be completable in a single coding session
-
Acceptance Criteria Must Be Testable
- ❌ "The UI should look good"
- ✅ "The login form displays username and password fields"
- ❌ "Fast performance"
- ✅ "Page loads in under 2 seconds"
-
Identify Hidden Features
- Error handling (often implicit)
- Validation (often implied)
- Edge cases (often overlooked)
- Accessibility (often forgotten)
-
Priority Assignment
- 1 (Critical): Core functionality, blocking everything else
- 2 (High): Important features, needed for MVP
- 3 (Medium): Nice to have for initial release
- 4 (Low): Can be added later
- 5 (Backlog): Future consideration
-
Dependency Detection
- "After user authentication..." → depends on auth feature
- "Using the data from..." → depends on data feature
- "Building on the..." → depends on referenced feature
Example Transformation
Input Spec:
# E-commerce MVP
Users should be able to browse products and add them to a cart.
They need to checkout with credit card payments.
Admin users can manage the product catalog.
Output Features:
{
"features": [
{
"id": "auth-001",
"title": "User Authentication",
"description": "Allow users to register and login",
"acceptanceCriteria": [
"User can register with email and password",
"User can login with credentials",
"User can logout",
"Session persists across page refreshes"
],
"priority": 1,
"dependencies": [],
"complexity": "medium"
},
{
"id": "products-002",
"title": "Product Catalog Display",
"description": "Display products for users to browse",
"acceptanceCriteria": [
"Products display in grid layout",
"Each product shows image, name, price",
"Products can be filtered by category",
"Products can be sorted by price/name"
],
"priority": 1,
"dependencies": [],
"complexity": "medium"
},
{
"id": "cart-003",
"title": "Shopping Cart",
"description": "Allow users to add products to cart",
"acceptanceCriteria": [
"User can add product to cart",
"Cart shows item count",
"User can view cart contents",
"User can update quantities",
"User can remove items"
],
"priority": 2,
"dependencies": ["products-002"],
"complexity": "medium"
},
{
"id": "checkout-004",
"title": "Checkout with Payment",
"description": "Complete purchase with credit card",
"acceptanceCriteria": [
"User can enter shipping address",
"User can enter credit card details",
"Payment is processed securely",
"Order confirmation is displayed",
"Confirmation email is sent"
],
"priority": 2,
"dependencies": ["cart-003", "auth-001"],
"complexity": "complex"
},
{
"id": "admin-005",
"title": "Admin Product Management",
"description": "Admin users can manage products",
"acceptanceCriteria": [
"Admin can add new products",
"Admin can edit existing products",
"Admin can delete products",
"Admin can upload product images"
],
"priority": 3,
"dependencies": ["auth-001"],
"complexity": "medium"
}
]
}
Output Format
Always return valid JSON matching the schema above. The output will be:
- Parsed by siftcoder
- Stored in
features.json - Used to drive the implementation workflow
Runtime Implementation
This skill includes a minimal skill.ts entry point to satisfy plugin requirements.
The primary value remains in this documentation - see sections above for:
- Spec extraction patterns
- Feature breakdown strategies
- JSON schema
The runtime entry point can be extended with actual functionality as needed.
Allowed Tools
Read, Glob, Grep (for analyzing existing code context)
From the file to a first result
The download contains exactly the content displayed on this page. This copy may differ from the latest version in the source repository.
View the source and supporting filesThis download contains SKILL.md only. Any scripts, references, templates and dependencies are not included. Get the required files from the source, preserving their directory structure, before continuing.
1. Download the file
Download SKILL.mdFrom the root of a test project, save the file as .skill-downloads/spec-analyzer-mm8o52dk/SKILL.md, or use the command below. This folder is for inspecting the skill before installation.
Command for macOS/Linux or WSL: requires a POSIX shell and curl. On Windows without WSL, use the download button and create the folder manually.
mkdir -p '.skill-downloads/spec-analyzer-mm8o52dk' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/spec-analyzer-mm8o52dk/download' --output '.skill-downloads/spec-analyzer-mm8o52dk/SKILL.md.part' && mv '.skill-downloads/spec-analyzer-mm8o52dk/SKILL.md.part' '.skill-downloads/spec-analyzer-mm8o52dk/SKILL.md'2. Check prerequisites
Read SKILL.md before using it. If it references scripts or external services, inspect them and prepare the required access in your test environment.
No recognized prerequisites section in this file. This does not mean it is self-contained: libraries, tools and access requirements may be mentioned elsewhere in the content or source repository.
The platforms on this page are catalog indications. The paths below follow tool documentation; they do not prove this skill has been run in those tools. No minimum tool version is confirmed for this listing.
3. Load the skill
After inspection, copy the complete folder into your project using one of the commands below, then open a new tool session. The command stops if a folder with the same name already exists: compare the files before replacing it.
Claude Code
test -f '.skill-downloads/spec-analyzer-mm8o52dk/SKILL.md' && test -s '.skill-downloads/spec-analyzer-mm8o52dk/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/spec-analyzer' && cp -R '.skill-downloads/spec-analyzer-mm8o52dk' '.claude/skills/spec-analyzer'Cursor
test -f '.skill-downloads/spec-analyzer-mm8o52dk/SKILL.md' && test -s '.skill-downloads/spec-analyzer-mm8o52dk/SKILL.md' && mkdir -p '.cursor/skills' && test ! -e '.cursor/skills/spec-analyzer' && cp -R '.skill-downloads/spec-analyzer-mm8o52dk' '.cursor/skills/spec-analyzer'OpenSkills
OpenSkills must already be installed. The local install/read procedure is checked with OpenSkills 1.5.0, which requires Node.js ≥ 20.6.0. Catalog slugs are not resolved automatically.
Official OpenSkills installationopenskills install './.skill-downloads/spec-analyzer-mm8o52dk'openskills read 'spec-analyzer-mm8o52dk'Reading should display the installed file content and its base directory. It does not run the skill or install its dependencies.
For an agent that reads AGENTS.md, then sync the index. This command changes AGENTS.md: review the diff before using it.
openskills syncManual method or another tool: attach SKILL.md to a conversation, or open it in an agent that can read files. Include any required supporting resources. No universal folder is recognized by every tool.
4. Try a first task
Use a short, synthetic input: an API endpoint, a small document or an interface brief. In a new conversation, attach the file or give the agent its path, then adapt this request:
Read .skill-downloads/spec-analyzer-mm8o52dk/SKILL.md and apply its instructions to this example: [describe a test input]. Identify any missing files, dependencies or access. Produce the result requested by the skill without inventing data or running unreviewed scripts.Expected result: output matching the skill instructions, or a precise list of missing prerequisites. A read confirmation alone does not validate a first use. If an external resource is unavailable, that path remains untested.
React Hook Form Best Practices
Development
Master React Hook Form: avoid anti-patterns, manage subscriptions, and handle reset, dirty state, and controlled inputs correctly.
Emotion to Mantine Migration
Development
Migrate Emotion styled-components to Mantine components with style props and CSS modules. Use when converting .styled.tsx files or removing @emotion imports.
Scope Creep Detector
Development
Analyzes git diffs against a stated intent to detect scope creep, unrelated files, broad PRs, and oversized changes, then suggests keep, split, or justify actions.