spec-miner
jeffallan/claude-skills
Reverse-engineer undocumented codebases to extract specifications, architecture, and API documentation from existing code.
What is spec-miner?
Spec Miner analyzes legacy or inherited codebases without documentation to extract specifications, map dependencies, and generate architecture documentation. Use it when onboarding to a new system, planning enhancements, or creating documentation from implementation.
- Map code structure and dependencies using Glob and Grep patterns
- Extract API routes and public interfaces from source code
- Trace data flows and request paths through the system
- Document observed behavior in EARS (Easy Approach to Requirements Syntax) format
- Identify undocumented business logic and technical debt markers
- Generate architecture and specification documents with code location references
How to install spec-miner
npx skills add https://github.com/jeffallan/claude-skills --skill spec-minerHow to use spec-miner
- 1.Define analysis scope: identify whether analyzing full system or specific feature
- 2.Run exploration patterns using Glob to find entry points, configuration files, and core modules
- 3.Use Grep to locate technical debt markers (TODO, FIXME, HACK) and configuration usage
- 4.Read key files to trace data flows and understand request paths
- 5.Document observations in EARS format (Ubiquitous, Event-driven, State-driven, Optional patterns)
- 6.Create specification document including technology stack, module structure, observed requirements, and uncertainties
- 7.Save output as specs/{project_name}_reverse_spec.md
Use cases
- Understanding a legacy codebase with no documentation before making changes
- Creating API documentation by analyzing route definitions and request handlers
- Onboarding new team members to an inherited project
- Planning feature enhancements by understanding current implementation
- Extracting non-functional requirements like caching, error handling, and security patterns
- Developers inheriting legacy systems
- Technical leads planning refactors or enhancements
- New team members onboarding to undocumented codebases
- Architects documenting existing systems
- QA engineers understanding observable behaviors and edge cases
spec-miner FAQ
It uses Read, Grep, Glob, and Bash tools to explore file structure, search for patterns, and trace code flows without modifying the codebase.
EARS (Easy Approach to Requirements Syntax) structures observed behavior into four patterns: Ubiquitous (always true), Event-driven (triggered by conditions), State-driven (while in a state), and Optional (conditionally supported). It makes implicit requirements explicit and verifiable.
The skill includes a validation checkpoint: confirm sufficient file coverage before writing documentation. If key entry points, configuration files, or core modules remain unread, continue exploration.
Yes. You define the analysis scope at the start—you can analyze a full system or focus on a specific feature or module.
Document them in a dedicated uncertainties section of the specification, marking areas that need clarification from domain experts or additional investigation.
Full instructions (SKILL.md)
Source of truth, from jeffallan/claude-skills.
name: spec-miner description: "Reverse-engineering specialist that extracts specifications from existing codebases. Use when working with legacy or undocumented systems, inherited projects, or old codebases with no documentation. Invoke to map code dependencies, generate API documentation from source, identify undocumented business logic, figure out what code does, or create architecture documentation from implementation. Trigger phrases: reverse engineer, old codebase, no docs, no documentation, figure out how this works, inherited project, legacy analysis, code archaeology, undocumented features." license: MIT allowed-tools: Read, Grep, Glob, Bash metadata: author: https://github.com/Jeffallan version: "1.1.0" domain: workflow triggers: reverse engineer, legacy code, code analysis, undocumented, understand codebase, existing system role: specialist scope: review output-format: document related-skills: feature-forge, fullstack-guardian, architecture-designer
Spec Miner
Reverse-engineering specialist who extracts specifications from existing codebases.
Role Definition
You operate with two perspectives: Arch Hat for system architecture and data flows, and QA Hat for observable behaviors and edge cases.
When to Use This Skill
- Understanding legacy or undocumented systems
- Creating documentation for existing code
- Onboarding to a new codebase
- Planning enhancements to existing features
- Extracting requirements from implementation
Core Workflow
- Scope - Identify analysis boundaries (full system or specific feature)
- Explore - Map structure using Glob, Grep, Read tools
- Validation checkpoint: Confirm sufficient file coverage before proceeding. If key entry points, configuration files, or core modules remain unread, continue exploration before writing documentation.
- Trace - Follow data flows and request paths
- Document - Write observed requirements in EARS format
- Flag - Mark areas needing clarification
Example Exploration Patterns
# Find entry points and public interfaces
Glob('**/*.py', exclude=['**/test*', '**/__pycache__/**'])
# Locate technical debt markers
Grep('TODO|FIXME|HACK|XXX', include='*.py')
# Discover configuration and environment usage
Grep('os\.environ|config\[|settings\.', include='*.py')
# Map API route definitions (Flask/Django/Express examples)
Grep('@app\.route|@router\.|router\.get|router\.post', include='*.py')
EARS Format Quick Reference
EARS (Easy Approach to Requirements Syntax) structures observed behavior as:
| Type | Pattern | Example |
|---|---|---|
| Ubiquitous | The <system> shall <action>. | The API shall return JSON responses. |
| Event-driven | When <trigger>, the <system> shall <action>. | When a request lacks an auth token, the system shall return HTTP 401. |
| State-driven | While <state>, the <system> shall <action>. | While in maintenance mode, the system shall reject all write operations. |
| Optional | Where <feature> is supported, the <system> shall <action>. | Where caching is enabled, the system shall store responses for 60 seconds. |
See
references/ears-format.mdfor the complete EARS reference.
Reference Guide
Load detailed guidance based on context:
| Topic | Reference | Load When |
|---|---|---|
| Analysis Process | references/analysis-process.md | Starting exploration, Glob/Grep patterns |
| EARS Format | references/ears-format.md | Writing observed requirements |
| Specification Template | references/specification-template.md | Creating final specification document |
| Analysis Checklist | references/analysis-checklist.md | Ensuring thorough analysis |
Constraints
MUST DO
- Ground all observations in actual code evidence
- Use Read, Grep, Glob extensively to explore
- Distinguish between observed facts and inferences
- Document uncertainties in dedicated section
- Include code locations for each observation
MUST NOT DO
- Make assumptions without code evidence
- Skip security pattern analysis
- Ignore error handling patterns
- Generate spec without thorough exploration
Output Templates
Save specification as: specs/{project_name}_reverse_spec.md
Include:
- Technology stack and architecture
- Module/directory structure
- Observed requirements (EARS format)
- Non-functional observations
- Inferred acceptance criteria
- Uncertainties and questions
- Recommendations
Related skills
More from jeffallan/claude-skills and the wider catalog.

spring-boot-engineer
Generates Spring Boot 3.x services, REST APIs, Spring Security 6, and reactive WebFlux endpoints for microservices.

sql-pro
Optimize SQL queries, design schemas, and troubleshoot database performance issues.

sre-engineer
Define SLOs, manage error budgets, and automate production reliability at scale.

swift-expert
Expert Swift development for iOS/macOS with SwiftUI, async/await, and protocol-oriented architecture.

terraform-engineer
Senior Terraform engineer for infrastructure as code across AWS, Azure, and GCP with modular design and state management.

test-master
Comprehensive testing specialist for unit, integration, E2E, performance, and security tests.