| name | feature-manifest |
| description | 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:*) |
| metadata | {"category":"Productivity & Meta","tags":["feature-management","code-traceability","documentation"],"pairs-with":[{"skill":"git-workflow-expert","reason":"Feature branches map to manifest entries for tracking code-to-feature traceability"},{"skill":"technical-writer","reason":"Feature manifest documentation feeds into changelogs and release notes"},{"skill":"launch-readiness-auditor","reason":"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
npm run feature:info -- --list
npm run feature:info -- <feature-id>
npm run feature:info -- --files <filepath>
npm run feature:validate
npm run feature:health
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
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:
-
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