AgentSkillsCN

spec

基于规格驱动的开发流程。该流程以用户需求为起点,依次按照提问→初始化→规格制定→架构设计→实现→测试→评审的步骤推进开发工作。系统会根据项目规模自动选择轻量级(5 步)或标准级(10 步)的开发路径,并支持通过 progress.json 在开发过程中断点续传。当用户表示想要构建某项产品、实现某项功能、开展某项开发,或者希望新增某项功能时,可使用此流程。

SKILL.md
--- frontmatter
name: spec
description: 仕様駆動開発フロー。ユーザーの要求を受け取り、質問→初期化→仕様→アーキテクチャ設計→実装→テスト→レビューの順で開発を進める。規模に応じて軽量(5ステップ)または標準(10ステップ)を自動選択。progress.json で途中再開可能。ユーザーが何かを作りたい・実装したい・開発したい・機能を追加したいと言った場合に使用する。

仕様駆動開発フロー

ARGUMENTS からユーザーの要求テキストを取得し、以下のワークフローを実行する。

ワークフロー

以下の 4 フェーズで進行する。フェーズ番号はステップ番号とは別の概念。

フェーズ 1: ブランチ確認

bash
git branch --show-current
  • 開発ブランチ(feature/*, fix/*, chore/*, develop 等): そのまま続行する。
  • main / master: AskUserQuestion でユーザーに確認する。
    • 「新しいブランチを作成する」→ ブランチ名を決めて git checkout -b <branch> で作成し続行する。
    • 「このまま続行する」→ そのまま続行する。

フェーズ 2: 再開検出

check_progress.py を実行して進行状況を確認する。

bash
python3 .claude/skills/spec/scripts/check_progress.py

出力の status に応じて分岐する。

  • "no_projects": 新規プロジェクトとしてフェーズ 3(質問)から開始する。
  • "found" で 1 プロジェクト: そのプロジェクトの nameflowstep を表示し、ユーザーに「再開するか、新規プロジェクトを開始するか」を確認する。
  • "found" で複数プロジェクト: 各プロジェクトの nameflowstepupdatedAt を一覧表示し、ユーザーに再開対象を選択させる(「新規プロジェクトを開始する」選択肢も含める)。

再開する場合は、出力の flowstep からステップ番号を読み取り、該当ステップの参照ファイルから直接実行する(フェーズ 3 はスキップ)。

フェーズ 3: 質問と規模判定

question.md に従い、質問(Part A → 規模判定 → 必要に応じて Part B)を進める。規模判定の基準・手順の詳細は question.md を参照。質問フェーズ完了後、フェーズ 4 へ進む。

フェーズ 4: ステップ実行

ユーザーが承認したフローに従い、ステップを順に進める。

標準フロー(10ステップ)

#ステップ参照ファイル
1質問(Part A + Part B)question.md
2プロジェクト初期化init.md
3仕様策定spec.md
4アーキテクチャ設計architect.md
5タスク生成tasks.md
6テスト生成(TDD: テスト先行)test.md
7実装(テストをパスさせる)implement.md
8レビューreview.md
9ビルドbuild.md
10ドキュメントdocs.md

軽量フロー(5ステップ)

#ステップ参照ファイル
1質問(Part A のみ)question.md
2プロジェクト初期化init.md
3実装(インライン設計判断)implement.md
4テスト・ビルド(実装後テスト)test-build.md
5レビュー・ドキュメントreview-docs.md

ステップ実行ルール

  • MUST: 現在のステップの参照ファイルのみを読み込む。全参照ファイルの一括読み込みは NEVER。
  • MUST: ステップ開始時に progress.json を in_progress に更新する(更新ルール
  • progress.jsonflow で対応フローテーブルを、currentStep で対応参照ファイルを特定する
  • 参照ファイルの手順に従って実行し、完了後 progress.json を更新する(更新ルール
  • progress.json の整合性は手動で確認する
  • 次ステップの参照ファイルを読み込んで繰り返す

サブエージェント委任ルール

  • MUST: メインエージェント(spec フローを実行するエージェント)は Write/Edit ツールでファイルを編集しない
  • MUST: すべてのファイル編集は Task ツールでサブエージェントを起動して委任する
  • 許可される操作: Read、Glob、Grep、Bash(git 操作、スクリプト実行等)、progress.json の更新(これは例外として直接編集可)
  • 理由: メインエージェントは全体の進行管理に専念し、実装・修正・ドキュメント作成は専門エージェントに任せる