List Features (Recreation Spec)
Use this skill to extract a complete, technically precise blueprint of the application, formatted as a series of prompts that could be used to rebuild the app from scratch.
Inputs
- Project Scope: The root directory of the application to analyze.
- Output File:
features_listed.md (default).
Tooling Strategy
- Use
list_dir to map the project structure.
- Use
view_file to inspect README.md, CODE_DOCUMENTATION.md (if available), and key source files (entry points, controllers, UI components).
- Use
write_to_file to generate the final Markdown report.
Workflow
1. Analysis (Deep Scan)
- Objective: Understand exactly what the app does, not just how it's written.
- Sources:
- Documentation (
README.md, DESIGN_PHILOSOPHY.md).
- Configuration (
package.json, requirements.txt) to identify tech stack implications.
- Source Code: Look for routes, UI components, state management, and database schemas.
2. Feature Extration & Prompt Generation
For every identified feature, convert it into a Technical Prompt.
- Format: "Implement [Feature Name] using [Input/Constraint]. The system must [Action] when [Trigger]."
- Precision: Use standard technical jargon (e.g., "JWT Authentication", "Responsive Grid Layout", "RESTful Endpoint", "WebSocket Stream").
- Completeness: If a button exists, the feature is "Clickable Button that triggers X". If a background task runs, the feature is "Background Cron Job for X".
3. Report Structuring (features_listed.md)
Create a file that looks like a specification document for an AI or Developer:
Structure:
- Core Architecture: High-level stack agnostic requirements (e.g., "Client-Server Architecture").
- User Interface (UI): Detailed prompts for every page/component (e.g., "Create a dashboard with glassmorphism...").
- Business Logic & Functional Requirements: (e.g., "Calculate tax based on...").
- Data Persistence: (e.g., "Schema must support...").
- API & Integration: (e.g., "Expose GET /api/v1/users...").
4. Verification
- The "Rebuild Test": Ask yourself: "If I gave this file to a stranger, could they build the exact same app without seeing the code?"
- Ensure no hidden features (middleware, schedulers) are missed.
5. Final Output
- Save the file to
features_listed.md in the project root.
Advanced Feature Extraction (Recreation Standards)
When extracting features, ensure you also capture the underlying mechanics:
- Domain Modeling: Extract the core data entities and their relationships (e.g., "User has many Orders, Order has many Items").
- Third-Party Dependencies: Explicitly call out if a feature relies on an external API or specific SDK (e.g., "Payment processing via Stripe API").
- State Management: Note how global state or complex UI states are handled, as this drastically changes how the app is rebuilt.
1---2name: list-features3description: Scans the codebase to generate a comprehensive, prompt-based feature list in 'features_listed.md' for recreating the app in any language.4---56# List Features (Recreation Spec)78Use this skill to extract a complete, technically precise blueprint of the application, formatted as a series of prompts that could be used to rebuild the app from scratch.910## Inputs11* **Project Scope**: The root directory of the application to analyze.12* **Output File**: `features_listed.md` (default).1314## Tooling Strategy15* Use `list_dir` to map the project structure.16* Use `view_file` to inspect `README.md`, `CODE_DOCUMENTATION.md` (if available), and key source files (entry points, controllers, UI components).17* Use `write_to_file` to generate the final Markdown report.1819## Workflow2021### 1. Analysis (Deep Scan)22* **Objective**: Understand *exactly* what the app does, not just how it's written.23* **Sources**:24 * Documentation (`README.md`, `DESIGN_PHILOSOPHY.md`).25 * Configuration (`package.json`, `requirements.txt`) to identify tech stack implications.26 * Source Code: Look for routes, UI components, state management, and database schemas.2728### 2. Feature Extration & Prompt Generation29For every identified feature, convert it into a **Technical Prompt**.30* **Format**: "Implement [Feature Name] using [Input/Constraint]. The system must [Action] when [Trigger]."31* **Precision**: Use standard technical jargon (e.g., "JWT Authentication", "Responsive Grid Layout", "RESTful Endpoint", "WebSocket Stream").32* **Completeness**: If a button exists, the feature is "Clickable Button that triggers X". If a background task runs, the feature is "Background Cron Job for X".3334### 3. Report Structuring (`features_listed.md`)35Create a file that looks like a specification document for an AI or Developer:3637**Structure**:381. **Core Architecture**: High-level stack agnostic requirements (e.g., "Client-Server Architecture").392. **User Interface (UI)**: Detailed prompts for every page/component (e.g., "Create a dashboard with glassmorphism...").403. **Business Logic & Functional Requirements**: (e.g., "Calculate tax based on...").414. **Data Persistence**: (e.g., "Schema must support...").425. **API & Integration**: (e.g., "Expose GET /api/v1/users...").4344### 4. Verification45* **The "Rebuild Test"**: Ask yourself: "If I gave this file to a stranger, could they build the *exact* same app without seeing the code?"46* Ensure no hidden features (middleware, schedulers) are missed.4748### 5. Final Output49* Save the file to `features_listed.md` in the project root.5051## Advanced Feature Extraction (Recreation Standards)52When extracting features, ensure you also capture the underlying mechanics:53* **Domain Modeling**: Extract the core data entities and their relationships (e.g., "User has many Orders, Order has many Items").54* **Third-Party Dependencies**: Explicitly call out if a feature relies on an external API or specific SDK (e.g., "Payment processing via Stripe API").55* **State Management**: Note how global state or complex UI states are handled, as this drastically changes how the app is rebuilt.