About feature-manifest
A skill for maintaining feature manifests that link software features to their implementation files, tests, dependencies, and change history. It provides commands and workflows for creating, updating, and validating manifests.
Key features
- 01Create and inspect feature manifests
- 02Track implementation files and tests
- 03Record dependencies and environment variables
- 04Validate manifest accuracy
- 05Review feature health and orphaned files
Use cases
- 01Registering a newly implemented feature
- 02Updating a manifest after code changes
- 03Checking which feature owns a file
- 04Finding stale or untracked feature files
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ curiositech/ some_claude_skills --skill feature-manifestAfter installing, type/feature-manifestin Claude Code to confirm it loaded.
Bundled files.claude-plugin/plugin.json
Details
From the project READMEFeature 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