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 --
Find which feature owns a file
npm run feature:info -- --files
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
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_modified to today's date Add a changelog entry
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