feature-manifest について
機能と実装ファイル、テスト、依存関係、変更履歴を結び付けるマニフェストを管理するスキルです。マニフェストの作成、更新、検証に使うコマンドと手順を提供します。
主な機能
- 01機能マニフェストの作成と確認
- 02実装ファイルとテストの追跡
- 03依存関係と環境変数の記録
- 04マニフェストの正確性を検証
- 05機能の状態と未追跡ファイルを確認
活用シーン
- 01新機能のマニフェスト登録
- 02コード変更後のマニフェスト更新
- 03ファイルの担当機能の確認
- 04古い記録や未追跡ファイルの発見
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ curiositech/ some_claude_skills --skill feature-manifestインストール後、Claude Code で/feature-manifestを入力して読み込まれたか確認します。
同梱ファイル.claude-plugin/plugin.json
詳細
機能マニフェストの管理
このスキルは、機能とその実装の関係を追跡する機能マニフェストシステムを扱う際に役立ちます。
このスキルを使用するタイミング
- 新しい機能を作成するとき
- 既存の機能コードを変更するとき
- あるファイルを担当する機能を確認するとき
- マニフェストの正確性を検証するとき
- 変更履歴を更新するとき
- 機能の健全性チェックを実行するとき
クイックコマンド
# 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
ワークフロー:新しい機能の作成
-
まずマニフェストを作成します:
npm run feature:create -- --id=my-feature --name="My Feature" -
**機能を実装し、**作業に合わせてファイルを追加します
-
マニフェストを更新します:
implementation.filesにすべての実装ファイルを追加します- テストを
tests.unit/integration/e2eに追加します - 依存関係を
dependencies.internal/externalに追加します - 環境変数を
dependencies.env_varsに追加します
-
コミット前に検証します:
npm run feature:validate
ワークフロー:既存の機能の変更
-
まずマニフェストを読みます:
npm run feature:info -- <feature-id> -
実装ファイルを変更します
-
マニフェストを更新します:
- 新しいファイルを
implementation.filesに追加します history.last_modifiedを今日の日付に更新します- 変更履歴の項目を追加します
- 新しいファイルを
-
検証します:
npm run feature:validate
マニフェストの構造
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"
健全性レポートの見方
npm run feature:health を実行すると、次の項目が表示されます。
- 健全な機能:マニフェストとコードが一致しており、テストも存在します
- 古い機能:マニフェストが90日以上更新されていない、またはマニフェストの更新後にコードが変更されています
- テストなし:完成しているものの、テストが記載されていない機能です
- 孤立したファイル:どのマニフェストにも追跡されていない
src/内のファイルです - マニフェストの候補:マニフェストを用意するべき新しいディレクトリです
ベストプラクティス
- 1つのマニフェストにつき1つの機能 - 対象を絞ります
- 変更のたびに更新する - マニフェストを古いままにしないようにします
- 変更履歴は追記のみ - 古い項目は変更しません
- すべてのファイルを含める - ファイルを孤立させないようにします
- 依存関係を明記する - どの機能がほかの機能に依存しているかを示します
コメント
Markdown 対応