spec-workflowlisted
Install: claude install-skill aiskillstore/marketplace
# Spec-Driven Development Workflow Skill
仕様駆動開発(SDD)の**下流工程(実装)** を担当するスキルです。
EPIC → Story → Subtaskの3階層構造に基づいた開発を行います。
> **Note**: 仕様策定(上流工程)は `/spec` Skill で行います。
> 連携フロー: `/spec`(仕様策定)→ `spec-workflow`(実装)
## 発動条件
以下のキーワード・コンテキストで自動発動:
- 実装して、作成して、開発して
- 新機能実装
- Subtask開始、Story開始
- EPIC、Story、Subtaskへの言及
## 基本原則
### 1. 仕様ファースト(必須)
実装前に必ず以下を確認:
1. `specs/{epic-id}/{story-id}/{subtask-id}.md` を読み込む
2. ユーザーストーリーを確認
3. ACを理解
4. ユーザーに「このACで進めますか?」と確認
### 2. TDD厳守(必須)
```
🔴 Red : ACからテストケースを導出 → 失敗するテストを書く
🟢 Green : テストを通す最小限の実装
🔵 Refactor : テストを保ちながらコード改善
```
### EARS記法対応
ACがEARS記法で記述されている場合、テストケース導出を効率化:
```typescript
// EARS記法のAC例:
// WHEN ユーザーがログインを試行する際
// GIVEN 有効なメールとパスワードを入力した場合
// THEN システムはJWTトークンを発行する
// AND ダッシュボードにリダイレクトする
// テストケースへの変換:
describe('ログイン', () => {
it('有効な認証情報でJWTトークンが発行される', () => {
// GIVEN: 前提条件をセットアップ
const credentials = { email: 'valid@example.com', password: 'validPass' };
// WHEN: トリガーを実行
const result = login(credentials);
// THEN: 期待結果を検証
expect(result.token).toBeDefined();
});
it('成功時にダッシュボードへリダイレクトする', () => {
// AND条件のテスト
});
});
```
### 3. スコープ管理(必須)
- ACに記載のある機能のみ実装
- スコープ外は「提案のみ」で実装しない
- 不明点はユーザーに確認
## ワークフロー詳細
### Phase 1: Subtask開始時(必須フロー)
```typescript
// 1. Subtaskファイルを読み込む
const subtaskFile = await read(`specs/{epic-id}/{story-id}/{subtask-id}.md`)
// 2. ACを確認
const acceptanceCriteria = parseAC(subtaskFile)
// 3. ユーザーストーリーを確認
const userStory = parseUserStory(subtaskFil