mcpField
S
sparc-spec

sparc-spec

github.com/ruvnet開発80.0k732 回インストール今日更新
リポジトリ

sparc-spec について

sparc-specは、SPARCメソドロジーの仕様定義フェーズを担う開発スキルです。実装前に要件、テスト可能な受け入れ基準、制約、エッジケースを明確にし、フェーズ成果物をmemoryに記録します。

主な機能

  1. 01機能要件と非機能要件の収集
  2. 02Given/When/Then形式の基準定義
  3. 03プロジェクト制約の記録
  4. 04エッジケースと障害の整理
  5. 05仕様とフェーズ状態の保存
  6. 06ワークフロー進捗の記録

活用シーン

  1. 01コーディング開始前の機能仕様策定
  2. 02テスト可能な受け入れ基準の作成
  3. 03統合ポイントとデータ要件の記録
  4. 04追跡中のSPARC仕様フェーズの再開

MCP 対応

RufloのMCPツールを使って仕様状態を検索・保存し、既存パターンを調べ、ワークフローの軌跡ステップを記録します。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/ruvnet/ruflo --skill sparc-spec

インストール後、Claude Code で/sparc-specを入力して読み込まれたか確認します。

詳細

SPARC 仕様フェーズ

SPARC メソドロジーのフェーズ 1 を実行します。構築するものと、成功の測定方法を定義します。

使用するタイミング

コードを書く前に、体系的な要件の収集が必要となる新機能やプロジェクトを開始するときに使用します。このフェーズでは、後続のすべてのフェーズ(擬似コード、アーキテクチャ、改善、完了)の基盤となる仕様を作成します。

手順

  1. フェーズの追跡を開始する — メタデータ { "phase": "specification", "feature": "$ARGUMENTS" } を指定して mcp__plugin_ruflo-core_ruflo__hooks_intelligence_trajectory-start を呼び出します

  2. 以前の作業を確認する — 名前空間 sparc-state と機能に関するクエリを指定して mcp__plugin_ruflo-core_ruflo__memory_search を呼び出し、SPARC ワークフローがすでに存在するか確認します。存在する場合は、既存の成果物を取得します。存在しない場合は、フェーズ 1 の状態を初期化します。

  3. 類似パターンを検索する — 機能の説明を指定して mcp__plugin_ruflo-core_ruflo__neural_predict を呼び出し、関連する過去の仕様や学習済みのパターンを検索します

  4. 要件を収集する — 機能の説明とコードベースを分析し、以下を特定します。

    • 機能要件:機能が実行すべきこと(ユーザー向けの動作)
    • 非機能要件:パフォーマンス目標、セキュリティ制約、スケーラビリティの要件
    • 統合ポイント:影響を受ける既存のシステムや API
    • データ要件:作成、読み取り、更新、削除されるデータ
  5. 受け入れ基準を定義する — Given/When/Then 形式で、具体的かつテスト可能な受け入れ基準を少なくとも 3 つ記述します。

    AC-1: Given [precondition], when [action], then [expected result]
    AC-2: Given [precondition], when [action], then [expected result]
    AC-3: Given [precondition], when [action], then [expected result]
    
  6. 制約を特定する — 以下を文書化します。

    • パフォーマンス制約(レイテンシー、スループット、リソース制限)
    • セキュリティ制約(認証、認可、データの機密性)
    • 互換性制約(ブラウザーのサポート、API バージョン、後方互換性)
    • インフラストラクチャ制約(デプロイ環境、依存関係)
  7. エッジケースを整理する — 少なくとも 3 つのエッジケースまたは障害シナリオを列挙します。

    • 無効な入力の場合、どうなりますか?
    • 同時アクセス時、どうなりますか?
    • 外部依存関係に障害が発生した場合、どうなりますか?
  8. 仕様を保存する — 以下を指定して mcp__plugin_ruflo-core_ruflo__memory_store を呼び出します。

    • 名前空間:sparc-phases
    • キー:spec-{feature-slug}
    • 値:{ status: "complete", requirements, acceptanceCriteria, constraints, edgeCases, integrationPoints } を含む JSON
  9. フェーズの状態を更新する — 以下を指定して mcp__plugin_ruflo-core_ruflo__memory_store を呼び出します。

    • 名前空間:sparc-state
    • キー:current-phase-{feature-slug}
    • 値:仕様キーを含む成果物リストで更新した状態
  10. 軌跡のステップを記録する — 仕様の概要を指定して mcp__plugin_ruflo-core_ruflo__hooks_intelligence_trajectory-step を呼び出します

  11. 仕様を提示する — 概要テーブルを含む仕様書全体をユーザーに表示し、/sparc advance を実行してゲートを通過し、擬似コードフェーズに進むことを提案します

出力形式

# Specification: {Feature Name}

## Requirements
### Functional
- FR-1: ...
- FR-2: ...

### Non-Functional
- NFR-1: ...

## Acceptance Criteria
- AC-1: Given ..., when ..., then ...
- AC-2: Given ..., when ..., then ...
- AC-3: Given ..., when ..., then ...

## Constraints
- Performance: ...
- Security: ...
- Compatibility: ...

## Edge Cases
- EC-1: ...
- EC-2: ...
- EC-3: ...

## Integration Points
- IP-1: ...

---
Phase 1 complete. Run `/sparc advance` to pass the gate check.

コメント