yodogawa
v2.1.3
Published
CLI to install Yodogawa Slash Commands workflows
Downloads
309
Maintainers
Readme
Yodogawa
🌟 AIネイティブIDE向けの仕様駆動開発スキル集
概要
Yodogawaは、プロダクトマネージャーや開発者がステークホルダーと合意できる高品質なドキュメントを作成・維持するための仕様駆動開発スキル集です。
生成AIを使ったコーディングでは、コンテキスト(文脈)がすべてです。
AIに「何を作りたいのか」を正確に伝えるには、チーム全体で合意された詳細なドキュメントが欠かせません。
Yodogawaは、このドキュメント作成プロセスを標準化し、AIエージェントが理解しやすい形式で仕様・設計・タスクを管理できるようにします。
スキルの仕組み
各スキルは skills/{name}/SKILL.md という形式で定義されています。SKILL.md はYAML frontmatterに name(識別子)と description(AIが呼び出すトリガー)を持ち、手順・完了条件・エスカレーション指針を記述したMarkdownドキュメントです。
skills/
├── a-001-setup-doc-structure/
│ └── SKILL.md
├── a-002-initialize-project/
│ └── SKILL.md
└── ...インストール後、各IDEはスキルを自動的に認識し、AIエージェントが呼び出せるようになります。
対応環境
以下のAIネイティブIDE・コードエディタで使用できます。すべて Claude Code が策定したSKILL.md標準に収束しているため、2つのディレクトリのいずれかに配置するだけで動作します:
| IDE / エディタ | スキルの場所 | 呼び出し方 |
| :-------------- | :-------------------------------------------------- | :---------------------- |
| Claude Code | .claude/skills/{name}/SKILL.md | /a-001 などで呼び出し |
| Cursor | .agents/skills/{name}/SKILL.md | /a-001 などで呼び出し |
| Codex | .agents/skills/{name}/SKILL.md | /a-001 などで呼び出し |
| Antigravity | .agents/skills/{name}/SKILL.md | /a-001 などで呼び出し |
背景
生成AI時代の開発課題
Copilot、Claude、GPTなど、生成AIを使ってコードを書く時代になりました。
しかし、AIは万能ではありません。良いコードを生成するには、良いコンテキストが必要です。
🎯 「何を作りたいのか」が曖昧だと、AIも曖昧な答えしか返せない。
チーム開発では、以下のポイントが重要になります:
- 📝 非開発者(PM、デザイナー)と開発者が同じドキュメントを見て合意できること
- 🔗 ドキュメントがリポジトリ内にあること → AIがコンテキストとして参照できる
- 🔄 ドキュメントとコードが同期していること → 陳腐化しない
既存ツールの課題
多くのSpec Driven Developmentツールが存在しますが、それぞれに課題があります:
| 課題 | 詳細 | | :--------------------------- | :------------------------------------------------- | | タスク単位でバラバラ | タスクごとにドキュメントが分散し、全体像が見えない | | ドキュメントが薄い・曖昧 | API仕様やDBスキーマまで踏み込んでいない | | リポジトリ外で管理 | Notion、Confluenceなどに分散し、AIが参照できない |
Yodogawaのアプローチ
Yodogawaは、「なぜ作るのか?」から「どう作るか?」までを一貫して文書化します:
Why? ─── What? ─── How?
│ │ │
▼ ▼ ▼
目的 ユーザー API仕様
課題 ストーリー DBスキーマ
スコープ シナリオ アーキテクチャメリット:
- ✅ すべてリポジトリ内で管理 → AIのコンテキストとして最適
- ✅ 非開発者と開発者が同じドキュメントを参照できる
- ✅ 設計から実装まで一貫性を保てる
デメリット:
- ⚠️ 他のツールよりドキュメント作成に時間がかかる
- ⚠️ 小規模・短期プロジェクトにはオーバースペックな場合がある
💡 Yodogawaは「急がば回れ」の思想です。
最初に時間をかけて仕様を固めることで、後工程のやり直しを減らせます。
解決できる課題
| 課題 | Yodogawaの解決策 | | :---------------------------------- | :-------------------------------------------------- | | 📝 仕様が曖昧なまま実装が始まる | A-Seriesで要件・設計を事前に文書化 | | 🔄 人によって成果物の品質がバラつく | 構造化されたワークフローで標準化 | | 📚 ドキュメントがすぐ陳腐化する | C-002で実装後にドキュメントを自動更新 | | 🐛 設計と実装が乖離する | B-005レビュー & A-014設計レビューで整合性をチェック | | 🤖 AIに何を頼めばいいか分からない | 事前定義されたワークフローに従うだけ |
スキル一覧
開発ライフサイクルに沿って、3つのシリーズを提供しています。
A-Series:プロジェクト設計
プロジェクトの立ち上げや、大規模な設計変更時に使用
| # | コマンド | 名前 | 説明 |
| :-: | :------- | :------------------------ | :------------------------------------------------- |
| 1 | /a-001 | Setup Doc Structure | ドキュメント構造をセットアップ |
| 2 | /a-002 | Initialize Project | プロジェクトの目的・課題・スコープを定義 |
| 3 | /a-003 | Create Scenarios | ユーザーストーリーをBDD(Gherkin)シナリオに変換 |
| 4 | /a-004 | Define Domain Model | Event Stormingでドメインモデルを定義 |
| 5 | /a-005 | Create Domain Diagram | ドメインモデルを図解(コンテキスト境界・集約) |
| 6 | /a-006 | Review Req & Domain | ⚠️ 要件とドメインモデルの整合性をレビュー |
| 7 | /a-007 | Define Tech Stack | 技術スタック(言語・FW・DB)を選定 |
| 8 | /a-008 | Define Repo Structure | リポジトリのディレクトリ構成を定義 |
| 9 | /a-009 | Define Screen Design | 画面遷移・UIコンポーネント・Empty Stateを設計 |
| 10 | /a-010 | Define Design System | デザインシステム(カラー、タイポグラフィ等)を定義 |
| 11 | /a-011 | Define Data Model | データベーススキーマ・ER図を設計 |
| 12 | /a-012 | Define API Spec | APIエンドポイント・リクエスト/レスポンスを定義 |
| 13 | /a-013 | Define Architecture | アーキテクチャ決定記録(ADR)を作成 |
| 14 | /a-014 | Define Infrastructure | インフラ構成・非機能要件(RPO/RTO)を定義 |
| 15 | /a-015 | Review Design | ⚠️ 全体設計の一貫性をレビュー |
⚠️ マークのスキルは必ず実施してください。
B-Series:タスク管理
機能開発タスクを定義し、実装可能なレベルまで詳細化
| # | コマンド | 名前 | 説明 |
| :-: | :------- | :---------------------- | :------------------------------------------------------------- |
| 1 | /b-001 | Create Task Dir | docs/tasks/taskNNN ディレクトリを作成し、テンプレートを配置 |
| 2 | /b-002 | Task Definition | タスクの目的・ユーザーストーリー・受け入れ基準を定義 |
| 3 | /b-003 | Task Research | 実装に必要な調査(既存コード・ライブラリ・ベストプラクティス) |
| 4 | /b-004 | Implementation Plan | タスクを詳細な実装ステップ(1ステップ数時間)に分解 |
| 5 | /b-005 | Review Task | ⚠️ 実装計画の品質と漏れをレビュー、Go/No-Go判断 |
C-Series:実装
承認された計画に基づき、コード実装・テスト・ドキュメント更新
| # | コマンド | 名前 | 説明 |
| :-: | :------- | :----------------- | :----------------------------------------------- |
| 1 | /c-001 | Implement Task | 計画されたステップに従って実装・テストを反復実行 |
| 2 | /c-002 | Update Docs | 実装完了後、プロジェクト全体のドキュメントを更新 |
導入
方法1: NPMパッケージ(推奨/全IDE対応)
npm install -g yodogawa
cd your-project-dir
yodogawa対話形式でIDEを選択すると、skills/, templates/ がプロジェクトの IDE ディレクトリに配置されます。
方法2: Claude Code Plugin(Claude Code 限定)
Claude Code から直接マーケットプレイスを追加してインストールできます。リポジトリにファイルをコピーせず、.claude/settings.json に参照エントリのみ追加されます。
# Claude Code 内で以下を実行
/plugin marketplace add tkysi-mi/Yodogawa
/plugin install yodogawa@yodogawa
/reload-pluginsスキルは /yodogawa:a-001 のようにプラグイン名のプレフィックス付きで呼び出されます。
ℹ️ Plugin 機能は Claude Code 固有です。Cursor / Codex / Antigravity を使う場合は方法1または方法3を選んでください。
ℹ️ スキルが参照するテンプレート(
templates/)は、各スキルの配置ディレクトリを起点に相対参照で解決されるため、Plugin 導入でもプラグインキャッシュ上のテンプレートが利用されます。実行環境の差異で解決できない場合は、確実な方法1(NPM)または方法3(手動)を利用してください。
方法3: 手動導入
このリポジトリの skills/, templates/ をプロジェクトの IDE ディレクトリにコピーしてください:
- Claude Code:
.claude/配下にコピー - Cursor / Codex / Antigravity:
.agents/配下にコピー
使い方
1️⃣ プロジェクトの立ち上げ(A-Series スキル)
新規プロジェクトや大規模機能の開発時に、A-Seriesを順番に実行します。
| ステップ | コマンド | 内容 |
| :------: | :------------------ | :------------------------------------------------------------------------ |
| 1 | /a-001 → /a-005 | ドキュメント構造、プロジェクト定義、シナリオ、ドメインモデル |
| 2 | /a-006 | ⚠️ 要件・ドメインレビュー(必須) |
| 3 | /a-007 → /a-013 | 技術スタック、リポジトリ構成、画面設計、DB、API、アーキテクチャ、インフラ |
| 4 | /a-014 | ⚠️ 全体設計レビュー(必須) |
2️⃣ 機能開発のループ(B & C Series スキル)
個々のタスクは以下のサイクルで進めます:
| ステップ | コマンド | 内容 |
| :------: | :------- | :--------------------------------------------------- |
| 1 | /b-001 | タスクディレクトリ作成 |
| 2 | /b-002 | タスク定義(目的・ユーザーストーリー・受け入れ基準) |
| 3 | /b-003 | 実装調査(既存コード・ライブラリ調査) |
| 4 | /b-004 | 実装計画(詳細ステップに分解) |
| 5 | /b-005 | ⚠️ レビュー・Go/No-Go判断 |
| 6 | /c-001 | 実装・テスト(計画に沿って反復) |
| 7 | /c-002 | ドキュメント更新 |
⚠️
/b-005でRejectされた場合は/b-002に戻って修正
スキルのフォーマット
各 SKILL.md は以下の構造を持ちます:
---
name: a-001-setup-doc-structure
description: プロジェクトのドキュメントディレクトリ構造を作成する軽量セットアップワークフロー
---
# スキル名
## 目的
## 前提
## 手順
## 完了条件
## エスカレーションname: スキルの識別子(kebab-case)description: AIエージェントがスキルを呼び出すトリガーとなる説明文
ライセンス
MIT License — Copyright (c) 2025 tkysi-mi
