visual-spec 0.1.8 → 0.1.9

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 (84) hide show
  1. package/README.md +12 -0
  2. package/docs/en-US/ai-platform-installation.md +39 -0
  3. package/docs/en-US/commands.md +4 -2
  4. package/docs/en-US/getting-started.md +7 -29
  5. package/docs/en-US/installation.md +4 -39
  6. package/docs/en-US/scheme.example.yaml +2 -1
  7. package/docs/en-US/structure.md +2 -3
  8. package/docs/en-US/workflows.md +4 -4
  9. package/docs/ja-JP/ai-platform-installation.md +39 -0
  10. package/docs/ja-JP/commands.md +38 -0
  11. package/docs/ja-JP/concepts.md +35 -0
  12. package/docs/ja-JP/getting-started.md +39 -0
  13. package/docs/ja-JP/installation.md +18 -0
  14. package/docs/ja-JP/scheme.example.yaml +72 -0
  15. package/docs/ja-JP/structure.md +49 -0
  16. package/docs/ja-JP/ui-spec-modification-notes.md +35 -0
  17. package/docs/ja-JP/workflows.md +40 -0
  18. package/docs/zh-CN/ai-platform-installation.md +39 -0
  19. package/docs/zh-CN/commands.md +14 -2
  20. package/docs/zh-CN/getting-started.md +7 -29
  21. package/docs/zh-CN/installation.md +4 -39
  22. package/docs/zh-CN/quality_check.md +33 -0
  23. package/docs/zh-CN/scheme.example.yaml +2 -1
  24. package/docs/zh-CN/structure.md +2 -3
  25. package/docs/zh-CN/workflows.md +28 -4
  26. package/package.json +6 -2
  27. package/scripts/build_skill.cjs +57 -0
  28. package/scripts/transform_quality_standard.py +306 -0
  29. package/skills/visual-spec-skill/SKILL-ja-JP.md +384 -0
  30. package/skills/visual-spec-skill/SKILL-zh-CN.md +56 -2
  31. package/skills/visual-spec-skill/SKILL.md +65 -3
  32. package/skills/visual-spec-skill/prompts/vspec_accept/accept.md +23 -6
  33. package/skills/visual-spec-skill/prompts/vspec_detail/auth.md +6 -2
  34. package/skills/visual-spec-skill/prompts/vspec_detail/code_rules.md +14 -2
  35. package/skills/visual-spec-skill/prompts/vspec_detail/cron_job.md +29 -8
  36. package/skills/visual-spec-skill/prompts/vspec_detail/data_permission.md +4 -0
  37. package/skills/visual-spec-skill/prompts/vspec_detail/decision_matrix.md +20 -4
  38. package/skills/visual-spec-skill/prompts/vspec_detail/expression_tree.md +34 -6
  39. package/skills/visual-spec-skill/prompts/vspec_detail/file_export.md +14 -2
  40. package/skills/visual-spec-skill/prompts/vspec_detail/file_import.md +14 -2
  41. package/skills/visual-spec-skill/prompts/vspec_detail/formula.md +14 -2
  42. package/skills/visual-spec-skill/prompts/vspec_detail/interaction.md +21 -4
  43. package/skills/visual-spec-skill/prompts/vspec_detail/judgemental_matrix.md +22 -4
  44. package/skills/visual-spec-skill/prompts/vspec_detail/logging_matrix.md +14 -3
  45. package/skills/visual-spec-skill/prompts/vspec_detail/mq.md +14 -3
  46. package/skills/visual-spec-skill/prompts/vspec_detail/nfp.md +26 -7
  47. package/skills/visual-spec-skill/prompts/vspec_detail/notification_matrix.md +14 -3
  48. package/skills/visual-spec-skill/prompts/vspec_detail/page_load.md +35 -8
  49. package/skills/visual-spec-skill/prompts/vspec_detail/payment.md +6 -2
  50. package/skills/visual-spec-skill/prompts/vspec_detail/post_submit_check.md +14 -2
  51. package/skills/visual-spec-skill/prompts/vspec_detail/post_submit_navigation.md +15 -3
  52. package/skills/visual-spec-skill/prompts/vspec_detail/post_submit_processing.md +14 -2
  53. package/skills/visual-spec-skill/prompts/vspec_detail/rbac.md +24 -4
  54. package/skills/visual-spec-skill/prompts/vspec_detail/state_machine.md +30 -4
  55. package/skills/visual-spec-skill/prompts/vspec_detail/timeline.md +34 -6
  56. package/skills/visual-spec-skill/prompts/vspec_detail/validation_matrix.md +14 -3
  57. package/skills/visual-spec-skill/prompts/vspec_more_q/more_q.md +82 -0
  58. package/skills/visual-spec-skill/prompts/vspec_mrd/mrd.md +73 -0
  59. package/skills/visual-spec-skill/prompts/vspec_new/background.md +236 -30
  60. package/skills/visual-spec-skill/prompts/vspec_new/dependencies.md +28 -6
  61. package/skills/visual-spec-skill/prompts/vspec_new/details_boundaries.md +17 -7
  62. package/skills/visual-spec-skill/prompts/vspec_new/details_constraints.md +17 -7
  63. package/skills/visual-spec-skill/prompts/vspec_new/details_pre_post.md +32 -17
  64. package/skills/visual-spec-skill/prompts/vspec_new/details_symmetry.md +17 -7
  65. package/skills/visual-spec-skill/prompts/vspec_new/details_variations.md +17 -7
  66. package/skills/visual-spec-skill/prompts/vspec_new/flows.md +4 -0
  67. package/skills/visual-spec-skill/prompts/vspec_new/functions.md +18 -3
  68. package/skills/visual-spec-skill/prompts/vspec_new/questions.md +30 -2
  69. package/skills/visual-spec-skill/prompts/vspec_new/roles.md +20 -4
  70. package/skills/visual-spec-skill/prompts/vspec_new/scenarios.md +9 -2
  71. package/skills/visual-spec-skill/prompts/vspec_new/stakeholders.md +21 -5
  72. package/skills/visual-spec-skill/prompts/vspec_new/terms.md +21 -6
  73. package/skills/visual-spec-skill/prompts/vspec_plan/estimate.md +95 -9
  74. package/skills/visual-spec-skill/prompts/vspec_plan/schedule.md +36 -3
  75. package/skills/visual-spec-skill/prompts/vspec_qc/qc.md +17 -3
  76. package/skills/visual-spec-skill/prompts/vspec_qc/quality_standard.md +769 -26
  77. package/skills/visual-spec-skill/prompts/vspec_refine/refine.md +48 -23
  78. package/skills/visual-spec-skill/prompts/vspec_refine/refine_q.md +47 -20
  79. package/skills/visual-spec-skill/prompts/vspec_test/test.md +4 -0
  80. package/skills/visual-spec-skill/prompts/vspec_upgrade/upgrade.md +13 -2
  81. package/skills/visual-spec-skill/prompts/vspec_verify/model.md +49 -24
  82. package/skills/visual-spec-skill/prompts/vspec_verify/prototype.md +9 -1
  83. package/skills/visual-spec-skill/prompts/vspec_verify/prototype_calendar.md +16 -4
  84. /package/skills/visual-spec-skill/prompts/vspec_qc/{22. → }/351/234/200/346/261/202/345/210/206/346/236/220/351/224/231/351/242/230/346/234/254.xlsx" +0 -0
@@ -0,0 +1,384 @@
1
+ ---
2
+ name: "visual-spec-skill"
3
+ description: "生要件を分析して visual spec と成果物を生成します。ユーザーが /vspec:new で分析を開始する時、または /vspec:verify でモデル/プロトタイプを生成する時に利用します。"
4
+ ---
5
+
6
+ # Visual Spec Skill(日本語)
7
+
8
+ ユーザー入力に基づいて visual spec を分析し、短い要件メモをレビュー可能な構造化成果物へ変換します。
9
+
10
+ ## 利用シーン
11
+
12
+ 以下の状況で利用します:
13
+ - ビジネス側の要件説明が非常に簡略で、仕様化に必要な情報が欠けている
14
+ - ユーザーが `/vspec:new` を実行して新しい要件分析フローを開始する
15
+
16
+ ## この Skill が定義すること
17
+
18
+ - シナリオ駆動のファシリテーションで詳細を補完する
19
+ - データモデルを設計する
20
+ - 補完した詳細に基づき UI モック/原型を生成する
21
+ - 業務ロジック詳細を可視化/構造化して出力する
22
+
23
+ ## Commands
24
+
25
+ ### `/vspec:new`
26
+
27
+ 新しい要件分析セッションを開始します。
28
+
29
+ 言語:
30
+ - `/scheme.yaml` の `selected.language` を読み取る(`en`、`zh-CN`、`ja`。欠落/不正なら `en`)
31
+ - コマンド引数または入力で `lang=<en|zh-CN|ja>` が明示された場合、その値を今回の実行に採用し、`selected.language` も更新する(該当フィールドのみ更新)
32
+ - `selected.language=en` の場合、`/specs/background/original.md` の見出しは必ず英語に統一し、非英語の見出しは以下へ正規化する:
33
+ `# Raw Requirement`, `# Summary`, `# Business Context`, `# Core Features`, `# Pages & Interactions`, `# Data Model`, `# Business Logic`, `# Risks & Assumptions`, `# Open Questions`
34
+
35
+ Flow:
36
+ 0. `/docs/` の存在を保証し、サブフォルダを作成する:
37
+ - `/docs/legacy/`
38
+ - `/docs/current/`
39
+ - `/docs/refine/`
40
+ - `/docs/dependencies/`
41
+ - `/docs/change/` は作成しない(廃止)
42
+ 0.2 ユーザーが引数に `lang=<en|zh-CN|ja>` を渡した場合、`/scheme.yaml` `selected.language` をその値へ更新する(該当フィールドのみ更新、その他のフィールド/フォーマットは保持)
43
+ 0.5 ユーザーが早期に調整できるようにプロジェクト制約を作成する(既存なら上書きしない):
44
+ - `/scheme.yaml` が無ければ既定値(原型スタック選定 + catalog)で作成
45
+ - `/prototype_ui_convention.md` が無ければ作成(`/scheme.yaml` と同階層)
46
+ 1. ユーザーへ原始要件の入力を依頼する
47
+ 2. ユーザーが Enter を押した入力を raw requirement として扱う
48
+ 3. `prompts/vspec_new/background.md` を読み込む
49
+ 4. プロンプトに従い要件を分析し、業務背景を拡張する
50
+ 5. raw requirement と背景分析を `/specs/background/original.md` に書き込む
51
+ 6. Open Questions セクションの質問にユーザーが回答するよう促す(見出しは選択言語に従う)
52
+ 7. ユーザー回答後、`prompts/vspec_new/stakeholders.md` を読み込みステークホルダーを分析
53
+ 8. 結果を `/specs/background/stakeholder.md`(markdown 表)へ書き込む
54
+ 9. `prompts/vspec_new/roles.md` を読み込み、直接ユーザーの役割とタスクを分析
55
+ 10. 結果を `/specs/background/roles.md` へ書き込む
56
+ 11. `prompts/vspec_new/terms.md` を読み込み、用語と定義を抽出
57
+ 12. 結果を `/specs/background/terms.md`(markdown 表)へ書き込む
58
+ 13. `prompts/vspec_new/flows.md` を読み込み、業務フローを分析して PlantUML 泳道図を生成
59
+ 14. 図を `/specs/flows/*.puml` に書き込む
60
+ 15. `prompts/vspec_new/scenarios.md` を読み込み、ノード組合せでシナリオを列挙
61
+ 16. 結果を `/specs/background/scenarios.md`(markdown 表)へ書き込む
62
+ 17. `prompts/vspec_new/details_pre_post.md` を読み込み、ノードごとの詳細フォルダを作成し `pre_post.md` を生成
63
+ 18. `prompts/vspec_new/details_constraints.md` を読み込み、`constraints.md` を生成
64
+ 19. `prompts/vspec_new/details_variations.md` を読み込み、`variations.md` を生成
65
+ 20. `prompts/vspec_new/details_boundaries.md` を読み込み、`boundaries.md` を生成
66
+ 21. `prompts/vspec_new/details_symmetry.md` を読み込み、`symmetry.md` を生成
67
+ 22. ノード別出力が `/specs/background/scenario_details/` に書き込まれていることを保証
68
+ 23. `prompts/vspec_new/dependencies.md` を読み込み、外部依存システムを分析
69
+ 24. 結果を `/specs/background/dependencies.md` へ書き込む
70
+ 25. `prompts/vspec_new/functions.md` を読み込み、モジュール/外部依存ごとに機能一覧を生成
71
+ 26. `/specs/functions/` に書き込む
72
+ 27. `prompts/vspec_new/questions.md` を読み込み、質問一覧と必要資料を生成
73
+ 28. `/specs/background/questions.md`(markdown リスト)に書き込む
74
+ 29. `prompts/harness/post_new_verify.md` を読み込み、functions と scenario_details の完備性を検証(ログイン/設定/マスタ/承認など)。問題が出た場合は問題一覧を表示して停止
75
+ 30. 構造化した分析結果を返し、次の設計ステップへ進む
76
+
77
+ ### `/vspec:refine`
78
+
79
+ `/docs/refine/` の追補資料(またはコマンド引数で指定されたファイル/ディレクトリ)に基づき、要件を追補して更新します。
80
+
81
+ Flow:
82
+ 0. `/specs/details/` が存在し非空であることを確認。欠ける場合は停止し、先に `/vspec:detail` を実行するよう促す
83
+ 1. refine 入力を読む:
84
+ - 引数があれば、それらを refine 入力ソース(ファイル/ディレクトリ)として扱う
85
+ - 引数がなければ `/docs/refine/` を読む(`/docs/refine/file_list.md` があれば優先、なければファイル名順)
86
+ 2. `prompts/vspec_refine/refine.md` が無い場合は即時停止し何もしない
87
+ 3. `prompts/vspec_refine/refine.md` を読み込み、追補を適用し、口径を更新し、影響成果物を更新する
88
+ 4. 結果を `/specs/background/original.md` に追記し、影響する `/specs/details/` と `/specs/prototypes/` を同期更新する
89
+
90
+ 主な流れ:
91
+ 1. `/specs/details/` が存在し非空であること(前提条件)
92
+ 回答済みの質問に基づき要件を更新します。
93
+
94
+ Flow:
95
+ 1. `/specs/background/questions.md` が無い場合は即時停止し何もしない
96
+ 2. 未回答/保留の質問が無い場合は即時停止し何もしない
97
+ 3. `/specs/background/questions.md` を読み、回答済みの項目を抽出
98
+ 4. `prompts/vspec_refine/refine_q.md` を読み込み、回答を口径へマージ
99
+ 5. 結果を `/specs/background/original.md` に追記
100
+ 6. `/specs/background/questions.md` を更新し、本実行で「回答済みとして扱った項目」をマークする:
101
+ - 回答とステータスを `<mark>...</mark>` で囲み、視認性を上げる(フィールド名は選択言語に従う)
102
+ 3. `prompts/vspec_refine/refine.md` に従い、`/specs/background/original.md` へ追記し、必要な成果物を更新
103
+
104
+ ### `/vspec:refine-q`
105
+ 追加の確認質問を生成し、`/specs/background/questions.md` に追記します。
106
+
107
+ Flow:
108
+ 1. `/specs/background/questions.md` が無い場合は停止し、先に `/vspec:new` を実行するよう促す
109
+ 2. `prompts/vspec_more_q/more_q.md` を読み込み、追加質問を生成(重複排除・番号継続)
110
+ 3. 新規項目のみを `/specs/background/questions.md` に追記(既存項目は書き換えない)
111
+ 4. ユーザーが回答し、その後 `/vspec:refine-q` を実行するための明確な指示を出す
112
+ `/specs/background/questions.md` に記入された回答を要件へ取り込み、口径を更新します。
113
+
114
+ ### `/vspec:more-q`
115
+ 機能一覧に基づき要件詳細を展開します。
116
+
117
+ 言語:
118
+ - `/scheme.yaml` `selected.language` を読み取る(`en`、`zh-CN`、`ja`。欠落/不正なら `en`)
119
+ - `/specs/` 配下に生成する仕様文書は、見出し/表/フィールド説明/ステータス/ボタン/メッセージ等を含め、必ず選択言語で統一する
120
+
121
+ Flow:
122
+ 1. `/specs/functions/*` から機能一覧を読む
123
+ - `/specs/functions/` 配下のすべてのファイルの全行を必ず走査する(core.md のみは不可)
124
+ 2. 可能なら関連成果物を読む:`/specs/background/*`、`/specs/flows/*.puml`、`/specs/background/scenario_details/`、`/specs/background/roles.md`、既存の `/specs/models/*.md`(あれば)
125
+ 3. 各機能(ページ/非ページ)について、関与する詳細成果物を先に判定し、必要なものだけ生成する(非関与部分の空文書を生成しない)
126
+ - カバレッジ要件:走査した全行について、最低でも `rbac.md` と `data_permission.md` を生成できなければならない。できない場合は明示的エラーで停止(黙ってスキップしない)
127
+ - 常に生成する基礎文書:
128
+ - `rbac.md`:ページ領域/コントロールまで落とした RBAC
129
+ - `data_permission.md`:データ権限ルールとスコープ
130
+ - ページ機能のみ:
131
+ - `page_load.md`:ロード
132
+ - `interaction.md`:インタラクション
133
+ - `validation_matrix.md`:バリデーション行列(submit/save/approve/reject/cancel/change 等の送信系がある場合のみ)
134
+ - `post_submit_check.md`:送信後チェック(送信がある場合)
135
+ - `post_submit_processing.md`:送信後処理(送信がある場合)
136
+ - `post_submit_navigation.md`:送信後遷移(送信がある場合)
137
+ - 条件付き(関与するときのみ):
138
+ - `logging_matrix.md`:操作/監査ログ(変更履歴保持、監査、否認防止が必要な場合のみ)
139
+ - `decision_matrix.md`:状態ごとの操作可否(ステータスマシンがあり、操作が状態/ロールで変わる場合)
140
+ - `notification_matrix.md`:通知(通知要件がある場合)
141
+ - `mq.md`:MQ/イベント設計(非同期イベント/キュー/クロスシステムがある場合)
142
+ - `file_import.md`:インポート(要件がある場合)
143
+ - `file_export.md`:エクスポート(要件がある場合)
144
+ - `formula.md`:計算式/指標口径(計算がある場合)
145
+ - `expression_tree.md`:式木(多段分岐がある場合、HTML)
146
+ - `code_rules.md`:番号/コード生成(必要な場合)
147
+ - `payment.md`:決済/返金/精算/対帳(必要な場合)
148
+ - `auth.md`:非 SSO のアカウント/パスワード(必要な場合)
149
+ - `judgemental_matrix.md`:判定行列(2+要素の多因子分岐がある場合)
150
+ - モジュール単位(最大 1 回、関与時のみ):
151
+ - `timeline.md`:時間軸(有効期限/締切/跨日等がフロー判断に影響する場合)
152
+ - `state_machine.md`:状態一覧 + 遷移 + PlantUML(機能単位ではなく全体)
153
+ - `nfp.md`:非機能要件(全体)
154
+ - `cron_job.md`:定期実行(全体)
155
+ 4. 関与して生成した文書のみを書き込む:
156
+ - 機能単位:`/specs/details/<module_slug>/<logic_type>/<function_slug>.(md|html)`
157
+ - モジュール単位:`/specs/details/<module_slug>/<logic_type>/<module_slug>.(md|html)`
158
+ 既存の `questions.md` に追加の質問を生成して追記します(重複排除・番号継続)。追記後、回答手順を明示してユーザーに回答を促します。
159
+
160
+ ### `/vspec:detail`
161
+ モデルと実行可能プロトタイプを生成して検証します。
162
+
163
+ 言語:
164
+ - `/scheme.yaml` `selected.language` を読み取る(`en`、`zh-CN`、`ja`。欠落/不正なら `en`)
165
+ - `/specs/models/` とプロトタイプ UI 文言は選択言語で統一する
166
+
167
+ Flow:
168
+ 0. `/specs/details/` が存在し非空であることを確認。欠ける場合は停止し、`/vspec:detail` を先に実行するようメッセージを出す
169
+ 1. `/specs/background/questions.md` が存在し、未回答が残っている場合は、先に回答するよう促す(スキップは許容するが、未回答が残らないようにする)
170
+ 2. `prompts/vspec_verify/model.md` を読み込みデータモデルを生成
171
+ 3. `/specs/models/*.md` に書き込む
172
+ 4. functions/details/models/roles に基づき、実行可能プロトタイプを生成(スタックは `/scheme.yaml` で選定。無ければ既定で自動作成)
173
+ - `prompts/vspec_verify/prototype.md` を使用(`scheme.yaml` 遵守、html-only は不可)
174
+ 5. `/specs/prototypes/` に書き込む
175
+ 6. `prompts/harness/post_verify_stack_verify.md` でプロトタイプのスタック一致を検証。不一致があれば問題一覧を表示し停止
176
+ 7. `prompts/vspec_verify/validation.md` でシナリオ検証ページを生成
177
+ 8. `/specs/prototypes/` に書き込み、`scenario.html` をエントリとして提供
178
+ 9. `prompts/vspec_verify/entries.md` でエントリページを生成し `/specs/prototypes/entries.html` に書き込む(メニュー/ヘッダーからはリンクしない)
179
+ 10. `prompts/harness/post_verify_mobile_selection_check.md` でモバイルのデータ選択 UI を検証。不一致があれば停止
180
+ 11. `prompts/harness/post_verify_price_format_check.md` で価格表示フォーマットを検証。不一致があれば停止
181
+ 12. `prompts/harness/post_verify_click_check.md` でクリック無反応を検出。問題があれば停止
182
+ 13. `prompts/harness/post_verify_verify.md` で原型の完備性を検証。問題があれば停止
183
+ 機能一覧(`/specs/functions/*`)を入力に、各機能の詳細仕様(`/specs/details/`)を生成します。
184
+
185
+ ### `/vspec:verify`
186
+ 既存プロトタイプ上に Survey(アンケート)一式(Web 管理 + モバイル回答)を生成します。
187
+
188
+ Flow:
189
+ 0. `/specs/prototypes/` が無い/空の場合は停止し、先に `/vspec:verify` を実行するよう促す
190
+ 1. `/specs/functions/*`、`/specs/details/`、`/specs/models/*.md`、`/specs/background/roles.md`、`/specs/background/dependencies.md`、`/scheme.yaml` を読む(あれば)
191
+ 2. `prompts/vspec_verify/prototype_survey.md` を読み込み、ページ/ルート/モックデータを生成/更新
192
+ 3. Survey 関連の差分のみを書き込み、原型が動作する状態を保つ
193
+ モデル(`/specs/models/`)と実行可能プロトタイプ(`/specs/prototypes/`)を生成して素早く検証します。
194
+
195
+ ### `/vspec:proto-survey`
196
+ 既存プロトタイプ上に非 SSO の認証/アカウント機能(Web + モバイル)を生成します。
197
+
198
+ Flow:
199
+ 0. `/specs/prototypes/` が無い/空の場合は停止し、先に `/vspec:verify` を実行するよう促す
200
+ 1. `/specs/functions/*`、`/specs/details/`、`/specs/background/roles.md`、`/specs/background/dependencies.md`、`/scheme.yaml` を読む(あれば)
201
+ 2. `prompts/vspec_verify/prototype_auth.md` を読み込み、ページ/ルート/セッションモック/ガードを生成/更新
202
+ 3. auth 関連の差分のみを書き込み、原型が動作する状態を保つ
203
+ 既存プロトタイプ上にアンケート機能一式(Web 管理 + モバイル回答)を追加生成します。
204
+
205
+ ### `/vspec:proto-auth`
206
+ `/specs/` 配下の成果物を品質チェックします。
207
+
208
+ Note: Pro 版ではより広範なチェック(例:プロトタイプ/実装の post-run 検証)をサポートします(有償)。
209
+
210
+ 言語:
211
+ - `/scheme.yaml` `selected.language` を読み取る(`en`、`zh-CN`、`ja`。欠落/不正なら `en`)
212
+ - QC レポート `/specs/qc_report.md` は選択言語で統一する
213
+
214
+ Flow:
215
+ 1. `prompts/vspec_qc/quality_standard.md` の内蔵基準を読む
216
+ 2. プロジェクト `qc/` 配下に錯題本がある場合、プロジェクトルート `quality_standard.md` を生成/更新する
217
+ 3. プロジェクトルート `quality_standard.md` が存在する場合、補足/上書き基準としてマージする
218
+ 4. `prompts/vspec_qc/qc.md` を読み込み、非適合チェックリストを生成する
219
+ 5. `/specs/qc_report.md` に書き込む
220
+ 既存プロトタイプ上に非 SSO の認証/アカウント機能(Web + モバイル)を追加生成します。
221
+
222
+ ### `/vspec:qc`
223
+ 受入テストケースを生成します。
224
+
225
+ 言語:
226
+ - `/scheme.yaml` `selected.language` を読み取る(`en`、`zh-CN`、`ja`。欠落/不正なら `en`)
227
+ - `/specs/acceptance/` 配下の文書は選択言語で統一する
228
+
229
+ Flow:
230
+ 1. `/specs/functions/*`、`/specs/background/scenarios.md`、`/specs/background/scenario_details/`、`/specs/background/roles.md`、`/specs/models/*.md` を読む
231
+ 2. `prompts/vspec_accept/accept.md` を読み込み、主フロー/例外/境界/権限/データ範囲をカバーする受入ケースを生成
232
+ 3. `/specs/acceptance/` に書き込み(機能ごとにサブフォルダ)、`/specs/acceptance/index.md` を生成
233
+ `/specs/` 配下の成果物を、内蔵品質基準(`prompts/vspec_qc/quality_standard.md`)等に基づいて品質チェックし、`/specs/qc_report.md` を出力します。
234
+
235
+ ### `/vspec:accept`
236
+ 受入ケースと仕様に基づき、自動テストコードを生成します。
237
+
238
+ 言語:
239
+ - `/scheme.yaml` `selected.language` を読み取る(`en`、`zh-CN`、`ja`。欠落/不正なら `en`)
240
+ - テストケースのタイトル/説明は可能な限り選択言語に合わせる
241
+
242
+ Flow:
243
+ 1. `/specs/acceptance/`、`/specs/functions/*`、`/specs/details/` を読み、リポジトリの既存テストフレームワークを検出する
244
+ 2. `prompts/vspec_test/test.md` を読み込み、既存フレームワーク/規約に沿ったテストを生成する
245
+ 3. テストコードを既存テストディレクトリ(無ければ `/tests/`)に書き込み、既存スクリプトで動作可能な形にする
246
+ 4. `prompts/harness/post_append_test_coverage_check.md` でカバレッジ十分性を検証。問題があれば続行
247
+ 5. 問題がある場合は、不足項目に絞って `/vspec:append-test` をもう 1 回実行し、再度チェックする
248
+ 6. 2 回目でも問題が残る場合、問題一覧を表示して停止
249
+ 7. 本コマンドはテスト生成/追加のみを行い、テストコマンドの実行はしない
250
+ 受入テストケースを `/specs/acceptance/` に生成します。
251
+
252
+ ### `/vspec:append-test`
253
+ 仕様に基づき、フロント/バック統合コードを生成します。
254
+
255
+ Flow:
256
+ 1. `/specs/functions/*`、`/specs/details/`、`/specs/models/*.md`、`/specs/background/dependencies.md` を読み、既存スタックと規約を検出する
257
+ 2. `prompts/vspec_impl/implement.md` を読み込み、backend-first で実装:`/specs/backend/` に実行可能な backend を生成し、その後 frontend 連携を生成する
258
+ 3. 変更は `/specs/` 配下のみに書き込み、差分を最小化してレビュー可能にする(backend は `/specs/backend/`、原型 frontend は `/specs/prototypes/`)
259
+ 4. `prompts/harness/post_impl_verify.md` で backend の MVC 構造とテストカバレッジを検証。問題があれば停止
260
+ 受入ケースと既存テストスタックをもとに、自動テストコードを生成します(テスト実行はしない)。
261
+
262
+ ### `/vspec:impl`
263
+ `/docs/` 配下の資料(legacy/new inputs)に基づき、`/vspec:new` と同じ構造で `/specs/` を再生成/更新します。
264
+
265
+ 言語:
266
+ - `/scheme.yaml` `selected.language` を読み取る(`en`、`zh-CN`、`ja`。欠落/不正なら `en`)
267
+ - 再生成される `/specs/**` は選択言語で統一する
268
+
269
+ Flow:
270
+ 1. `/docs/current/file_list.md` の存在を保証。無ければ入力リストテンプレートを生成
271
+ 2. `/docs/current/file_list.md` を読み、列挙された `/docs/` 配下のソース(`legacy/current`、必要に応じ `templates/texts/assets`)を順に読み、構造化情報(機能、依存、UI、ロール/権限、技術仕様)を抽出
272
+ 3. `/specs/background/original.md` があれば現行口径として差分(継承/新規/変更/廃止)の基線にする
273
+ 4. `prompts/vspec_upgrade/upgrade.md` を読み込み、`/specs/` を生成/更新(`/vspec:new` の出力規約を再利用)
274
+ 5. 抽出した技術仕様を `/scheme.yaml` に同期し、`/vspec:verify` と `/vspec:impl` で利用できるようにする
275
+ 仕様成果物をもとに、統合実装コード(API 契約、backend、frontend 連携)を `/specs/` 配下に生成します。
276
+
277
+ ### `/vspec:upgrade`
278
+ ストーリーマップで分解し、見積と排期を生成します。
279
+
280
+ 言語:
281
+ - `/scheme.yaml` `selected.language` を読み取る(`en`、`zh-CN`、`ja`。欠落/不正なら `en`)
282
+ - `/specs/plan/plan_estimate.md` と `/specs/plan/plan_schedule.html` は選択言語で統一する
283
+
284
+ Flow:
285
+ 1. `/specs/functions/*`、`/specs/background/roles.md`、`/specs/background/scenarios.md`、`/specs/details/`、`/specs/background/dependencies.md` を読む
286
+ 2. `prompts/vspec_plan/estimate.md` を読み込み、機能一覧に合わせて見積を生成
287
+ 3. `/specs/plan/plan_estimate.md` に書き込む
288
+ 4. `prompts/vspec_plan/schedule.md` を読み込み、排期とデリバリーマップを生成
289
+ 5. `/specs/plan/plan_schedule.html` に書き込む
290
+ `/docs/legacy` と `/docs/current` の資料をもとに、`/vspec:new` と同様の構造で `/specs/` を再生成/更新します。
291
+
292
+ ### `/vspec:plan`
293
+ MRD(市場/競合/ユーザー/プロダクト設計)分析パックを生成します。
294
+
295
+ Flow:
296
+ 1. `/docs/market/` の存在を保証
297
+ 2. 利用可能な成果物を読む:`/specs/background/original.md`、`/specs/background/roles.md`、`/specs/background/terms.md`、`/specs/background/scenarios.md`、`/specs/flows/*.puml`、`/specs/background/dependencies.md`、`/specs/functions/*`(あれば)
298
+ 3. `prompts/vspec_mrd/mrd.md` を読み込む
299
+ 4. 次のファイルへ書き込む:
300
+ - `/docs/market/market.md`
301
+ - `/docs/market/competitors.md`
302
+ - `/docs/market/users.md`
303
+ - `/docs/market/product_design.md`
304
+
305
+ ## Prompt Files
306
+
307
+ - `prompts/vspec_new/background.md`:`/vspec:new` で raw requirement を受け取った直後に使うプロンプト
308
+ - `prompts/vspec_new/stakeholders.md`:ユーザーが `待确认问题` に回答した後、`/specs/background/stakeholder.md` を生成するためのプロンプト
309
+ - `prompts/vspec_new/roles.md`:`/specs/background/roles.md` を生成するためのプロンプト
310
+ - `prompts/vspec_new/terms.md`:`/specs/background/terms.md` を生成するためのプロンプト
311
+ - `prompts/vspec_new/flows.md`:`/specs/flows/*.puml` を生成するためのプロンプト
312
+ - `prompts/vspec_new/scenarios.md`:`/specs/background/scenarios.md` を生成するためのプロンプト
313
+ - `prompts/vspec_new/details_pre_post.md`:ノード単位の `pre_post.md` を生成するためのプロンプト
314
+ - `prompts/vspec_new/details_constraints.md`:ノード単位の `constraints.md` を生成するためのプロンプト
315
+ - `prompts/vspec_new/details_variations.md`:ノード単位の `variations.md` を生成するためのプロンプト
316
+ - `prompts/vspec_new/details_boundaries.md`:ノード単位の `boundaries.md` を生成するためのプロンプト
317
+ - `prompts/vspec_new/details_symmetry.md`:ノード単位の `symmetry.md` を生成するためのプロンプト
318
+ - `prompts/vspec_new/dependencies.md`:`/specs/background/dependencies.md` を生成するためのプロンプト
319
+ - `prompts/vspec_new/functions.md`:`/specs/functions/` を生成するためのプロンプト
320
+ - `prompts/vspec_new/questions.md`:`/specs/background/questions.md` を生成するためのプロンプト
321
+ - `prompts/vspec_more_q/more_q.md`:`/vspec:more-q` で `questions.md` に追加質問を追記するためのプロンプト
322
+ - `prompts/vspec_mrd/mrd.md`:`/vspec:mrd` で `/docs/market/` 配下に市場/競合/ユーザー/設計文書を生成するためのプロンプト
323
+ - `prompts/vspec_refine/refine.md`:`/vspec:refine` のプロンプト
324
+ - `prompts/vspec_refine/refine_q.md`:`/vspec:refine-q` のプロンプト
325
+ - `prompts/vspec_verify/model.md`:`/vspec:verify` で `/specs/models/*.md` を生成するためのプロンプト
326
+ - `prompts/vspec_verify/prototype.md`:`/vspec:verify` でスタック選定済み原型を生成するためのプロンプト(`scheme.yaml` 必須)
327
+ - `prompts/vspec_verify/validation.md`:`/vspec:verify` で `scenario.html` を生成するためのプロンプト
328
+ - `prompts/vspec_detail/rbac.md`:`/vspec:detail` で RBAC を生成するためのプロンプト
329
+ - `prompts/vspec_detail/data_permission.md`:`/vspec:detail` でデータ権限を生成するためのプロンプト
330
+ - `prompts/vspec_detail/page_load.md`:`/vspec:detail` でロード仕様を生成するためのプロンプト
331
+ - `prompts/vspec_detail/interaction.md`:`/vspec:detail` でインタラクション仕様を生成するためのプロンプト
332
+ - `prompts/vspec_detail/timeline.md`:`/vspec:detail` で時間軸 HTML を生成するためのプロンプト
333
+ - `prompts/vspec_detail/formula.md`:`/vspec:detail` で計算式を生成するためのプロンプト
334
+ - `prompts/vspec_detail/expression_tree.md`:`/vspec:detail` で式木 HTML を生成するためのプロンプト
335
+ - `prompts/vspec_detail/code_rules.md`:`/vspec:detail` で番号/コード生成規則を生成するためのプロンプト
336
+ - `prompts/vspec_detail/judgemental_matrix.md`:`/vspec:detail` で判定行列を生成するためのプロンプト
337
+ - `prompts/vspec_detail/validation_matrix.md`:`/vspec:detail` でバリデーション行列を生成するためのプロンプト
338
+ - `prompts/vspec_detail/post_submit_check.md`:`/vspec:detail` で送信後チェックを生成するためのプロンプト
339
+ - `prompts/vspec_detail/post_submit_processing.md`:`/vspec:detail` で送信後処理を生成するためのプロンプト
340
+ - `prompts/vspec_detail/post_submit_navigation.md`:`/vspec:detail` で送信後遷移を生成するためのプロンプト
341
+ - `prompts/vspec_detail/mq.md`:`/vspec:detail` で MQ 設計を生成するためのプロンプト
342
+ - `prompts/vspec_detail/logging_matrix.md`:`/vspec:detail` でログ行列を生成するためのプロンプト
343
+ - `prompts/vspec_detail/notification_matrix.md`:`/vspec:detail` で通知行列を生成するためのプロンプト
344
+ - `prompts/vspec_detail/nfp.md`:`/vspec:detail` で非機能要件を生成するためのプロンプト
345
+ - `prompts/vspec_detail/file_import.md`:`/vspec:detail` でインポート仕様を生成するためのプロンプト
346
+ - `prompts/vspec_detail/file_export.md`:`/vspec:detail` でエクスポート仕様を生成するためのプロンプト
347
+ - `prompts/vspec_detail/cron_job.md`:`/vspec:detail` で定期実行を生成するためのプロンプト
348
+ - `prompts/vspec_accept/accept.md`:`/vspec:accept` で受入ケースを生成するためのプロンプト
349
+ - `prompts/vspec_test/test.md`:`/vspec:append-test` で自動テストを生成するためのプロンプト
350
+ - `prompts/vspec_impl/implement.md`:`/vspec:impl` で統合実装を生成するためのプロンプト
351
+ - `prompts/vspec_upgrade/upgrade.md`:`/vspec:upgrade` で upgraded specs を生成するためのプロンプト
352
+ - `prompts/vspec_plan/estimate.md`:`/vspec:plan` で見積を生成するためのプロンプト
353
+ - `prompts/vspec_plan/schedule.md`:`/vspec:plan` で排期 HTML を生成するためのプロンプト
354
+ - `prompts/vspec_qc/qc.md`:`/vspec:qc` で QC レポートを生成するためのプロンプト
355
+ - `prompts/vspec_qc/quality_standard.md`:`/vspec:qc` が使用する内蔵品質基準
356
+
357
+ ## 推奨ワークフロー
358
+
359
+ 1. Skill をインストールする
360
+ 2. `/vspec:new` を実行する
361
+ 3. ユーザーに原始要件を入力してもらい、Enter を待つ
362
+ 4. `prompts/vspec_new/background.md` を読み込み、要件分析を開始する
363
+ 5. `待确认问题` にユーザーが回答するよう促す
364
+ 6. `prompts/vspec_new/stakeholders.md` を読み込み、`/specs/background/stakeholder.md` を生成
365
+ 7. `prompts/vspec_new/roles.md` を読み込み、`/specs/background/roles.md` を生成
366
+ 8. `prompts/vspec_new/terms.md` を読み込み、`/specs/background/terms.md` を生成
367
+ 9. `prompts/vspec_new/flows.md` を読み込み、`/specs/flows/*.puml` を生成
368
+ 10. `prompts/vspec_new/scenarios.md` を読み込み、`/specs/background/scenarios.md` を生成
369
+ 11. `prompts/vspec_new/details_pre_post.md` を読み込み、ノード単位の `pre_post.md` を生成
370
+ 12. `prompts/vspec_new/details_constraints.md` を読み込み、`constraints.md` を生成
371
+ 13. `prompts/vspec_new/details_variations.md` を読み込み、`variations.md` を生成
372
+ 14. `prompts/vspec_new/details_boundaries.md` を読み込み、`boundaries.md` を生成
373
+ 15. `prompts/vspec_new/details_symmetry.md` を読み込み、`symmetry.md` を生成
374
+ 16. `prompts/vspec_new/dependencies.md` を読み込み、`/specs/background/dependencies.md` を生成
375
+ 17. `prompts/vspec_new/functions.md` を読み込み、`/specs/functions/` を生成
376
+ 18. `prompts/vspec_new/questions.md` を読み込み、`/specs/background/questions.md` を生成
377
+ 19. 生成された分析手順に従ってプロジェクトを継続する
378
+
379
+ ## 出力ゴール
380
+
381
+ - 業務目的とコアユーザーシナリオを明確化する
382
+ - 主要ロール、ページ/モジュール、インタラクションフローを特定する
383
+ - エンティティと主要フィールドを抽出する
384
+ - 次の設計ステップへ進むための要件ドラフトを生成する
@@ -30,8 +30,10 @@ description: "将原始需求分析为可评审的视觉规格,并生成相关
30
30
  0. 确保 `/docs/` 存在,并确保子目录存在:
31
31
  - `/docs/legacy/`
32
32
  - `/docs/current/`
33
- - `/docs/change/`
34
33
  - `/docs/refine/`
34
+ - `/docs/dependencies/`
35
+ - 不要创建 `/docs/change/`(已废弃)
36
+ 0.2 若用户在命令参数中传入 `lang=<en|zh-CN|ja>`,则将 `/scheme.yaml` 的 `selected.language` 设置为该值(只更新该字段,其他字段与格式保持不变)。
35
37
  0.5 尽早创建可编辑的项目约束文件,便于用户提前调整(若已存在则不得覆盖):
36
38
  - 若缺失则创建 `/scheme.yaml`(包含原型选栈 + catalog)
37
39
  - 若缺失则创建 `/prototype_ui_convention.md`(与 `/scheme.yaml` 同级)
@@ -40,7 +42,7 @@ description: "将原始需求分析为可评审的视觉规格,并生成相关
40
42
  3. 加载提示词文件 `prompts/vspec_new/background.md`。
41
43
  4. 使用该提示词分析需求并扩展业务背景。
42
44
  5. 将原始需求与背景分析写入 `/specs/background/original.md`。
43
- 6. 提示用户回答 `待确认问题` 章节中的问题。
45
+ 6. 提示用户回答“待确认问题/Open Questions/要確認事項”章节中的问题(按所选语言对应章节标题)。
44
46
  7. 用户回复后,加载 `prompts/vspec_new/stakeholders.md` 分析干系人。
45
47
  8. 将干系人结果写入 `/specs/background/stakeholder.md`(markdown 表格)。
46
48
  9. 加载 `prompts/vspec_new/roles.md` 分析系统用户角色(直接用户)及其工作任务。
@@ -92,10 +94,24 @@ description: "将原始需求分析为可评审的视觉规格,并生成相关
92
94
  6. 更新 `/specs/background/questions.md`,标记本次运行中已视为回答的条目:
93
95
  - 用 `<mark>...</mark>` 包裹 `回答` 与 `状态`,以高亮已回答项。
94
96
 
97
+ ### `/vspec:more-q`
98
+
99
+ 用于在现有问题清单基础上,补充更多“待确认问题”,并追加到 `/specs/background/questions.md` 末尾。
100
+
101
+ 流程:
102
+ 1. 若 `/specs/background/questions.md` 不存在:停止并提示用户先运行 `/vspec:new` 生成基础问题清单。
103
+ 2. 加载 `prompts/vspec_more_q/more_q.md` 生成更多问题(必须去重,并延续编号)。
104
+ 3. 将新增条目追加到 `/specs/background/questions.md`(不得重写既有条目)。
105
+ 4. 输出明确指引:让用户按编号填写答案,然后执行 `/vspec:refine-q` 合并答案进入 `original.md`。
106
+
95
107
  ### `/vspec:detail`
96
108
 
97
109
  用于基于功能清单展开需求细节。
98
110
 
111
+ 语言:
112
+ - 读取 `/scheme.yaml` 的 `selected.language`(支持 `en`、`zh-CN`、`ja`;若缺失/非法则按 `en` 处理)。
113
+ - `/specs/` 下生成的规格文档必须统一使用所选语言(标题、表格、字段说明、状态文案、按钮文案、提示语等)。
114
+
99
115
  流程:
100
116
  1. 读取 `/specs/functions/*` 中的功能清单。
101
117
  - 必须遍历 `/specs/functions/` 目录下所有文件的每一行功能(不仅是 core.md),避免遗漏任何模块/外部系统相关功能点。
@@ -138,6 +154,10 @@ description: "将原始需求分析为可评审的视觉规格,并生成相关
138
154
 
139
155
  用于生成模型与可运行原型,用于快速验证与评审。
140
156
 
157
+ 语言:
158
+ - 读取 `/scheme.yaml` 的 `selected.language`(支持 `en`、`zh-CN`、`ja`;若缺失/非法则按 `en` 处理)。
159
+ - `/specs/models/` 模型文档与原型界面所有文案必须统一使用所选语言。
160
+
141
161
  流程:
142
162
  0. 确保 `/specs/details/` 存在且非空;若缺失则立即停止并提示前置条件:“请先执行 /vspec:detail 生成 /specs/details/,再执行 /vspec:verify”。
143
163
  1. 若 `/specs/background/questions.md` 存在且仍有未回答的问题,先要求用户回答再继续(允许逐条跳过,但必须保证不存在“未处理”的问题)。
@@ -181,6 +201,10 @@ description: "将原始需求分析为可评审的视觉规格,并生成相关
181
201
 
182
202
  Note:Pro 版支持更广泛的质量检测能力(例如更完整的原型/实现后校验项等),需要付费开通。
183
203
 
204
+ 语言:
205
+ - 读取 `/scheme.yaml` 的 `selected.language`(支持 `en`、`zh-CN`、`ja`;若缺失/非法则按 `en` 处理)。
206
+ - `/specs/qc_report.md` 报告必须统一使用所选语言。
207
+
184
208
  流程:
185
209
  1. 读取内置标准 `prompts/vspec_qc/quality_standard.md`。
186
210
  2. 若项目 `qc/` 下存在“需求质量错误簿”,则据此生成/更新项目根目录的 `quality_standard.md`。
@@ -192,6 +216,10 @@ Note:Pro 版支持更广泛的质量检测能力(例如更完整的原型/
192
216
 
193
217
  用于生成验收测试用例。
194
218
 
219
+ 语言:
220
+ - 读取 `/scheme.yaml` 的 `selected.language`(支持 `en`、`zh-CN`、`ja`;若缺失/非法则按 `en` 处理)。
221
+ - `/specs/acceptance/` 下生成的验收文档必须统一使用所选语言。
222
+
195
223
  流程:
196
224
  1. 读取 `/specs/functions/*`、`/specs/background/scenarios.md`、`/specs/background/scenario_details/`、`/specs/background/roles.md`、`/specs/models/*.md`。
197
225
  2. 加载 `prompts/vspec_accept/accept.md` 生成验收用例,覆盖主流程、异常、边界、权限与数据范围。
@@ -201,6 +229,10 @@ Note:Pro 版支持更广泛的质量检测能力(例如更完整的原型/
201
229
 
202
230
  用于基于验收用例与规格生成自动化测试代码。
203
231
 
232
+ 语言:
233
+ - 读取 `/scheme.yaml` 的 `selected.language`(支持 `en`、`zh-CN`、`ja`;若缺失/非法则按 `en` 处理)。
234
+ - 测试用例标题/描述尽量遵循所选语言。
235
+
204
236
  流程:
205
237
  1. 读取 `/specs/acceptance/`、`/specs/functions/*`、`/specs/details/`,并识别仓库中已有的测试框架。
206
238
  2. 加载 `prompts/vspec_test/test.md`,按既有框架与约定生成自动化测试。
@@ -224,6 +256,10 @@ Note:Pro 版支持更广泛的质量检测能力(例如更完整的原型/
224
256
 
225
257
  用于基于 `/docs/` 下材料(`/docs/legacy` 遗留系统、`/docs/current` 新输入)进行升级/改造分析,并按 `/vspec:new` 相同结构重新生成 `/specs/` 产物。
226
258
 
259
+ 语言:
260
+ - 读取 `/scheme.yaml` 的 `selected.language`(支持 `en`、`zh-CN`、`ja`;若缺失/非法则按 `en` 处理)。
261
+ - 重新生成/更新的 `/specs/**` 产物必须统一使用所选语言。
262
+
227
263
  流程:
228
264
  1. 确保 `/docs/current/file_list.md` 入口文件存在;若缺失则按模板生成。
229
265
  2. 读取 `/docs/current/file_list.md`,再按顺序读取 `/docs/` 下列出的输入(通常 `/docs/legacy/*`、`/docs/current/*`,可选 `/docs/templates/*`、`/docs/texts/*`、`/docs/assets/*`)并抽取结构化信息(功能、依赖、UI 风格、角色/权限、技术规格)。
@@ -235,6 +271,10 @@ Note:Pro 版支持更广泛的质量检测能力(例如更完整的原型/
235
271
 
236
272
  用于把需求拆解为故事地图并进行估算与排期。
237
273
 
274
+ 语言:
275
+ - 读取 `/scheme.yaml` 的 `selected.language`(支持 `en`、`zh-CN`、`ja`;若缺失/非法则按 `en` 处理)。
276
+ - `/specs/plan/plan_estimate.md` 与 `/specs/plan/plan_schedule.html` 必须统一使用所选语言。
277
+
238
278
  流程:
239
279
  1. 读取 `/specs/functions/*`、`/specs/background/roles.md`、`/specs/background/scenarios.md`、`/specs/details/`、`/specs/background/dependencies.md`。
240
280
  2. 加载 `prompts/vspec_plan/estimate.md`,按功能清单生成估算。
@@ -242,6 +282,20 @@ Note:Pro 版支持更广泛的质量检测能力(例如更完整的原型/
242
282
  4. 加载 `prompts/vspec_plan/schedule.md` 生成排期与交付地图。
243
283
  5. 将排期 HTML 写入 `/specs/plan/plan_schedule.html`。
244
284
 
285
+ ### `/vspec:mrd`
286
+
287
+ 用于生成市场与产品定位分析包(MRD):市场环境、竞品分析、用户定位、产品设计。
288
+
289
+ 流程:
290
+ 1. 确保 `/docs/market/` 存在。
291
+ 2. 读取可用输入:`/specs/background/original.md`、`/specs/background/roles.md`、`/specs/background/terms.md`、`/specs/background/scenarios.md`、`/specs/flows/*.puml`、`/specs/background/dependencies.md`,以及(如存在)`/specs/functions/*`。
292
+ 3. 加载 `prompts/vspec_mrd/mrd.md`。
293
+ 4. 分别写入:
294
+ - `/docs/market/market.md`
295
+ - `/docs/market/competitors.md`
296
+ - `/docs/market/users.md`
297
+ - `/docs/market/product_design.md`
298
+
245
299
  ## Prompt Files
246
300
 
247
301
  - `prompts/vspec_new/background.md`:`/vspec:new` 接收原始需求后立即使用的提示词。