Skip to content
cccskills
FreePublished on GitHub

spec-test

仕様駆動設計。仕様書からクラス責務を分析し、純粋関数を特定、テストファーストで単体テストを設計する。既存Planに追記。

The English summary is being prepared. Showing the original description.

See how to install

Files included (2)

  • SKILL.md4.9 KB
  • scripts/analyze.sh7.4 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Spec-Driven Design (仕様駆動設計)

仕様書を受け取り、テストファーストでクラス設計と単体テストを設計し、既存のPlanドキュメントに自動追記するスキル。


自動実行フロー

このスキルが呼び出されたら、以下を自動で実行する:

1. 対象Planファイルを特定

  • 引数でPlanファイルのパスが指定されていればそれを使用
  • 指定がなければユーザーに確認

2. 仕様書を分析

引数で渡された仕様書(または直前の会話で提示された仕様)を分析し、以下を抽出:

  • ドメインモデル: Entity, Value Object, Domain Event
  • クラス設計: 責任、メソッド、依存関係
  • 純粋関数: バリデーション、変換、判定、選択、計算、構築
  • テストケース: 同値クラス、境界値、エラーケース

3. 既存Planに追記

分析結果をEditツールで既存Planファイルの末尾に追記する。

4. 完了報告

追記した内容のサマリーを報告。


追記フォーマット

以下のフォーマットでPlanファイルに追記する:

---

## 仕様駆動設計: <機能名>

### ドメインモデル

#### Entities

| Entity | 識別子 | 主要属性 | 振る舞い |
|--------|--------|---------|---------|
| <名前> | <ID> | <属性> | <メソッド> |

#### Value Objects

| VO | 属性 | 不変条件 |
|----|------|---------|
| <名前> | <属性> | <制約> |

#### Domain Events

| Event | トリガー | ペイロード |
|-------|---------|-----------|
| <名前> | <発火条件> | <データ> |

### クラス設計

#### 1. <ClassName>

**責任:** <単一責任を1文で>

| メソッド | 入力 | 出力 | 副作用 | 純粋? |
|---------|------|------|--------|-------|
| <名前> | <型> | <型> | <内容> | ✅/❌ |

**依存:** <インターフェース名>

### 純粋関数一覧 ⭐

| 関数 | カテゴリ | 入力 | 出力 | 場所 |
|------|---------|------|------|------|
| `<名前>` | <カテゴリ> | <型> | <型> | <ファイルパス> |

### 単体テスト設計 ⭐

#### 純粋関数テスト: `<関数名>`

| ID | カテゴリ | 入力 | 期待結果 | 説明 |
|----|---------|------|---------|------|
| EQ-01 | 同値 | <値> | <結果> | <説明> |
| BV-01 | 境界 | <値> | <結果> | <説明> |
| ERR-01 | エラー | <値> | <結果> | <説明> |

#### クラステスト: `<ClassName>`

| ID | メソッド | シナリオ | 事前条件 | 入力 | 期待結果 | モック |
|----|---------|---------|---------|------|---------|--------|
| C-01 | <メソッド> | <シナリオ> | <状態> | <値> | <結果> | <依存> |

**テスト観点:**
- 状態遷移: 初期状態 → メソッド実行 → 期待状態
- 不変条件: 常に満たすべき制約
- 境界条件: 状態の境界でのふるまい
- 異常系: 例外、エラーハンドリング

### 保守性チェック

#### SOLID原則
- [ ] S: 単一責任 - クラスの変更理由は1つか?
- [ ] O: 開放閉鎖 - 拡張に開き、修正に閉じているか?
- [ ] D: 依存性逆転 - 具象ではなく抽象に依存しているか?

#### テスタビリティ
- [ ] 依存は注入可能か?
- [ ] 副作用は分離されているか?
- [ ] 外部APIはインターフェース経由か?

### テストファースト実装順序

1. [ ] Layer 1: 純粋関数 + test
2. [ ] Layer 2: ドメインサービス + test
3. [ ] Layer 3: インフラ層

純粋関数カテゴリ

カテゴリプレフィックスシグネチャ
validationvalidate*, isValid*(input: T) => ValidationResult
formatformat*, truncate*, strip*(input: string) => string
parseparse*, extract*(input: string) => T | null
predicateis*, should*, can*, has*(input: T) => boolean
selectselect*, choose*, pick*(candidates: T[], criteria) => T
calculatecalculate*, compute*, count*(inputs: T) => number
buildbuild*, create*, make*(parts: P) => T

ヘルパースクリプト

scripts/analyze.sh で分析ワークフローやパターンを確認できる:

./scripts/analyze.sh --steps      # 分析ステップを表示
./scripts/analyze.sh --patterns   # 純粋関数パターンを表示
./scripts/analyze.sh --template   # 追記テンプレートを表示
./scripts/analyze.sh --all        # すべて表示

使用例

/spec-test <plan_file_path> <仕様の説明>

または仕様書を先に提示してから:

/spec-test <plan_file_path>

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

This skill should be used when the user asks to "create a team", "spawn agents", "parallel execution", "delegate tasks to agents", "use a swarm", "team workflow", "split work across agents", "run tasks in parallel", or mentions wanting multiple agents to collaborate on a complex task.

The English summary is being prepared. Showing the original description.

sean-sunagaku/claude-code-plugin38Updated Jul 30, 2026

Agent Teams スキルを設計・構築するためのベストプラクティスガイド。 サブエージェント定義、SendMessage 通信プロトコル、タスク依存管理、 PostToolUse Hook によるログ、MCP ツール統合、コンテキストファイル設計を網羅。 7つの実績あるチームスキル(app-naming, ui-review, logo-design, persona-creation, skill-creator-team, ui-variations, aso-optimize)から抽出したパターン集。 Use when: Agent Teams を使ったスキルを新規作成したい、 既存のチームスキルの品質を改善したい、エージェント間通信のデバッグ、 チームスキルの設計パターンを知りたい。 Triggers: "agent team", "チームスキル", "エージェントチーム", "サブエージェント定義", "SendMessage パターン", "チーム設計", "エージェント間通信", "team skill", "swarm pattern"

The English summary is being prepared. Showing the original description.

sean-sunagaku/claude-code-plugin38Updated Jul 30, 2026

アプリ名・サービス名の命名を、5つの専門エージェントチームで多角的に評価・決定するスキル。 ブランディング、商標/法的リスク、デジタルプレゼンス(SEO/ASO/SNS)、国際展開(多言語/発音)の 4観点から候補を提案・調査・議論し、コンテキストファイルと議事録で次回セッションへ引き継ぐ。 Use when: アプリ名を決めたい、サービス名を変更したい、プロダクト名を検討したい、 ネーミングブレスト、名前の商標チェック、アプリ名のリネーム。 Triggers: "アプリ名", "サービス名", "プロダクト名", "ネーミング", "名前を決め", "リネーム", "rename", "app name", "naming", "ブランド名", "商標チェック"

The English summary is being prepared. Showing the original description.

sean-sunagaku/claude-code-plugin38Updated Jul 30, 2026

App Store プレビュー動画を Remotion (React) で生成する Agent Team スキル。 video-director が構成を設計し、script-writer がナレーション台本を作成し、 motion-designer が Remotion コードを実装し、preview-reviewer がコードレビューし、 frame-inspector がレンダリング結果を目視検証する。 Use when: App Store プレビュー動画を作りたい、アプリのプロモーション動画を作りたい、 Remotion で動画を生成したい。 Triggers: "プレビュー動画", "App Store 動画", "アプリ動画", "preview movie", "Remotion", "動画作成", "app preview"

The English summary is being prepared. Showing the original description.

sean-sunagaku/claude-code-plugin38Updated Jul 30, 2026

アプリのトーン&マナー(トンマナ)を8名のエージェントチームで設計するスキル。 ブランドアーキタイプ・パーソナリティ定義から、カラー・タイポグラフィ・ビジュアルスタイル・ トーン・オブ・ボイスまでを一貫設計し、Pencil (.pen) + Markdown で成果物を出力する。 「デザインテンション」(矛盾ペア)を核に、AIっぽくない独自のブランドアイデンティティを生成する。

The English summary is being prepared. Showing the original description.

sean-sunagaku/claude-code-plugin38Updated Jul 30, 2026

仕様書・要件定義からソフトウェアアーキテクチャを設計するスキル。 5人の専門エージェント(Architecture Lead・Module Designer・Dependency Analyst・ Platform Expert・Devil's Advocate)が協議しながら、 モジュール分割・依存関係・データフロー・インターフェース設計を行う。 成果物は構造化されたアーキテクチャ設計書(Markdown)。 Use when: 仕様書からどう設計するか迷っている時、モジュール分割の方針を決めたい時、 技術スタックに合ったアーキテクチャパターンを選びたい時、 設計書を作成したい時。 Triggers: "アーキテクチャ設計", "arch design", "仕様書から設計", "モジュール分割", "設計書を作りたい", "アーキテクチャを考えて", "コンポーネント設計", "依存関係を設計", "どう設計する", "design the architecture", "design from spec"

The English summary is being prepared. Showing the original description.

sean-sunagaku/claude-code-plugin38Updated Jul 30, 2026

See all skills by sean-sunagaku

Report a problem with this skill