openspec-apply について
仕様駆動のワークフローで OpenSpec の変更提案を実装するスキルです。提案とタスクの確認から、段階的な実装、品質チェック、進捗更新、完了報告までコーディングエージェントを導きます。
主な機能
- 01提案、タスク、差分仕様の読み込み
- 02フェーズごとのタスク実装
- 03tasks.md での完了状況管理
- 04各フェーズ後の品質チェック
- 05ブロッカーとスコープ上の疑問の記録
活用シーン
- 01範囲が定まった OpenSpec 提案の実装
- 02タスクリストに沿った実装進捗の管理
- 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
このスキルで行うこと
- 提案を読み、対象範囲を把握します
- tasks.md の手順に従って作業します
- 差分仕様に従って実装します
- 作業の進捗に合わせてタスクを完了済みにします
- 各フェーズの後に品質チェックを実行します
実行手順
ステップ 1:コンテキストの読み込み
次のファイルを順番に読みます。
openspec/project.md- プロジェクトの規約openspec/changes/{change-id}/proposal.md- 変更内容と理由openspec/changes/{change-id}/tasks.md- 実装チェックリスト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:問題への対処
作業を妨げる問題が発生した場合:
- 該当タスクの下に、tasks.md で問題を記録します
- 必要に応じて
### Blockersセクションを追加します - 作業を続ける前に確認を求めます
- [ ] 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:完了確認
すべてのタスクが完了したら:
- すべてのチェックボックスが
[x]になっていることを確認します - 品質チェックをすべて実行します
- 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 を読み、その指示に従います
- 既存のパターンとスタイルを使用します
- 命名規則に合わせます
品質を維持する
- 実装しながらテストを記述します
- 適切な例外の種類を使って、エラーを正しく処理します
- コードをすっきりと読みやすく保ちます
対象範囲を守る
- 差分仕様に記載された内容のみを実装します
- 「あると便利」な機能を追加しません
- 作業を続ける前に、対象範囲に関する疑問点を明確にします
変更を文書化する
- 関連するドキュメントを更新します
- 文字列を追加する場合は、ローカライズファイルを同期します
- 新しいパターンを導入する場合は、プロジェクトのドキュメントを更新します
コメント
Markdown 対応