yodogawa 2.0.0 → 2.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (79) hide show
  1. package/CHANGELOG.md +39 -0
  2. package/LICENSE +21 -0
  3. package/README.md +66 -22
  4. package/bin/cli.js +3 -7
  5. package/package.json +2 -2
  6. package/scripts/create-task.sh +77 -0
  7. package/scripts/init-project-docs.sh +90 -0
  8. package/scripts/init-task-doc.sh +77 -0
  9. package/skills/a-001-setup-doc-structure/SKILL.md +67 -100
  10. package/skills/a-001-setup-doc-structure/reference/directory-structure.md +48 -0
  11. package/skills/a-002-initialize-project/SKILL.md +125 -289
  12. package/skills/a-002-initialize-project/examples/nfr-baseline.md +38 -0
  13. package/skills/a-002-initialize-project/reference/hearing-questions.md +92 -0
  14. package/skills/a-002-initialize-project/reference/structure-check.md +48 -0
  15. package/skills/a-003-create-scenarios/SKILL.md +99 -142
  16. package/skills/a-003-create-scenarios/examples/gherkin-templates.md +71 -0
  17. package/skills/a-003-create-scenarios/reference/structure-check.md +46 -0
  18. package/skills/a-004-define-domain-model/SKILL.md +99 -144
  19. package/skills/a-004-define-domain-model/reference/event-storming-guide.md +71 -0
  20. package/skills/a-005-create-domain-diagram/SKILL.md +94 -120
  21. package/skills/a-005-create-domain-diagram/examples/mermaid-templates.md +73 -0
  22. package/skills/a-005-create-domain-diagram/reference/structure-check.md +43 -0
  23. package/skills/a-006-review-requirements-domain/SKILL.md +85 -144
  24. package/skills/a-006-review-requirements-domain/examples/review-report-template.md +58 -0
  25. package/skills/a-006-review-requirements-domain/reference/consistency-checks.md +60 -0
  26. package/skills/a-007-define-tech-stack/SKILL.md +102 -130
  27. package/skills/a-007-define-tech-stack/examples/stack-interview.md +83 -0
  28. package/skills/a-007-define-tech-stack/reference/structure-check.md +51 -0
  29. package/skills/a-008-define-repository-structure/SKILL.md +99 -129
  30. package/skills/a-008-define-repository-structure/examples/structure-templates.md +108 -0
  31. package/skills/a-008-define-repository-structure/reference/structure-check.md +55 -0
  32. package/skills/a-009-define-screen-design/SKILL.md +106 -130
  33. package/skills/a-009-define-screen-design/examples/screen-templates.md +66 -0
  34. package/skills/a-009-define-screen-design/reference/structure-check.md +47 -0
  35. package/skills/a-010-define-design-system/SKILL.md +134 -212
  36. package/skills/a-010-define-design-system/examples/css-tokens.md +71 -0
  37. package/skills/a-010-define-design-system/reference/component-catalog.md +44 -0
  38. package/skills/a-011-define-data-model/SKILL.md +121 -134
  39. package/skills/a-011-define-data-model/examples/erd-templates.md +108 -0
  40. package/skills/a-011-define-data-model/reference/structure-check.md +56 -0
  41. package/skills/a-012-define-api-spec/SKILL.md +108 -132
  42. package/skills/a-012-define-api-spec/examples/api-templates.md +117 -0
  43. package/skills/a-012-define-api-spec/reference/structure-check.md +49 -0
  44. package/skills/a-013-define-architecture/SKILL.md +101 -128
  45. package/skills/a-013-define-architecture/examples/architecture-templates.md +98 -0
  46. package/skills/a-013-define-architecture/reference/structure-check.md +53 -0
  47. package/skills/a-014-define-infrastructure/SKILL.md +113 -130
  48. package/skills/a-014-define-infrastructure/examples/infrastructure-templates.md +97 -0
  49. package/skills/a-014-define-infrastructure/reference/structure-check.md +63 -0
  50. package/skills/a-015-review-design/SKILL.md +88 -140
  51. package/skills/a-015-review-design/examples/review-report-template.md +59 -0
  52. package/skills/a-015-review-design/reference/consistency-checks.md +47 -0
  53. package/skills/b-001-create-task-directory/SKILL.md +62 -78
  54. package/skills/b-001-create-task-directory/examples/naming-convention.md +39 -0
  55. package/skills/b-002-create-task-definition/SKILL.md +115 -172
  56. package/skills/b-002-create-task-definition/examples/hearing-and-criteria.md +49 -0
  57. package/skills/b-002-create-task-definition/reference/structure-check.md +42 -0
  58. package/skills/b-003-create-task-research/SKILL.md +129 -454
  59. package/skills/b-003-create-task-research/examples/research-tables.md +63 -0
  60. package/skills/b-003-create-task-research/reference/investigation-guide.md +106 -0
  61. package/skills/b-004-create-task-implementation/SKILL.md +99 -100
  62. package/skills/b-004-create-task-implementation/examples/phase-step-template.md +57 -0
  63. package/skills/b-004-create-task-implementation/reference/structure-check.md +34 -0
  64. package/skills/b-005-review-task/SKILL.md +117 -324
  65. package/skills/b-005-review-task/examples/review-report-template.md +62 -0
  66. package/skills/b-005-review-task/reference/assessment-criteria.md +79 -0
  67. package/skills/b-005-review-task/reference/consistency-checks.md +69 -0
  68. package/skills/c-001-implement-task/SKILL.md +186 -521
  69. package/skills/c-001-implement-task/examples/commit-and-pr.md +92 -0
  70. package/skills/c-001-implement-task/examples/task-list-format.md +50 -0
  71. package/skills/c-001-implement-task/reference/implementation-loop.md +65 -0
  72. package/skills/c-001-implement-task/reference/validation-loop.md +66 -0
  73. package/skills/c-002-update-documentation/SKILL.md +159 -853
  74. package/skills/c-002-update-documentation/examples/project-doc-updates.md +190 -0
  75. package/skills/c-002-update-documentation/examples/task-doc-updates.md +102 -0
  76. package/skills/c-002-update-documentation/reference/doc-structure-and-checks.md +100 -0
  77. package/templates/tasks/task-template/a-definition.md +1 -1
  78. package/templates/tasks/task-template/b-research.md +1 -1
  79. package/templates/tasks/task-template/c-implementation.md +2 -2
@@ -1,130 +1,106 @@
1
- ---
2
- name: a-009-define-screen-design
3
- description: ユーザーストーリーとシナリオから画面一覧を抽出し、画面遷移フローとレスポンシブデザインポリシーを定義するワークフロー
4
- ---
5
-
6
- # DefineScreenDesign (a-009)
7
-
8
- ## 目的
9
-
10
- - ユーザーストーリーとシナリオを基に、必要な画面を網羅的に抽出する。
11
- - 各画面の役割、アクセス権限、考慮すべき状態(Empty State含む)を明確化する。
12
- - 画面遷移フローをMermaid図で可視化し、ユーザーの導線を明確にする。
13
- - レスポンシブデザインポリシー(ブレークポイント、デバイス対応方針)を定義する。
14
-
15
- ## 前提
16
-
17
- - `docs/project/requirements/05-user-stories.md` が作成されていること。
18
- - `docs/project/behavior/01-scenarios.md` が作成されていること。
19
- - `docs/project/design/` ディレクトリが存在すること。
20
-
21
- ## 手順
22
-
23
- ### 1. ドキュメントと前提条件の確認
24
-
25
- - 必要なドキュメントを読み込む:
26
- - `docs/project/requirements/05-user-stories.md`
27
- - `docs/project/behavior/01-scenarios.md`
28
- - `docs/project/design/01-tech-stack.md` (存在する場合)
29
-
30
- - ドキュメントが不足している場合、対応するワークフローの実行を促す。
31
-
32
- ### 2. テンプレートの準備
33
-
34
- - テンプレートをコピーして作業用ファイルを作成する:
35
-
36
- ```bash
37
- SCRIPT_DIR=$(for d in .agent .cursor .claude .codex; do [ -d "$d" ] && echo "$d" && break; done)
38
- cp "$SCRIPT_DIR/templates/project/04-design/03-screen-design.md" "docs/project/design/03-screen-design.md"
39
- ```
40
-
41
- ### 3. 画面の抽出と提案
42
-
43
- - シナリオのGiven/When/Thenステップから、必要な画面を抽出する。
44
- - 標準的な画面(ログイン、404エラー、設定など)を追加提案する。
45
- - **画面リスト案を提示**:
46
- - 「以下の画面が必要と考えられます:」
47
- - 「[画面名] (役割: [説明])」
48
-
49
- ### 4. 詳細定義と遷移フロー
50
-
51
- ユーザーからのフィードバックを受け、以下を定義する。
52
-
53
- #### 4.1 各画面の詳細
54
-
55
- - 画面ID、名称、URLパス
56
- - アクセス権限(誰が見れるか)
57
- - **重要な状態**: 初回訪問(Empty State)、ロード中、エラー時など
58
-
59
- #### 4.2 画面遷移フロー
60
-
61
- - 主要なユーザーフロー(認証、メイン機能、エラー)をMermaid図で表現する。
62
- - デッドエンド(戻れない画面)がないか確認する。
63
-
64
- ### 5. レスポンシブデザインポリシー
65
-
66
- - 技術スタック(Tailwind等)に合わせたブレークポイントを定義する。
67
- - モバイルファーストかデスクトップファーストか、方針を決定する。
68
- - デバイスごとのレイアウトパターン(ハンバーガーメニュー、ドロワー等)を定義する。
69
-
70
- ### 6. ドキュメント作成
71
-
72
- - `docs/project/design/03-screen-design.md` に決定事項を記入する。
73
- - **必須項目**:
74
- - 画面一覧テーブル
75
- - 画面遷移図 (Mermaid)
76
- - レスポンシブデザインポリシー
77
-
78
- ### 7. 完了条件と構造の確認
79
-
80
- - 以下の完了条件を満たしているか、コマンドとチェックリストで確認してください:
81
-
82
- 1. **構造確認**:
83
-
84
- ```bash
85
- # 画面一覧セクションの確認
86
- grep "## 画面一覧" docs/project/design/03-screen-design.md && echo "OK" || echo "MISSING: Screen list"
87
- # 画面遷移図の確認
88
- grep "\`\`\`mermaid" docs/project/design/03-screen-design.md && echo "OK" || echo "MISSING: Flowchart"
89
- # レスポンシブポリシーの確認
90
- grep "## レスポンシブデザインポリシー" docs/project/design/03-screen-design.md && echo "OK" || echo "MISSING: Responsive policy"
91
- ```
92
-
93
- 2. **チェックリスト**:
94
- - [ ] `docs/project/design/03-screen-design.md` が作成されている
95
- - [ ] 主要な画面がすべて網羅されている
96
- - [ ] Empty Stateについて考慮されている
97
-
98
- ### 8. Git への追加(オプション)
99
-
100
- - ユーザーに確認:「作成した画面設計ドキュメントを Git に追加しますか?」
101
- - 「はい」の場合、以下を実行:
102
-
103
- ```bash
104
- git add docs/project/design/03-screen-design.md
105
- git status
106
- ```
107
-
108
- - 推奨コミットメッセージ:
109
-
110
- ```
111
- docs: 画面設計ドキュメントの作成
112
-
113
- - 画面一覧と遷移フロー(Mermaid)を追加
114
- - レスポンシブデザインポリシーを定義
115
- ```
116
-
117
- ## 完了条件
118
-
119
- - `docs/project/design/03-screen-design.md` が作成されている。
120
- - 全画面のリストと役割が定義されている。
121
- - 画面遷移が可視化されている。
122
- - レスポンシブ対応方針が明確になっている。
123
- - ユーザーが内容を承認している。
124
-
125
- ## エスカレーション
126
-
127
- - シナリオ不足で画面が特定できない場合:
128
- - 「シナリオが不足しています。`CreateScenarios` (a-003) に戻ってユーザーフローを明確にしましょう。」と提案する。
129
- - 画面数が多すぎる場合:
130
- - 「初期リリースには多すぎる可能性があります。MVPに必要な画面に絞り込みませんか?」と提案する。
1
+ ---
2
+ name: a-009-define-screen-design
3
+ description: ユーザーストーリーとシナリオから画面一覧・遷移フロー・レスポンシブポリシーを定義する。技術選定後、UI/UX 設計を開始する際に使用。
4
+ disable-model-invocation: true
5
+ allowed-tools: Read, Write, Edit, Bash, Grep, Glob
6
+ ---
7
+
8
+ # DefineScreenDesign (a-009)
9
+
10
+ ## 目的
11
+
12
+ - ユーザーストーリーとシナリオを基に、必要な画面を網羅的に抽出する。
13
+ - 各画面の役割、アクセス権限、考慮すべき状態(Empty State 含む)を明確化する。
14
+ - 画面遷移フローを Mermaid 図で可視化し、ユーザーの導線を明確にする。
15
+ - レスポンシブデザインポリシー(ブレークポイント、デバイス対応方針)を定義する。
16
+
17
+ ## 前提
18
+
19
+ - `docs/project/01-requirements/05-user-stories.md` が作成されていること。
20
+ - `docs/project/02-behavior/01-scenarios.md` が作成されていること。
21
+ - `docs/project/04-design/` ディレクトリが存在すること。
22
+
23
+ ## 手順
24
+
25
+ ### 1. ドキュメントと前提条件の確認
26
+
27
+ 以下を読み込む:
28
+
29
+ - `docs/project/01-requirements/05-user-stories.md`
30
+ - `docs/project/02-behavior/01-scenarios.md`
31
+ - `docs/project/04-design/01-tech-stack.md`(存在する場合)
32
+
33
+ 不足があれば対応スキル(`/a-002`, `/a-003`, `/a-007`)の実行を促す。
34
+
35
+ ### 2. テンプレートの準備
36
+
37
+ ```bash
38
+ SCRIPT_DIR=$(for d in .claude .agents; do [ -d "$d" ] && echo "$d" && break; done)
39
+ cp "$SCRIPT_DIR/templates/project/04-design/03-screen-design.md" "docs/project/04-design/03-screen-design.md"
40
+ ```
41
+
42
+ ### 3. 画面の抽出と提案
43
+
44
+ - シナリオの Given/When/Then から必要な画面を抽出。
45
+ - 標準画面(ログイン、404、設定等)を追加提案。
46
+ - 「[画面名] (役割: [説明])」の形式で一覧化。
47
+
48
+ 画面一覧のテーブル例は [examples/screen-templates.md](examples/screen-templates.md#画面一覧テーブル) を参照。
49
+
50
+ ### 4. 詳細定義と遷移フロー
51
+
52
+ #### 4.1 各画面の詳細
53
+
54
+ 画面 ID、名称、URL パス、アクセス権限、重要な状態(Empty / Loading / Error / Success)。状態観点は [examples/screen-templates.md](examples/screen-templates.md#重要な状態の観点) を参照。
55
+
56
+ #### 4.2 画面遷移フロー
57
+
58
+ 主要なユーザーフロー(認証、メイン機能、エラー)を Mermaid 図で表現する。デッドエンドがないか確認する。記述例は [examples/screen-templates.md](examples/screen-templates.md#画面遷移図mermaid) を参照。
59
+
60
+ ### 5. レスポンシブデザインポリシー
61
+
62
+ 技術スタック(Tailwind 等)に合わせたブレークポイントと方針を定義する。ブレークポイント表と方針例は [examples/screen-templates.md](examples/screen-templates.md#レスポンシブデザインポリシー) を参照。
63
+
64
+ ### 6. ドキュメント作成
65
+
66
+ `docs/project/04-design/03-screen-design.md` に以下を記入する:
67
+
68
+ - 画面一覧テーブル
69
+ - 画面遷移図(Mermaid)
70
+ - レスポンシブデザインポリシー
71
+
72
+ ### 7. 構造チェック
73
+
74
+ ```bash
75
+ grep "## 画面一覧" docs/project/04-design/03-screen-design.md \
76
+ && grep "\`\`\`mermaid" docs/project/04-design/03-screen-design.md \
77
+ && grep "## レスポンシブデザインポリシー" docs/project/04-design/03-screen-design.md \
78
+ && echo "OK" || echo "MISSING SECTION"
79
+ ```
80
+
81
+ 詳細チェックリストは [reference/structure-check.md](reference/structure-check.md#チェックリスト) を参照。
82
+
83
+ ### 8. Git への追加(任意)
84
+
85
+ ```bash
86
+ git add docs/project/04-design/03-screen-design.md
87
+ git commit -m "docs: 画面設計ドキュメントの作成"
88
+ ```
89
+
90
+ ## 完了条件
91
+
92
+ - `docs/project/04-design/03-screen-design.md` が作成されている。
93
+ - 全画面のリストと役割が定義されている。
94
+ - 画面遷移が可視化されている。
95
+ - レスポンシブ対応方針が明確になっている。
96
+ - ユーザーが内容を承認している。
97
+
98
+ ## エスカレーション
99
+
100
+ - **シナリオ不足で画面が特定できない**: 「`/a-003-create-scenarios` に戻ってユーザーフローを明確にしましょう。」
101
+ - **画面数が多すぎる**: 「初期リリースには多すぎる可能性があります。MVP に必要な画面に絞り込みませんか?」
102
+
103
+ ## 参考
104
+
105
+ - [examples/screen-templates.md](examples/screen-templates.md) — 画面一覧テーブル、状態観点、Mermaid 遷移図、レスポンシブ方針
106
+ - [reference/structure-check.md](reference/structure-check.md) — 構造確認コマンド、チェックリスト、レビュー質問、Git 追加例
@@ -0,0 +1,66 @@
1
+ # 画面定義と遷移図テンプレート
2
+
3
+ SKILL.md 手順3〜5 で使用する画面一覧・遷移図・レスポンシブ方針のテンプレート。
4
+
5
+ ## 画面一覧テーブル
6
+
7
+ | 画面ID | 名称 | URL | アクセス権限 | 主な状態 |
8
+ |:--|:--|:--|:--|:--|
9
+ | SCR-001 | ログイン | `/login` | 未認証 | 入力・認証中・エラー |
10
+ | SCR-002 | ダッシュボード | `/` | 認証済み | 初回(Empty)・通常・ロード中 |
11
+ | SCR-003 | 注文一覧 | `/orders` | 認証済み | 0件・一覧・ページング |
12
+ | SCR-004 | 注文詳細 | `/orders/:id` | 認証済み・本人 | 通常・取消済み・エラー |
13
+ | SCR-005 | 設定 | `/settings` | 認証済み | タブ別 |
14
+ | SCR-999 | 404 | `/*` | 全員 | デフォルト |
15
+
16
+ ## 重要な状態の観点
17
+
18
+ - **Empty State**: データが 0 件、初回訪問時
19
+ - **Loading State**: 非同期取得中
20
+ - **Error State**: 取得失敗、権限不足、タイムアウト
21
+ - **Success State**: 操作成功後のフィードバック
22
+
23
+ ## 画面遷移図(Mermaid)
24
+
25
+ ```mermaid
26
+ flowchart LR
27
+ Login[ログイン] --> Dashboard[ダッシュボード]
28
+ Dashboard --> OrderList[注文一覧]
29
+ OrderList --> OrderDetail[注文詳細]
30
+ Dashboard --> Settings[設定]
31
+ OrderDetail --> OrderList
32
+ Login -.認証失敗.-> Login
33
+ Any((全画面)) -.未認証.-> Login
34
+ Any -.未定義URL.-> NotFound[404]
35
+ ```
36
+
37
+ - デッドエンド(戻れない画面)がないか確認する。
38
+ - エラーや未認証時のリダイレクト先を明示する。
39
+
40
+ ## レスポンシブデザインポリシー
41
+
42
+ ### ブレークポイント(Tailwind 基準)
43
+
44
+ | 名称 | 幅 | 主な対象 |
45
+ |:--|:--|:--|
46
+ | sm | 640px〜 | モバイル横 |
47
+ | md | 768px〜 | タブレット縦 |
48
+ | lg | 1024px〜 | タブレット横・小型ノート |
49
+ | xl | 1280px〜 | デスクトップ |
50
+ | 2xl | 1536px〜 | 大型ディスプレイ |
51
+
52
+ ### 方針
53
+
54
+ - **モバイルファースト**で設計する(Tailwind のデフォルト)
55
+ - メニュー: モバイル=ハンバーガー / デスクトップ=サイドバー
56
+ - データテーブル: モバイル=カードレイアウト / デスクトップ=テーブル
57
+ - モーダル: モバイル=フルスクリーン / デスクトップ=中央配置
58
+
59
+ ## コミットメッセージ例
60
+
61
+ ```text
62
+ docs: 画面設計ドキュメントの作成
63
+
64
+ - 画面一覧と遷移フロー(Mermaid)を追加
65
+ - レスポンシブデザインポリシーを定義
66
+ ```
@@ -0,0 +1,47 @@
1
+ # 構造チェックとレビュー観点
2
+
3
+ SKILL.md 手順7〜8 で使う確認コマンドとレビュー観点。
4
+
5
+ ## セクション存在確認
6
+
7
+ ```bash
8
+ # 画面一覧セクションの確認
9
+ grep "## 画面一覧" docs/project/04-design/03-screen-design.md && echo "OK" || echo "MISSING: Screen list"
10
+ # 画面遷移図の確認
11
+ grep "\`\`\`mermaid" docs/project/04-design/03-screen-design.md && echo "OK" || echo "MISSING: Flowchart"
12
+ # レスポンシブポリシーの確認
13
+ grep "## レスポンシブデザインポリシー" docs/project/04-design/03-screen-design.md && echo "OK" || echo "MISSING: Responsive policy"
14
+ ```
15
+
16
+ ## チェックリスト
17
+
18
+ - [ ] `docs/project/04-design/03-screen-design.md` が作成されている
19
+ - [ ] 主要な画面がすべて網羅されている
20
+ - [ ] 各画面の URL パスとアクセス権限が定義されている
21
+ - [ ] Empty State / Loading / Error の各状態が考慮されている
22
+ - [ ] 画面遷移図にデッドエンドがない
23
+ - [ ] 認証失敗時・404 等のエラー導線が定義されている
24
+ - [ ] レスポンシブのブレークポイントと方針(モバイルファースト等)が定まっている
25
+
26
+ ## レビュー確認質問
27
+
28
+ - 「ユーザーストーリーを完遂するのに必要な画面がすべて揃っていますか?」
29
+ - 「初回訪問時の Empty State は適切にハンドリングされますか?」
30
+ - 「権限のないユーザーが迷い込まない導線になっていますか?」
31
+ - 「MVP スコープと将来拡張が区別されていますか?」
32
+
33
+ ## Git への追加(任意)
34
+
35
+ ```bash
36
+ git add docs/project/04-design/03-screen-design.md
37
+ git status
38
+ ```
39
+
40
+ 推奨コミットメッセージ:
41
+
42
+ ```text
43
+ docs: 画面設計ドキュメントの作成
44
+
45
+ - 画面一覧と遷移フロー(Mermaid)を追加
46
+ - レスポンシブデザインポリシーを定義
47
+ ```