mcpField
F
feature-manifest

feature-manifest

github.com/curiositechDevelopment257171 installsUpdated 2d ago
Repository

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

  1. 01Create and inspect feature manifests
  2. 02Track implementation files and tests
  3. 03Record dependencies and environment variables
  4. 04Validate manifest accuracy
  5. 05Review feature health and orphaned files

Use cases

  1. 01Registering a newly implemented feature
  2. 02Updating a manifest after code changes
  3. 03Checking which feature owns a file
  4. 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-manifest

After installing, type/feature-manifestin Claude Code to confirm it loaded.

Bundled files.claude-plugin/plugin.json

Details

From the project README

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

  1. Create the manifest first:

    npm run feature:create -- --id=my-feature --name="My Feature"
    
  2. Implement the feature, adding files as you go

  3. 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
  4. Validate before committing:

    npm run feature:validate
    

Workflow: Modifying an Existing Feature

  1. Read the manifest first:

    npm run feature:info -- &lt;feature-id>
    
  2. Make your changes to the implementation files

  3. Update the manifest:

    • Add new files to implementation.files
    • Update history.last_modified to today's date
    • Add a changelog entry
  4. 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

  1. One feature per manifest - Keep them focused
  2. Update on every change - Don't let manifests go stale
  3. Changelog is append-only - Never modify old entries
  4. Include all files - Don't leave orphaned files
  5. Link dependencies - Show which features depend on others

Comments

Markdown supported