mcpField
O
openspec-apply

openspec-apply

github.com/chyiiiiiiiiiiii開発1348 回インストール39 週間前に更新
リポジトリ

openspec-apply について

仕様駆動のワークフローで OpenSpec の変更提案を実装するスキルです。提案とタスクの確認から、段階的な実装、品質チェック、進捗更新、完了報告までコーディングエージェントを導きます。

主な機能

  1. 01提案、タスク、差分仕様の読み込み
  2. 02フェーズごとのタスク実装
  3. 03tasks.md での完了状況管理
  4. 04各フェーズ後の品質チェック
  5. 05ブロッカーとスコープ上の疑問の記録

活用シーン

  1. 01範囲が定まった OpenSpec 提案の実装
  2. 02タスクリストに沿った実装進捗の管理
  3. 03プロジェクトの品質ゲートによる変更検証

インストール

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

$npx skills add https://github.com/chyiiiiiiiiiiii/openspec-skills --skill openspec-apply

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

詳細

OpenSpec:適用

OpenSpec SDD ワークフローに従って、変更提案を実装します。

使用方法

/openspec-apply <change-id>

例:

/openspec-apply add-user-search

このスキルで行うこと

  1. 提案を読み、対象範囲を把握します
  2. tasks.md の手順に従って作業します
  3. 差分仕様に従って実装します
  4. 作業の進捗に合わせてタスクを完了済みにします
  5. 各フェーズの後に品質チェックを実行します

実行手順

ステップ 1:コンテキストの読み込み

次のファイルを順番に読みます。

  1. openspec/project.md - プロジェクトの規約
  2. openspec/changes/{change-id}/proposal.md - 変更内容と理由
  3. openspec/changes/{change-id}/tasks.md - 実装チェックリスト
  4. openspec/changes/{change-id}/specs/*.md - 差分仕様
ステップ 2:前提条件の確認

作業を始める前に、次を確認します。

git status          # Should be clean or on feature branch
# Run project's lint/analyze command

フィーチャーブランチにいない場合:

git checkout -b feature/{change-id}
ステップ 3:フェーズごとにタスクを実行

tasks.md の各フェーズについて、次の手順を実施します。

3.1 フェーズを開始する
  • todo リストで最初のタスクを進行中にします
  • 該当するコンポーネントの差分仕様を読みます
3.2 タスクを実装する
  • プロジェクトの CLAUDE.md にある既存のパターンに従います
  • 差分仕様の要件に沿ってコードを記述します
  • 新しい機能のテストを含めます
3.3 完了済みにする
  • tasks.md を更新します:- [ ] → - [x]
  • 重要な作業の場合は、完了メモを追加します
3.4 品質チェック

各フェーズの完了後に、プロジェクトの品質チェックを実行します。

# Example for Flutter projects:
# make format && make analyze && make run_unit_test

# Example for Node projects:
# npm run lint && npm test
ステップ 4:進捗の更新

各フェーズの後に、tasks.md を更新します。

## Phase 1: Foundation (Data Layer)

- [x] 1.1 Create search model ✓ 2024-01-15
- [x] 1.2 Add search to repository ✓ 2024-01-15
- [x] 1.3 Write unit tests ✓ 2024-01-15

**Quality Gate:** PASSED
ステップ 5:問題への対処

作業を妨げる問題が発生した場合:

  1. 該当タスクの下に、tasks.md で問題を記録します
  2. 必要に応じて ### Blockers セクションを追加します
  3. 作業を続ける前に確認を求めます
- [ ] 1.2 Add search to repository
  - **Blocker:** Unclear if fuzzy search should use DB or in-memory
  - **Options:** A) Database query, B) In-memory filtering
  - **Waiting for:** Decision from user
ステップ 6:完了確認

すべてのタスクが完了したら:

  1. すべてのチェックボックスが [x] になっていることを確認します
  2. 品質チェックをすべて実行します
  3. proposal.md のステータスを更新します。
    **Status:** Implementation Complete
    **Completed:** {YYYY-MM-DD}
    
ステップ 7:完了報告
## Implementation Complete: {change-id}

### Summary
- {Brief description of what was implemented}

### Files Changed
- `lib/feature/...` - {description}
- `test/...` - {description}

### Quality Verification
- [x] All tests passing
- [x] Lint/analyze clean
- [x] Documentation updated (if applicable)

### Next Step
Run `/openspec-archive {change-id}` to complete the workflow.

実装ルール

プロジェクトの規約に従う
  • プロジェクトの CLAUDE.md を読み、その指示に従います
  • 既存のパターンとスタイルを使用します
  • 命名規則に合わせます
品質を維持する
  • 実装しながらテストを記述します
  • 適切な例外の種類を使って、エラーを正しく処理します
  • コードをすっきりと読みやすく保ちます
対象範囲を守る
  • 差分仕様に記載された内容のみを実装します
  • 「あると便利」な機能を追加しません
  • 作業を続ける前に、対象範囲に関する疑問点を明確にします
変更を文書化する
  • 関連するドキュメントを更新します
  • 文字列を追加する場合は、ローカライズファイルを同期します
  • 新しいパターンを導入する場合は、プロジェクトのドキュメントを更新します

コメント