mcpbeat

Feature Manifest

curiositech/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.

1k tokens
context cost
the whole folder, loaded on every use
1
files
instructions only
0
copies elsewhere
how many repositories repackaged it
177
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/curiositech/some_claude_skills --skill feature-manifest

The instruction itself

8 sections, as written by the author

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
  • Validate before committing:
   npm run feature:validate

Workflow: Modifying an Existing Feature

  • Read the manifest first:
   npm run feature:info -- &lt;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

How to use it

Copy the folder

Take curiositech/feature-manifest from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.