🚀 Feature Manifest
Manage feature manifests for code traceability — create features, validate manifest health, map features to code, update changelogs. Activates for 'feature manifest', 'feature tracking', 'code traceability'. NOT for project management, issue tracking, or git workflow.
Allowed Tools
Read, Write, Edit, Bash(npm:*, npx:*)
Tags
feature-management code-traceability documentation
🤝 Pairs Great With
- Git Workflow Expert: Feature branches map to manifest entries for tracking code-to-feature traceability
- Technical Writer: Feature manifest documentation feeds into changelogs and release notes
- Launch Readiness Auditor: Feature manifests provide the checklist for launch readiness feature completeness
Feature Manifest Management
This skill helps you work with the feature manifest system that tracks the relationship between features and their implementations.
When to Use This Skill
- Creating a new feature
- Modifying existing feature code
- Checking which feature owns a file
- Validating manifest accuracy
- Updating changelogs
- Running feature health checks
Quick Commands
# List all features
npm run feature:info -- --list
# Get details about a feature
npm run feature:info -- <feature-id>
# Find which feature owns a file
npm run feature:info -- --files <filepath>
# Validate all manifests
npm run feature:validate
# Check feature health (staleness, orphans, coverage)
npm run feature:health
# Create a new feature manifest
npm run feature:create
Workflow: Creating a New Feature
-
Create the manifest first:
npm run feature:create -- --id=my-feature --name="My Feature" -
Implement the feature, adding files as you go
-
Update the manifest with:
- All implementation files in
implementation.files - Tests in
tests.unit/integration/e2e - Dependencies in
dependencies.internal/external - Environment variables in
dependencies.env_vars
- All implementation files in
-
Validate before committing:
npm run feature:validate
Workflow: Modifying an Existing Feature
-
Read the manifest first:
npm run feature:info -- <feature-id> -
Make your changes to the implementation files
-
Update the manifest:
- Add new files to
implementation.files - Update
history.last_modifiedto today's date - Add a changelog entry
- Add new files to
-
Validate:
npm run feature:validate
Manifest Structure
id: feature-id
name: Human Readable Name
status: complete # planned | in-progress | complete | deprecated
priority: P1
description: |
What this feature does and why it exists.
implementation:
files:
- src/app/api/feature/route.ts
- src/lib/feature.ts
entry_point: src/lib/feature.ts
database_tables:
- tableName
api_routes:
- POST /api/feature
tests:
unit:
- src/lib/__tests__/feature.test.ts
integration: []
e2e: []
dependencies:
internal:
- features/authentication.yaml
external:
- package-name
env_vars:
- FEATURE_SECRET
secrets:
- feature-api-key
history:
created: "2024-12-01"
last_modified: "2024-12-23"
changelog:
- version: "1.0.0"
date: "2024-12-23"
changes:
- "Initial implementation"
Health Report Interpretation
When running npm run feature:health:
- Healthy Features: Manifest matches code, tests exist
- Stale Features: Manifest not updated in 90+ days, or code changed after manifest
- Without Tests: Complete features that have no tests listed
- Orphaned Files: Files in
src/not tracked by any manifest - Suggested Manifests: New directories that should have manifests
Best Practices
- One feature per manifest - Keep them focused
- Update on every change - Don't let manifests go stale
- Changelog is append-only - Never modify old entries
- Include all files - Don't leave orphaned files
- Link dependencies - Show which features depend on others