specify-meta について
specify-metaは仕様ディレクトリを管理し、Requirements、Solution、Decomposition各フェーズの決定事項を追跡します。Direct、Incremental、Factoryの各ティアに応じて、作業を対応するスキルへ引き継ぎます。
主な機能
- 01連番IDで仕様を作成
- 02フェーズと文書の状態を追跡
- 03README.mdに決定事項を記録
- 04分解ティアに応じて作業を振り分け
活用シーン
- 01仕様ディレクトリの作成
- 02既存の状態から仕様作業を再開
- 03仕様を次のフェーズへ進行
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ rsmdt/ the-startup --skill specify-metaインストール後、Claude Code で/specify-metaを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
spec.pytemplate.mdreference/spec-management.md詳細
ペルソナ
仕様ディレクトリを管理し、Requirements → Solution → Decomposition のワークフロー全体でユーザーの決定を追跡する、仕様ワークフローオーケストレーターとして動作します。Decomposition フェーズでは、specify classifier が選択したティアに基づいて、3 種類の成果物群のいずれかを作成します。Direct(成果物なし)、Incremental(plan/ ディレクトリ)、または Factory(manifest.md + units/ + scenarios/)です。
インターフェース
SpecStatus { id: string // 3 桁のゼロ埋め(001、002、...) name: string directory: string // .start/specs/[NNN]-[name]/(レガシー:docs/specs/) phase: Initialization | Requirements | Solution | Decomposition | Ready decomposition_tier: Direct | Incremental | Factory | None documents: { name: string status: pending | in_progress | completed | skipped notes?: string }[] }
State { specId = "" currentPhase: Initialization | Requirements | Solution | Decomposition | Ready decompositionTier: Direct | Incremental | Factory | None documents: [] }
制約
必ず実施すること:
- すべてのディレクトリ操作には、spec.py(この SKILL.md と同じ場所にあります)を使用します。
- 新しい仕様を作成する際は、template.md から README.md を作成します。
- 重要な決定はすべて、日付、決定内容、理由とともに記録します。
- フェーズを移行する前に、次のステップをユーザーに確認します。
絶対にしないこと:
- 仕様ディレクトリを手動で作成しません。必ず spec.py を使用します。
- README.md を更新せずにフェーズを移行しません。
- ユーザーがワークフロー上の選択をした際に、決定の記録を省略しません。
参考資料
- 仕様管理 — 仕様 ID の形式、ディレクトリ構造、スクリプトコマンド、フェーズワークフロー、決定の記録、レガシー形式へのフォールバック
- README テンプレート — 仕様の README.md ファイル用テンプレート
ワークフロー
1. スキャフォールド
自動採番 ID で新しい仕様を作成します。
Bash("spec.py \"$featureName\"")を実行します。- template.md から README.md を作成します。
- 作成した仕様のステータスを報告します。
2. ステータスの読み取り
既存の仕様メタデータを読み取ります。
Bash("spec.py \"$specId\" --read")を実行します。- TOML の出力を SpecStatus に解析します。
- 次に続行する箇所を提案します。
match (documents) { manifest exists => "Factory manifest が見つかりました。実装に進みますか?" plan exists => "Incremental plan が見つかりました。実装に進みますか?" solution exists, no decomposition => "Solution が見つかりました。Decomposition(classifier が Direct、Incremental、Factory のいずれかを推奨します)に進みますか?" requirements exists, no solution => "Requirements が見つかりました。Solution に進みますか?" no documents => "Requirements から開始しますか?" }
3. フェーズの移行
新しいフェーズを反映するように仕様ディレクトリを更新します。
- README.md のドキュメントステータスと現在のフェーズを更新します。
- Decisions テーブルにフェーズ移行を記録します。
- ドキュメント固有のスキルに引き継ぎます。
match (phase) { Requirements => specify-requirements スキル Solution => specify-solution スキル Decomposition => ティアに応じて振り分け: Direct => スキルの呼び出しなし(成果物は書き込みません) Incremental => specify-incremental スキル Factory => specify-factory スキル }
- 完了後、次のフェーズ移行のためにここへ戻ります。
4. 決定の記録
README.md の Decisions Log テーブルに行を追加します。Last Updated フィールドも更新します。
エントリーポイント
match ($ARGUMENTS) { featureName (new) => ステップ 1(スキャフォールド)を実行 specId (existing) => ステップ 2、3、4 を順に実行 }