yodogawa 2.1.3 → 2.3.0
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.
- package/CHANGELOG.md +140 -94
- package/LICENSE +1 -1
- package/README.md +362 -263
- package/bin/checks/id-trace.js +137 -0
- package/bin/checks/links.js +59 -0
- package/bin/checks/placeholder.js +132 -0
- package/bin/checks/structure.js +127 -0
- package/bin/cli.js +51 -67
- package/bin/commands/doctor.js +128 -0
- package/bin/commands/install.js +58 -0
- package/bin/commands/new-task.js +117 -0
- package/bin/lib/check-cli.js +19 -0
- package/bin/lib/findings.js +31 -0
- package/bin/lib/markdown.js +103 -0
- package/bin/lib/project-spec.js +138 -0
- package/bin/lib/walk-md.js +23 -0
- package/package.json +68 -55
- package/skills/a-001-setup-doc-structure/SKILL.md +68 -68
- package/skills/a-001-setup-doc-structure/reference/directory-structure.md +75 -75
- package/skills/a-002-initialize-project/SKILL.md +145 -118
- package/skills/a-002-initialize-project/reference/hearing-questions.md +91 -41
- package/skills/a-002-initialize-project/reference/structure-check.md +12 -22
- package/skills/a-002a-slice-mvp-scope/SKILL.md +105 -0
- package/skills/a-002b-define-user-stories/SKILL.md +80 -0
- package/skills/a-002b-define-user-stories/reference/user-stories-guide.md +78 -0
- package/skills/a-003-create-scenarios/SKILL.md +97 -96
- package/{templates/project/02-behavior/01-scenarios.md → skills/a-003-create-scenarios/reference/detailed-gherkin-template.md} +413 -406
- package/skills/a-003-create-scenarios/reference/structure-check.md +20 -17
- package/skills/a-004-define-domain-model/SKILL.md +107 -98
- package/skills/a-004-define-domain-model/reference/event-storming-guide.md +33 -7
- package/skills/a-004-define-domain-model/reference/ubiquitous-language-guide.md +49 -0
- package/skills/a-005-create-domain-diagram/SKILL.md +18 -17
- package/skills/a-006-review-requirements-domain/SKILL.md +79 -29
- package/skills/a-006-review-requirements-domain/examples/review-report-template.md +40 -25
- package/skills/a-006-review-requirements-domain/reference/consistency-checks.md +67 -24
- package/skills/a-007-define-tech-stack/SKILL.md +99 -99
- package/skills/a-008-define-repository-structure/SKILL.md +96 -96
- package/skills/a-009-define-screen-design/SKILL.md +103 -103
- package/skills/a-010-define-design-system/SKILL.md +130 -130
- package/skills/a-011-define-data-model/SKILL.md +118 -118
- package/skills/a-012-define-api-spec/SKILL.md +105 -105
- package/skills/a-013-define-architecture/SKILL.md +98 -98
- package/skills/a-014-define-infrastructure/SKILL.md +118 -110
- package/skills/{a-002-initialize-project → a-014-define-infrastructure}/examples/nfr-baseline.md +2 -1
- package/{templates/project/01-requirements/04-non-functional-requirements.md → skills/a-014-define-infrastructure/examples/non-functional-requirements.md} +120 -115
- package/skills/a-015-review-design/SKILL.md +15 -11
- package/skills/a-015-review-design/examples/review-report-template.md +17 -29
- package/skills/a-015-review-design/reference/consistency-checks.md +5 -3
- package/skills/b-001-create-task-directory/SKILL.md +68 -68
- package/skills/b-002-create-task-definition/SKILL.md +114 -114
- package/skills/b-003-create-task-research/SKILL.md +130 -128
- package/skills/b-004-create-task-implementation/SKILL.md +98 -98
- package/skills/b-005-review-task/SKILL.md +40 -24
- package/skills/b-005-review-task/examples/review-report-template.md +25 -35
- package/skills/b-005-review-task/reference/assessment-criteria.md +79 -79
- package/skills/b-005-review-task/reference/consistency-checks.md +70 -11
- package/skills/c-001-implement-task/SKILL.md +186 -186
- package/skills/c-001-implement-task/reference/implementation-loop.md +65 -65
- package/skills/c-002-update-documentation/SKILL.md +159 -159
- package/skills/c-002-update-documentation/examples/project-doc-updates.md +4 -4
- package/skills/c-002-update-documentation/reference/doc-structure-and-checks.md +99 -97
- package/skills/d-001-review-retrospective/SKILL.md +93 -0
- package/skills/d-001-review-retrospective/examples/retrospective-report-template.md +50 -0
- package/skills/d-001-review-retrospective/reference/friction-point-mapping.md +30 -0
- package/templates/LESSONS.md +15 -0
- package/templates/project/01-requirements/01-product-brief.md +186 -0
- package/templates/project/01-requirements/02-mvp-scope.md +64 -0
- package/templates/project/01-requirements/03-parking-lot.md +29 -0
- package/templates/project/01-requirements/05-user-stories.md +28 -124
- package/templates/project/01-requirements/{02-features-implemented.md → 06-features-implemented.md} +77 -73
- package/templates/project/02-behavior/01-core-scenarios.md +80 -0
- package/templates/project/03-domain/01-domain-model.md +120 -339
- package/templates/project/03-domain/01-domain-sketch.md +90 -0
- package/templates/project/03-domain/02-ubiquitous-language.md +32 -153
- package/templates/project/04-design/01-tech-stack.md +367 -367
- package/templates/project/04-design/02-repository-structure.md +391 -391
- package/templates/project/04-design/03-screen-design.md +596 -596
- package/templates/project/04-design/04-design-system.md +261 -261
- package/templates/project/04-design/05-data-model.md +211 -211
- package/templates/project/04-design/06-api-spec.md +226 -226
- package/templates/project/04-design/07-architecture.md +183 -183
- package/templates/project/04-design/08-infrastructure.md +180 -180
- package/templates/project/AI_CONTEXT.md +55 -0
- package/templates/project/STAKEHOLDER-SUMMARY.md +66 -0
- package/templates/tasks/task-template/a-definition.md +143 -143
- package/templates/tasks/task-template/b-research.md +185 -185
- package/templates/tasks/task-template/c-implementation.md +200 -200
- package/templates/project/01-requirements/01-system-overview.md +0 -49
- package/templates/project/01-requirements/03-features-planned.md +0 -75
|
@@ -1,96 +1,96 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: a-008-define-repository-structure
|
|
3
|
-
description: 技術スタックに基づきディレクトリ構造・アーキテクチャパターン・命名規則を定義する。技術選定後、コードの配置方針を決める際に使用。
|
|
4
|
-
disable-model-invocation: true
|
|
5
|
-
allowed-tools: Read, Write, Edit, Bash, Grep, Glob
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
# DefineRepositoryStructure (a-008)
|
|
9
|
-
|
|
10
|
-
## 目的
|
|
11
|
-
|
|
12
|
-
- 決定された技術スタックに基づいて、最適なリポジトリ構造を定義する。
|
|
13
|
-
- アーキテクチャパターン(レイヤード、機能ベース、クリーンアーキテクチャなど)を選定する。
|
|
14
|
-
- ディレクトリの責務、命名規則、依存関係ルールを明確化する。
|
|
15
|
-
|
|
16
|
-
## 前提
|
|
17
|
-
|
|
18
|
-
- `docs/project/04-design/01-tech-stack.md` が作成されていること(`/a-007-define-tech-stack` 実行済み)。
|
|
19
|
-
- `docs/project/03-domain/01-domain-
|
|
20
|
-
- `docs/project/04-design/` ディレクトリが存在すること。
|
|
21
|
-
|
|
22
|
-
## 手順
|
|
23
|
-
|
|
24
|
-
### 1. ドキュメントと前提条件の確認
|
|
25
|
-
|
|
26
|
-
```bash
|
|
27
|
-
ls -la docs/project/04-design/01-tech-stack.md 2>/dev/null || echo "ファイルが存在しません"
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
`01-tech-stack.md` を読み込み、技術スタックを把握する。
|
|
31
|
-
|
|
32
|
-
### 2. テンプレートの準備
|
|
33
|
-
|
|
34
|
-
このスキルの配置ディレクトリ(`skills/a-008-define-repository-structure/`)を起点に、相対パス `../../templates/project/04-design/02-repository-structure.md` を Read で読み込み、その内容を `docs/project/04-design/02-repository-structure.md` へ Write する。出力先が既に存在する場合は上書きせずスキップして報告する(冪等)。出力先ディレクトリ(`docs/project/04-design/`)が無ければ作成する。
|
|
35
|
-
|
|
36
|
-
### 3. アーキテクチャパターンの提案
|
|
37
|
-
|
|
38
|
-
技術スタックと要件に基づき、最適なパターンを提案する。選定ガイドは [reference/structure-check.md](reference/structure-check.md#アーキテクチャパターン選定ガイド) を参照。
|
|
39
|
-
|
|
40
|
-
- レイヤード / 機能ベース / クリーンアーキテクチャ / Atomic Design / FSD
|
|
41
|
-
- 「推奨: [パターン名]」「理由: [技術スタックとの適合性、保守性]」
|
|
42
|
-
|
|
43
|
-
### 4. ディレクトリ構造の詳細定義
|
|
44
|
-
|
|
45
|
-
フィードバックを受けて以下を確定する。具体的なツリー例は [examples/structure-templates.md](examples/structure-templates.md#アーキテクチャパターン別の構成例) を参照。
|
|
46
|
-
|
|
47
|
-
- **ディレクトリ構成**: ソースルート(`src/` vs `app/`)、テスト配置、機能モジュール構成
|
|
48
|
-
- **命名規則**: ファイル名(PascalCase / camelCase / kebab-case)、識別子規則
|
|
49
|
-
- **依存関係ルール**: 上位層から下位層への依存のみ等
|
|
50
|
-
- **コロケーション戦略**: 関連ファイルをまとめるか分離するか
|
|
51
|
-
|
|
52
|
-
命名規則と依存ルールの具体例は [examples/structure-templates.md](examples/structure-templates.md#命名規則のサンプル) を参照。
|
|
53
|
-
|
|
54
|
-
### 5. ドキュメント作成
|
|
55
|
-
|
|
56
|
-
`docs/project/04-design/02-repository-structure.md` に以下を記入する:
|
|
57
|
-
|
|
58
|
-
- ディレクトリツリー図(`tree` 形式)
|
|
59
|
-
- 各ディレクトリの役割説明
|
|
60
|
-
- 採用したアーキテクチャパターンと理由
|
|
61
|
-
- 命名規則と依存ルール
|
|
62
|
-
|
|
63
|
-
### 6. 構造チェック
|
|
64
|
-
|
|
65
|
-
```bash
|
|
66
|
-
grep "project-root/" docs/project/04-design/02-repository-structure.md \
|
|
67
|
-
&& grep "## アーキテクチャパターン" docs/project/04-design/02-repository-structure.md \
|
|
68
|
-
&& grep "## 命名規則" docs/project/04-design/02-repository-structure.md \
|
|
69
|
-
&& echo "OK" || echo "MISSING SECTION"
|
|
70
|
-
```
|
|
71
|
-
|
|
72
|
-
詳細チェックリストは [reference/structure-check.md](reference/structure-check.md#チェックリスト) を参照。
|
|
73
|
-
|
|
74
|
-
### 7. Git への追加(任意)
|
|
75
|
-
|
|
76
|
-
```bash
|
|
77
|
-
git add docs/project/04-design/02-repository-structure.md
|
|
78
|
-
git commit -m "docs: リポジトリ構造とアーキテクチャ定義の作成"
|
|
79
|
-
```
|
|
80
|
-
|
|
81
|
-
## 完了条件
|
|
82
|
-
|
|
83
|
-
- `docs/project/04-design/02-repository-structure.md` が作成されている。
|
|
84
|
-
- プロジェクトのディレクトリ構造が明確に定義されている。
|
|
85
|
-
- チーム開発に必要なルール(命名、配置、依存)が文書化されている。
|
|
86
|
-
- ユーザーが内容を承認している。
|
|
87
|
-
|
|
88
|
-
## エスカレーション
|
|
89
|
-
|
|
90
|
-
- **技術スタックと構造の不一致**: 「選択されたフレームワーク([名前])の標準構成と異なります。標準に従うか、独自構造を採用するか確認しましょう。」
|
|
91
|
-
- **構造が過度に複雑**: 「初期段階では複雑すぎる可能性があります。まずはフラットな構成から始め、必要に応じて分割することを推奨します。」
|
|
92
|
-
|
|
93
|
-
## 参考
|
|
94
|
-
|
|
95
|
-
- [examples/structure-templates.md](examples/structure-templates.md) — パターン別ディレクトリツリー例、命名規則、依存関係ルール、コロケーション戦略
|
|
96
|
-
- [reference/structure-check.md](reference/structure-check.md) — 構造確認コマンド、チェックリスト、パターン選定ガイド、レビュー質問
|
|
1
|
+
---
|
|
2
|
+
name: a-008-define-repository-structure
|
|
3
|
+
description: 技術スタックに基づきディレクトリ構造・アーキテクチャパターン・命名規則を定義する。技術選定後、コードの配置方針を決める際に使用。
|
|
4
|
+
disable-model-invocation: true
|
|
5
|
+
allowed-tools: Read, Write, Edit, Bash, Grep, Glob
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# DefineRepositoryStructure (a-008)
|
|
9
|
+
|
|
10
|
+
## 目的
|
|
11
|
+
|
|
12
|
+
- 決定された技術スタックに基づいて、最適なリポジトリ構造を定義する。
|
|
13
|
+
- アーキテクチャパターン(レイヤード、機能ベース、クリーンアーキテクチャなど)を選定する。
|
|
14
|
+
- ディレクトリの責務、命名規則、依存関係ルールを明確化する。
|
|
15
|
+
|
|
16
|
+
## 前提
|
|
17
|
+
|
|
18
|
+
- `docs/project/04-design/01-tech-stack.md` が作成されていること(`/a-007-define-tech-stack` 実行済み)。
|
|
19
|
+
- `docs/project/03-domain/01-domain-sketch.md` が作成されていること(推奨。Full DDD 採用時は `01-domain-model.md`)。
|
|
20
|
+
- `docs/project/04-design/` ディレクトリが存在すること。
|
|
21
|
+
|
|
22
|
+
## 手順
|
|
23
|
+
|
|
24
|
+
### 1. ドキュメントと前提条件の確認
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
ls -la docs/project/04-design/01-tech-stack.md 2>/dev/null || echo "ファイルが存在しません"
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
`01-tech-stack.md` を読み込み、技術スタックを把握する。
|
|
31
|
+
|
|
32
|
+
### 2. テンプレートの準備
|
|
33
|
+
|
|
34
|
+
このスキルの配置ディレクトリ(`skills/a-008-define-repository-structure/`)を起点に、相対パス `../../templates/project/04-design/02-repository-structure.md` を Read で読み込み、その内容を `docs/project/04-design/02-repository-structure.md` へ Write する。出力先が既に存在する場合は上書きせずスキップして報告する(冪等)。出力先ディレクトリ(`docs/project/04-design/`)が無ければ作成する。
|
|
35
|
+
|
|
36
|
+
### 3. アーキテクチャパターンの提案
|
|
37
|
+
|
|
38
|
+
技術スタックと要件に基づき、最適なパターンを提案する。選定ガイドは [reference/structure-check.md](reference/structure-check.md#アーキテクチャパターン選定ガイド) を参照。
|
|
39
|
+
|
|
40
|
+
- レイヤード / 機能ベース / クリーンアーキテクチャ / Atomic Design / FSD
|
|
41
|
+
- 「推奨: [パターン名]」「理由: [技術スタックとの適合性、保守性]」
|
|
42
|
+
|
|
43
|
+
### 4. ディレクトリ構造の詳細定義
|
|
44
|
+
|
|
45
|
+
フィードバックを受けて以下を確定する。具体的なツリー例は [examples/structure-templates.md](examples/structure-templates.md#アーキテクチャパターン別の構成例) を参照。
|
|
46
|
+
|
|
47
|
+
- **ディレクトリ構成**: ソースルート(`src/` vs `app/`)、テスト配置、機能モジュール構成
|
|
48
|
+
- **命名規則**: ファイル名(PascalCase / camelCase / kebab-case)、識別子規則
|
|
49
|
+
- **依存関係ルール**: 上位層から下位層への依存のみ等
|
|
50
|
+
- **コロケーション戦略**: 関連ファイルをまとめるか分離するか
|
|
51
|
+
|
|
52
|
+
命名規則と依存ルールの具体例は [examples/structure-templates.md](examples/structure-templates.md#命名規則のサンプル) を参照。
|
|
53
|
+
|
|
54
|
+
### 5. ドキュメント作成
|
|
55
|
+
|
|
56
|
+
`docs/project/04-design/02-repository-structure.md` に以下を記入する:
|
|
57
|
+
|
|
58
|
+
- ディレクトリツリー図(`tree` 形式)
|
|
59
|
+
- 各ディレクトリの役割説明
|
|
60
|
+
- 採用したアーキテクチャパターンと理由
|
|
61
|
+
- 命名規則と依存ルール
|
|
62
|
+
|
|
63
|
+
### 6. 構造チェック
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
grep "project-root/" docs/project/04-design/02-repository-structure.md \
|
|
67
|
+
&& grep "## アーキテクチャパターン" docs/project/04-design/02-repository-structure.md \
|
|
68
|
+
&& grep "## 命名規則" docs/project/04-design/02-repository-structure.md \
|
|
69
|
+
&& echo "OK" || echo "MISSING SECTION"
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
詳細チェックリストは [reference/structure-check.md](reference/structure-check.md#チェックリスト) を参照。
|
|
73
|
+
|
|
74
|
+
### 7. Git への追加(任意)
|
|
75
|
+
|
|
76
|
+
```bash
|
|
77
|
+
git add docs/project/04-design/02-repository-structure.md
|
|
78
|
+
git commit -m "docs: リポジトリ構造とアーキテクチャ定義の作成"
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
## 完了条件
|
|
82
|
+
|
|
83
|
+
- `docs/project/04-design/02-repository-structure.md` が作成されている。
|
|
84
|
+
- プロジェクトのディレクトリ構造が明確に定義されている。
|
|
85
|
+
- チーム開発に必要なルール(命名、配置、依存)が文書化されている。
|
|
86
|
+
- ユーザーが内容を承認している。
|
|
87
|
+
|
|
88
|
+
## エスカレーション
|
|
89
|
+
|
|
90
|
+
- **技術スタックと構造の不一致**: 「選択されたフレームワーク([名前])の標準構成と異なります。標準に従うか、独自構造を採用するか確認しましょう。」
|
|
91
|
+
- **構造が過度に複雑**: 「初期段階では複雑すぎる可能性があります。まずはフラットな構成から始め、必要に応じて分割することを推奨します。」
|
|
92
|
+
|
|
93
|
+
## 参考
|
|
94
|
+
|
|
95
|
+
- [examples/structure-templates.md](examples/structure-templates.md) — パターン別ディレクトリツリー例、命名規則、依存関係ルール、コロケーション戦略
|
|
96
|
+
- [reference/structure-check.md](reference/structure-check.md) — 構造確認コマンド、チェックリスト、パターン選定ガイド、レビュー質問
|
|
@@ -1,103 +1,103 @@
|
|
|
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
|
-
このスキルの配置ディレクトリ(`skills/a-009-define-screen-design/`)を起点に、相対パス `../../templates/project/04-design/03-screen-design.md` を Read で読み込み、その内容を `docs/project/04-design/03-screen-design.md` へ Write する。出力先が既に存在する場合は上書きせずスキップして報告する(冪等)。出力先ディレクトリ(`docs/project/04-design/`)が無ければ作成する。
|
|
38
|
-
|
|
39
|
-
### 3. 画面の抽出と提案
|
|
40
|
-
|
|
41
|
-
- シナリオの Given/When/Then から必要な画面を抽出。
|
|
42
|
-
- 標準画面(ログイン、404、設定等)を追加提案。
|
|
43
|
-
- 「[画面名] (役割: [説明])」の形式で一覧化。
|
|
44
|
-
|
|
45
|
-
画面一覧のテーブル例は [examples/screen-templates.md](examples/screen-templates.md#画面一覧テーブル) を参照。
|
|
46
|
-
|
|
47
|
-
### 4. 詳細定義と遷移フロー
|
|
48
|
-
|
|
49
|
-
#### 4.1 各画面の詳細
|
|
50
|
-
|
|
51
|
-
画面 ID、名称、URL パス、アクセス権限、重要な状態(Empty / Loading / Error / Success)。状態観点は [examples/screen-templates.md](examples/screen-templates.md#重要な状態の観点) を参照。
|
|
52
|
-
|
|
53
|
-
#### 4.2 画面遷移フロー
|
|
54
|
-
|
|
55
|
-
主要なユーザーフロー(認証、メイン機能、エラー)を Mermaid 図で表現する。デッドエンドがないか確認する。記述例は [examples/screen-templates.md](examples/screen-templates.md#画面遷移図mermaid) を参照。
|
|
56
|
-
|
|
57
|
-
### 5. レスポンシブデザインポリシー
|
|
58
|
-
|
|
59
|
-
技術スタック(Tailwind 等)に合わせたブレークポイントと方針を定義する。ブレークポイント表と方針例は [examples/screen-templates.md](examples/screen-templates.md#レスポンシブデザインポリシー) を参照。
|
|
60
|
-
|
|
61
|
-
### 6. ドキュメント作成
|
|
62
|
-
|
|
63
|
-
`docs/project/04-design/03-screen-design.md` に以下を記入する:
|
|
64
|
-
|
|
65
|
-
- 画面一覧テーブル
|
|
66
|
-
- 画面遷移図(Mermaid)
|
|
67
|
-
- レスポンシブデザインポリシー
|
|
68
|
-
|
|
69
|
-
### 7. 構造チェック
|
|
70
|
-
|
|
71
|
-
```bash
|
|
72
|
-
grep "## 画面一覧" docs/project/04-design/03-screen-design.md \
|
|
73
|
-
&& grep "\`\`\`mermaid" docs/project/04-design/03-screen-design.md \
|
|
74
|
-
&& grep "## レスポンシブデザインポリシー" docs/project/04-design/03-screen-design.md \
|
|
75
|
-
&& echo "OK" || echo "MISSING SECTION"
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
詳細チェックリストは [reference/structure-check.md](reference/structure-check.md#チェックリスト) を参照。
|
|
79
|
-
|
|
80
|
-
### 8. Git への追加(任意)
|
|
81
|
-
|
|
82
|
-
```bash
|
|
83
|
-
git add docs/project/04-design/03-screen-design.md
|
|
84
|
-
git commit -m "docs: 画面設計ドキュメントの作成"
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
## 完了条件
|
|
88
|
-
|
|
89
|
-
- `docs/project/04-design/03-screen-design.md` が作成されている。
|
|
90
|
-
- 全画面のリストと役割が定義されている。
|
|
91
|
-
- 画面遷移が可視化されている。
|
|
92
|
-
- レスポンシブ対応方針が明確になっている。
|
|
93
|
-
- ユーザーが内容を承認している。
|
|
94
|
-
|
|
95
|
-
## エスカレーション
|
|
96
|
-
|
|
97
|
-
- **シナリオ不足で画面が特定できない**: 「`/a-003-create-scenarios` に戻ってユーザーフローを明確にしましょう。」
|
|
98
|
-
- **画面数が多すぎる**: 「初期リリースには多すぎる可能性があります。MVP に必要な画面に絞り込みませんか?」
|
|
99
|
-
|
|
100
|
-
## 参考
|
|
101
|
-
|
|
102
|
-
- [examples/screen-templates.md](examples/screen-templates.md) — 画面一覧テーブル、状態観点、Mermaid 遷移図、レスポンシブ方針
|
|
103
|
-
- [reference/structure-check.md](reference/structure-check.md) — 構造確認コマンド、チェックリスト、レビュー質問、Git 追加例
|
|
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-core-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-core-scenarios.md`
|
|
31
|
+
- `docs/project/04-design/01-tech-stack.md`(存在する場合)
|
|
32
|
+
|
|
33
|
+
不足があれば対応スキル(`/a-002`, `/a-003`, `/a-007`)の実行を促す。
|
|
34
|
+
|
|
35
|
+
### 2. テンプレートの準備
|
|
36
|
+
|
|
37
|
+
このスキルの配置ディレクトリ(`skills/a-009-define-screen-design/`)を起点に、相対パス `../../templates/project/04-design/03-screen-design.md` を Read で読み込み、その内容を `docs/project/04-design/03-screen-design.md` へ Write する。出力先が既に存在する場合は上書きせずスキップして報告する(冪等)。出力先ディレクトリ(`docs/project/04-design/`)が無ければ作成する。
|
|
38
|
+
|
|
39
|
+
### 3. 画面の抽出と提案
|
|
40
|
+
|
|
41
|
+
- シナリオの Given/When/Then から必要な画面を抽出。
|
|
42
|
+
- 標準画面(ログイン、404、設定等)を追加提案。
|
|
43
|
+
- 「[画面名] (役割: [説明])」の形式で一覧化。
|
|
44
|
+
|
|
45
|
+
画面一覧のテーブル例は [examples/screen-templates.md](examples/screen-templates.md#画面一覧テーブル) を参照。
|
|
46
|
+
|
|
47
|
+
### 4. 詳細定義と遷移フロー
|
|
48
|
+
|
|
49
|
+
#### 4.1 各画面の詳細
|
|
50
|
+
|
|
51
|
+
画面 ID、名称、URL パス、アクセス権限、重要な状態(Empty / Loading / Error / Success)。状態観点は [examples/screen-templates.md](examples/screen-templates.md#重要な状態の観点) を参照。
|
|
52
|
+
|
|
53
|
+
#### 4.2 画面遷移フロー
|
|
54
|
+
|
|
55
|
+
主要なユーザーフロー(認証、メイン機能、エラー)を Mermaid 図で表現する。デッドエンドがないか確認する。記述例は [examples/screen-templates.md](examples/screen-templates.md#画面遷移図mermaid) を参照。
|
|
56
|
+
|
|
57
|
+
### 5. レスポンシブデザインポリシー
|
|
58
|
+
|
|
59
|
+
技術スタック(Tailwind 等)に合わせたブレークポイントと方針を定義する。ブレークポイント表と方針例は [examples/screen-templates.md](examples/screen-templates.md#レスポンシブデザインポリシー) を参照。
|
|
60
|
+
|
|
61
|
+
### 6. ドキュメント作成
|
|
62
|
+
|
|
63
|
+
`docs/project/04-design/03-screen-design.md` に以下を記入する:
|
|
64
|
+
|
|
65
|
+
- 画面一覧テーブル
|
|
66
|
+
- 画面遷移図(Mermaid)
|
|
67
|
+
- レスポンシブデザインポリシー
|
|
68
|
+
|
|
69
|
+
### 7. 構造チェック
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
grep "## 画面一覧" docs/project/04-design/03-screen-design.md \
|
|
73
|
+
&& grep "\`\`\`mermaid" docs/project/04-design/03-screen-design.md \
|
|
74
|
+
&& grep "## レスポンシブデザインポリシー" docs/project/04-design/03-screen-design.md \
|
|
75
|
+
&& echo "OK" || echo "MISSING SECTION"
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
詳細チェックリストは [reference/structure-check.md](reference/structure-check.md#チェックリスト) を参照。
|
|
79
|
+
|
|
80
|
+
### 8. Git への追加(任意)
|
|
81
|
+
|
|
82
|
+
```bash
|
|
83
|
+
git add docs/project/04-design/03-screen-design.md
|
|
84
|
+
git commit -m "docs: 画面設計ドキュメントの作成"
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
## 完了条件
|
|
88
|
+
|
|
89
|
+
- `docs/project/04-design/03-screen-design.md` が作成されている。
|
|
90
|
+
- 全画面のリストと役割が定義されている。
|
|
91
|
+
- 画面遷移が可視化されている。
|
|
92
|
+
- レスポンシブ対応方針が明確になっている。
|
|
93
|
+
- ユーザーが内容を承認している。
|
|
94
|
+
|
|
95
|
+
## エスカレーション
|
|
96
|
+
|
|
97
|
+
- **シナリオ不足で画面が特定できない**: 「`/a-003-create-scenarios` に戻ってユーザーフローを明確にしましょう。」
|
|
98
|
+
- **画面数が多すぎる**: 「初期リリースには多すぎる可能性があります。MVP に必要な画面に絞り込みませんか?」
|
|
99
|
+
|
|
100
|
+
## 参考
|
|
101
|
+
|
|
102
|
+
- [examples/screen-templates.md](examples/screen-templates.md) — 画面一覧テーブル、状態観点、Mermaid 遷移図、レスポンシブ方針
|
|
103
|
+
- [reference/structure-check.md](reference/structure-check.md) — 構造確認コマンド、チェックリスト、レビュー質問、Git 追加例
|