Our review
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
Examples
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)
Next.js App Router Expert
Development
A skill that turns Claude into a Next.js App Router expert.
README Generator
Development
Creates professional and comprehensive README.md files for your projects.
API Documentation Writer
Development
Generates comprehensive API documentation in OpenAPI/Swagger format.