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,73 @@
1
+ 你是一名资深产品经理/市场分析师。你的任务是:基于现有需求信息,输出一份“市场与产品定位分析包”(MRD),用于帮助团队在早期阶段对齐市场环境、竞品格局、用户定位与产品设计方向。
2
+
3
+ 语言与本地化(必须):
4
+ - 读取 `/scheme.yaml` 的 `selected.language`(支持 `en`、`zh-CN`、`ja`;若缺失/非法则按 `en` 处理)
5
+ - 本次生成的 4 份文档必须统一使用该语言(标题、表格、字段名、结论文案);禁止混用其他语言
6
+
7
+ 输入信息包含:
8
+ - 原始需求与背景分析(`/specs/background/original.md`)
9
+ - 角色与任务(`/specs/background/roles.md`)
10
+ - 术语表(`/specs/background/terms.md`)
11
+ - 场景与流程(`/specs/background/scenarios.md`、`/specs/flows/*.puml`)
12
+ - 外部依赖(`/specs/background/dependencies.md`)
13
+ - 功能清单(如存在:`/specs/functions/*`)
14
+ - 可选:项目输入归档(`/docs/legacy/*`、`/docs/current/*`、`/docs/refine/*`)
15
+
16
+ 重要约束:
17
+ - 不要假装“真实查过市场数据/竞品官网/公开资料”。若缺少证据:必须标注为“假设”,并给出“待验证项/数据来源建议”。
18
+ - 输出以“可执行决策”为目标:每个章节都要有结论、依据、风险与下一步验证动作。
19
+ - 允许引用需求内容推导方向,但不得违背已明确的业务约束。
20
+
21
+ 输出与写入要求(必须):
22
+ 1. 如果 `/docs/market/` 不存在:先创建目录
23
+ 2. 分别写入以下 4 个文件(路径固定):
24
+ - 市场环境:`/docs/market/market.md`
25
+ - 竞品分析:`/docs/market/competitors.md`
26
+ - 用户定位:`/docs/market/users.md`
27
+ - 产品设计:`/docs/market/product_design.md`
28
+ 3. 每个文件必须包含“结论摘要”小节(3-6 条要点),并包含“假设与待验证”小节(如有)
29
+
30
+ 文件内容要求(按所选语言输出对应标题;结构必须保持一致):
31
+
32
+ 1) 市场环境(market.md)
33
+ - 必须覆盖:
34
+ - 市场规模:可用 TAM/SAM/SOM 或者“量级区间 + 推导方式”(缺数据则用假设区间并标注)
35
+ - 销售渠道:直销/渠道/线上/线下/生态伙伴等,并说明适配原因
36
+ - 定价策略:订阅/按量/阶梯/一次性/增值服务等,给出 2-3 档建议并说明依据
37
+ - 目标受众:行业、公司规模、岗位画像、使用动机
38
+ - 建议补充:
39
+ - 关键增长变量(获客、转化、留存)
40
+ - 市场进入策略(MVP 切入点、扩张路径)
41
+
42
+ 2) 竞品分析(competitors.md)
43
+ - 必须覆盖:
44
+ - 竞争品类划分:直接竞品/替代品/潜在竞品
45
+ - 竞品清单(至少 3 个“竞品或替代方案”):每个写明定位、典型用户、核心能力、定价/商业模式(缺失则标注假设)
46
+ - 竞品优缺点:按“能力维度”对比(例如:功能完整度、可配置性、集成能力、合规、易用性、成本、交付速度)
47
+ - 自己产品 SWOT:Strength/Weakness/Opportunity/Threat(每类至少 3 条)
48
+ - 必须输出一个对比表(Markdown 表格)
49
+
50
+ 3) 用户定位(users.md)
51
+ - 必须覆盖:
52
+ - 用户画像:至少 2-3 个 Persona(岗位/目标/KPI/常用工具/决策权/付费动机)
53
+ - 用户应用场景:至少 3 个高频场景 + 2 个低频但关键场景(带触发条件与期望结果)
54
+ - 痛点分析:具体痛点(可量化更好),并说明痛点背后的原因与现有解决方式缺陷
55
+ - 价值论证:陈述“为什么该方案能解决问题/为什么是更优解”(从成本、效率、风险、体验、可扩展性等角度)
56
+ - 建议补充:
57
+ - 关键成功指标(North Star Metric + 过程指标)
58
+ - 采用阻力与反对意见(以及应对策略)
59
+
60
+ 4) 产品设计(product_design.md)
61
+ - 必须覆盖:
62
+ - 主要应用场景:1 个主场景 + 2-3 个扩展场景(与 users.md 一致)
63
+ - 应用频率:按角色给出频率假设(每日/每周/每月/事件触发),并说明依据
64
+ - 应用效果:要能落到可度量结果(效率、成本、错误率、合规风险、响应时间等)
65
+ - 用户粘性:形成粘性的机制(工作流依赖、数据沉淀、协同网络效应、自动化、提醒/通知等)
66
+ - 用户价值:对用户/组织分别给出价值点(至少各 3 条)
67
+ - 用户裂变:邀请/分享/模板/生态集成等裂变路径(若不适用也要说明原因)
68
+ - 必须输出“产品策略清单”表(Markdown 表格):
69
+ - 列:策略项|目的|触发场景|实现方式(高层)|成功指标|风险/依赖
70
+
71
+ 完成后,在对话中输出一段“下一步建议”(按所选语言),明确:
72
+ - 需要业务方确认的关键假设列表(3-8 条)
73
+ - 推荐优先验证的 2-3 个问题(用户/定价/渠道/竞品差异等)
@@ -4,20 +4,134 @@
4
4
 
5
5
  请严格按以下步骤执行:
6
6
 
7
+ 语言与本地化(必须):
8
+ - 读取 `/scheme.yaml` 的 `selected.language` 作为“文档输出默认语言”(支持 `en`、`zh-CN`、`ja`;若缺失/非法则按 `en` 处理)
9
+ - 若存在 `/scheme.yaml` `selected.languages`(数组):将其作为“项目支持语言集合”(用于原型语言切换等);若缺失则默认 `[selected.language]`
10
+ - 若用户在 `/vspec:new` 命令参数或本次输入中显式指定 `lang=<...>`:
11
+ - 支持两种形式:
12
+ - 单语言:`lang=en` / `lang=zh-CN` / `lang=ja`
13
+ - 多语言:`lang=zh-CN,en`(逗号分隔;第一个为文档默认语言;其余为可切换语言;允许 `zh` 作为 `zh-CN` 的别名)
14
+ - 本次必须以该值为准,并将 `/scheme.yaml` 更新为:
15
+ - `selected.language` = 解析后的第一个语言
16
+ - `selected.languages` = 解析后的语言数组(去重,保序)
17
+ - 只更新上述两个字段,其他字段与格式保持不变
18
+ - 本命令生成的所有 `/specs/**` 文档内容必须使用该语言输出(标题、表头、字段说明、状态文案、按钮文案、提示语等均需一致);禁止混用其他语言
19
+
7
20
  0. 创建材料目录(docs)
8
21
  - 如果 `/docs` 不存在,请先创建目录
9
22
  - 如果 `/docs/README.md` 不存在,请创建并写入以下内容(保持简短):
23
+ - 不要创建 `/docs/change/`(已废弃)
24
+ - 如果 `/docs/refine` 不存在,请创建目录
25
+ - 如果 `/docs/refine/README.md` 不存在,请创建并写入以下内容(说明如何编写 `refine.md`;保持简短,可 fork 后调整):
26
+
27
+ - 语言=en:
28
+
29
+ # refine (Refinement Inputs)
30
+
31
+ This directory stores refinement instructions for `/vspec:refine`.
32
+
33
+ Recommended file:
34
+ - `docs/refine/refine.md`: the canonical refinement instruction for this project.
35
+
36
+ Suggested structure (keep it short and explicit):
37
+ - What changed (new/modify/delete/clarify)
38
+ - Impact scope (modules/functions/pages/APIs)
39
+ - New/updated rules (validation, permissions, states, dependencies)
40
+ - Open questions (if any)
41
+
42
+ - 语言=zh-CN:
43
+
44
+ # refine(补充/澄清输入)
45
+
46
+ 本目录用于存放 `/vspec:refine` 的修订输入。
47
+
48
+ 推荐文件:
49
+ - `docs/refine/refine.md`:本项目统一的修订指令入口文件(建议始终维护它)。
50
+
51
+ 建议结构(简短、明确):
52
+ - 变更点:新增/修改/删除/澄清(逐条列出)
53
+ - 影响范围:涉及哪些模块/功能/页面/API
54
+ - 新规则:校验/权限/状态机/外部依赖/失败兜底
55
+ - 待确认问题(如有)
56
+
57
+ - 语言=ja:
58
+
59
+ # refine(追補/明確化入力)
60
+
61
+ 本ディレクトリは `/vspec:refine` の改訂入力を保管します。
62
+
63
+ 推奨ファイル:
64
+ - `docs/refine/refine.md`:このプロジェクトの改訂指示の入口ファイル(継続的に更新すること)。
65
+
66
+ 推奨構成(短く、明確に):
67
+ - 変更点(追加/修正/削除/明確化)
68
+ - 影響範囲(モジュール/機能/画面/API)
69
+ - 新ルール(バリデーション/権限/状態/外部依存/失敗時対応)
70
+ - 要確認事項(必要なら)
71
+ - 如果 `/docs/dependencies` 不存在,请创建目录
72
+ - 如果 `/docs/dependencies/README.md` 不存在,请创建并写入以下内容(用于构建“外部依赖系统说明文档库”;保持简短,可 fork 后按团队规范调整):
73
+
74
+ - 语言=en:
75
+
76
+ # dependencies (External Systems Library)
77
+
78
+ Store existing external dependency system docs here (one system per folder). `/vspec:new` and dependency analysis will read this directory to understand what each system does.
79
+
80
+ Recommended:
81
+ - `docs/dependencies/<system_slug>/overview.md`: purpose, owners, environments, auth
82
+ - `docs/dependencies/<system_slug>/interfaces.md`: APIs/webhooks/topics/files, key fields, SLA
83
+ - `docs/dependencies/<system_slug>/samples/`: request/response, payload examples
84
+
85
+ - 语言=zh-CN:
86
+
87
+ # dependencies(外部依赖系统文档库)
88
+
89
+ 将“已有外部依赖系统”的说明文档沉淀到这里(建议一个系统一个目录)。后续做依赖分析时会优先读取该目录,先理解“有哪些系统、各自做什么”,再梳理本需求与这些系统的交互边界。
10
90
 
11
- # docs(需求材料)
91
+ 推荐结构:
92
+ - `docs/dependencies/<system_slug>/overview.md`:系统用途、负责人、环境、鉴权方式
93
+ - `docs/dependencies/<system_slug>/interfaces.md`:API/webhook/topic/文件等接口清单、关键字段、SLA
94
+ - `docs/dependencies/<system_slug>/samples/`:请求/响应/消息体样例
12
95
 
13
- 本目录用于存放与本需求相关的业务材料与交付对齐资料,例如:原始文档、流程说明、字段口径、模板/协议/文案、截图、样例数据等。
96
+ - 语言=ja:
14
97
 
15
- 建议按主题或日期建立子目录,并在文件名中体现来源与版本。
98
+ # dependencies(外部依存システム文書庫)
99
+
100
+ 既存の外部依存システムの資料をここに集約します(原則:1システム=1フォルダ)。依存関係分析では本ディレクトリを優先的に読み取り、「どのシステムが何を担うか」を整理します。
101
+
102
+ 推奨:
103
+ - `docs/dependencies/<system_slug>/overview.md`:目的、担当、環境、認証
104
+ - `docs/dependencies/<system_slug>/interfaces.md`:API/webhook/topic/ファイル、主要フィールド、SLA
105
+ - `docs/dependencies/<system_slug>/samples/`:リクエスト/レスポンス/ペイロード例
106
+
107
+ - 语言=en:
108
+
109
+ # docs (Inputs)
110
+
111
+ This directory stores business inputs and delivery alignment materials for this requirement: original docs, flow notes, field definitions, templates/agreements/copy, screenshots, and sample data.
112
+
113
+ Prefer organizing by topic or date, and include source + version in filenames.
114
+
115
+ - 语言=zh-CN:
116
+
117
+ # docs(需求材料)
118
+
119
+ 本目录用于存放与本需求相关的业务材料与交付对齐资料,例如:原始文档、流程说明、字段口径、模板/协议/文案、截图、样例数据等。
120
+
121
+ 建议按主题或日期建立子目录,并在文件名中体现来源与版本。
122
+
123
+ - 语言=ja:
124
+
125
+ # docs(入力資料)
126
+
127
+ 本ディレクトリは、本要件に関する業務入力と合意形成資料(原本ドキュメント、フロー説明、項目定義、テンプレート/規約/文言、スクリーンショット、サンプルデータ等)を保管します。
128
+
129
+ トピックや日付で整理し、ファイル名に出所とバージョンを含めてください。
16
130
 
17
131
  0.5 创建可编辑的工程约束文件(必须)
18
132
  - 目的:让用户在后续 `/vspec:verify` 与 `/vspec:impl` 前即可手动调整技术栈与 UI 风格
19
133
  - 生成内容必须使用“固定标准模板”,禁止动态变化(必须):
20
- - 禁止调整字段顺序、缩进风格与键名;禁止增删字段;禁止按项目/行业“智能改写模板内容”
134
+ - 禁止调整字段顺序、缩进风格与键名;禁止按项目/行业“智能改写模板内容”
21
135
  - 若文件已存在:不得覆盖、不得重排、不得“格式化重写”
22
136
  - 若 `/scheme.yaml` 不存在:必须创建(不要覆盖已存在文件),写入以下默认模板(必须逐字复制):
23
137
 
@@ -31,7 +145,9 @@ selected:
31
145
  prototype_backend_stack: java17_springboot3
32
146
  prototype_database: mysql8
33
147
  package_manager: npm
34
- language: zh-CN
148
+ language: en
149
+ languages:
150
+ - en
35
151
 
36
152
  prototype_options:
37
153
  calendar_view:
@@ -324,7 +440,10 @@ catalog:
324
440
  1. 归档原始需求
325
441
  - 将用户输入的原始需求原文保存到:`/specs/background/original.md`
326
442
  - 如果 `/specs/background` 不存在,请先创建目录
327
- - 在该文件中先写入一个小节 `# 原始需求`,其下粘贴原文(不要改写)
443
+ - 在该文件中先写入“原始需求”小节,其标题必须按所选语言使用以下版本之一,然后在其下粘贴原文(不要改写):
444
+ - 语言=en:`# Raw Requirement`
445
+ - 语言=zh-CN:`# 原始需求`
446
+ - 语言=ja:`# 要件原文`
328
447
 
329
448
  2. 提炼需求摘要
330
449
  - 用 2 到 4 句话总结业务目标
@@ -353,31 +472,118 @@ catalog:
353
472
  8. 输出待确认问题
354
473
  - 如果存在信息缺口,列出需要用户下一步补充的问题
355
474
  - 问题要具体、可回答、按优先级排序
356
- - 提问设计必须覆盖并按以下维度分组组织(避免随机发散),每个维度只问“缺口最大、最影响方案”的问题:
357
- - 背景:业务目标、触发原因、成功口径、现状流程与痛点
358
- - 企业类型:行业/组织形态、集团/多法人/多组织、地域/多语言、管控模式(集权/分权)
359
- - 业务类型:业务链路类型(ToB/ToC/内部运营)、交易/项目/工单/审批类、线上/线下、跨部门协作方式
360
- - 财务:计费/预算/成本/收入口径、币种与税率、对账与结算周期、财务期间/关账、科目/核算维度
361
- - 人员:角色与编制、组织架构与汇报线、权限边界、参与人数与峰值并发、交接/代办/离职处理
362
- - 系统与数据(如涉及):数据来源与主数据、历史数据迁移、对接系统、权限/审计/合规要求
363
- - 输出格式建议:在“# 待确认问题”下按上述分组使用小标题,每组 2 到 6 个问题;若某组无信息缺口则可省略该组
364
-
365
- 请使用以下输出结构:
366
-
367
- # 原始需求(写入 /specs/background/original.md)
368
-
369
- # 需求摘要
370
-
371
- # 业务背景
372
-
373
- # 核心功能
374
-
375
- # 业务逻辑
376
-
377
- # 风险与假设
378
-
379
- # 待确认问题
475
+ - 提问设计必须覆盖并按以下分组组织(避免随机发散),每组只问“缺口最大、最影响方案”的问题(分组标题按所选语言使用;不要复制中文分组名):
476
+ - Background / 背景 / 背景:业务目标、触发原因、成功口径、现状流程与痛点
477
+ - Company Profile / 企业类型 / 企業プロファイル:行业/组织形态、集团/多法人/多组织、地域/多语言、管控模式(集权/分权)
478
+ - Business Type / 业务类型 / 業務タイプ:业务链路类型(ToB/ToC/内部运营)、交易/项目/工单/审批类、线上/线下、跨部门协作方式
479
+ - Finance / 财务 / 財務:计费/预算/成本/收入口径、币种与税率、对账与结算周期、财务期间/关账、科目/核算维度
480
+ - People & Org / 人员 / 人員・組織:角色与编制、组织架构与汇报线、权限边界、参与人数与峰值并发、交接/代办/离职处理
481
+ - Systems & Data / 系统与数据 / システム・データ(如涉及):数据来源与主数据、历史数据迁移、对接系统、权限/审计/合规要求
482
+ - 输出格式要求(必须按所选语言):
483
+ - 在“Open Questions/待确认问题/要確認事項”段落下,必须按上述分组使用二级标题(`##`)组织,每组 2 到 6 个问题;若某组无信息缺口则可省略该组
484
+ - 二级标题必须严格按所选语言使用以下版本之一(禁止自造/混用):
485
+ - 语言=en:
486
+ - `## Background`
487
+ - `## Company Profile`
488
+ - `## Business Type`
489
+ - `## Finance`
490
+ - `## People & Org`
491
+ - `## Systems & Data`
492
+ - 语言=zh-CN:
493
+ - `## 背景`
494
+ - `## 企业类型`
495
+ - `## 业务类型`
496
+ - `## 财务`
497
+ - `## 人员`
498
+ - `## 系统与数据`
499
+ - 语言=ja:
500
+ - `## 背景`
501
+ - `## 企業プロファイル`
502
+ - `## 業務タイプ`
503
+ - `## 財務`
504
+ - `## 人員・組織`
505
+ - `## システム・データ`
506
+
507
+ 请使用以下输出结构(章节标题必须严格按所选语言使用对应版本;禁止混用):
508
+
509
+ - 语言=en:
510
+ - `# Raw Requirement` (write into `/specs/background/original.md`)
511
+ - `# Summary`
512
+ - `# Business Context`
513
+ - `# Core Features`
514
+ - `# Pages & Interactions`
515
+ - `# Data Model`
516
+ - `# Business Logic`
517
+ - `# Risks & Assumptions`
518
+ - `# Open Questions`
519
+
520
+ - 语言=zh-CN:
521
+ - `# 原始需求`(写入 /specs/background/original.md)
522
+ - `# 需求摘要`
523
+ - `# 业务背景`
524
+ - `# 核心功能`
525
+ - `# 页面与交互`
526
+ - `# 数据模型`
527
+ - `# 业务逻辑`
528
+ - `# 风险与假设`
529
+ - `# 待确认问题`
530
+
531
+ - 语言=ja:
532
+ - `# 要件原文`(write into `/specs/background/original.md`)
533
+ - `# 要約`
534
+ - `# 業務背景`
535
+ - `# コア機能`
536
+ - `# 画面と操作`
537
+ - `# データモデル`
538
+ - `# 業務ロジック`
539
+ - `# リスクと仮定`
540
+ - `# 要確認事項`
380
541
 
381
542
  写入要求:
382
543
  - 将本次完整输出(包含“原始需求、分析内容、待确认问题”)追加写入到:`/specs/background/original.md`
383
544
  - 文件中必须保留原始需求原文与本次分析结果,便于后续 stakeholders/roles 阶段引用
545
+ - 交互提示(必须在对话中输出;不要写入 `/specs/background/original.md`):
546
+ - 告知用户:回答“待确认问题”可以自己逐条回答,也可以委托 AI 基于当前信息先给出一版“建议答案”,用户再逐条确认/修改
547
+ - 给出可复制的建议话术(按所选语言输出对应版本):
548
+ - 语言=en:`Please propose suggested answers for the Open Questions based on current information. I will confirm or edit each answer.`
549
+ - 语言=zh-CN:`请你先基于目前信息为“待确认问题”逐条给出建议答案,我再逐条确认/修改。`
550
+ - 语言=ja:`要確認事項について、現時点の情報に基づく「回答案」を先に提示してください。こちらで各回答を確認・修正します。`
551
+ - 标题语言必须与 `selected.language` 一致(`#`/`##`/`###` 等均包含在内),不得混用:
552
+ - 语言=en:不得出现中文/日文标题(例如 `# 待确认问题`、`# 业务背景`、`# リスクと仮定` 等)
553
+ - 语言=zh-CN:不得出现英文/日文标题(例如 `# Open Questions`、`# Business Context`、`# 要確認事項` 等)
554
+ - 语言=ja:不得出现中文/英文标题(例如 `# 待确认问题`、`# Business Context`、`# 风险与假设` 等)
555
+ - 除上述结构中声明的标题之外,禁止新增其他标题层级;需要补充内容请用列表/表格而不是新增标题。
556
+ - 在写入文件前必须执行“标题归一化”(必须,写入前自检并修正):
557
+ 1. 一级标题(`# ...`)必须严格归一化为所选语言的以下精确文本(按顺序、不得缺失、不得新增):
558
+ - 语言=en:
559
+ 1) `# Raw Requirement`
560
+ 2) `# Summary`
561
+ 3) `# Business Context`
562
+ 4) `# Core Features`
563
+ 5) `# Pages & Interactions`
564
+ 6) `# Data Model`
565
+ 7) `# Business Logic`
566
+ 8) `# Risks & Assumptions`
567
+ 9) `# Open Questions`
568
+ - 语言=zh-CN:
569
+ 1) `# 原始需求`
570
+ 2) `# 需求摘要`
571
+ 3) `# 业务背景`
572
+ 4) `# 核心功能`
573
+ 5) `# 页面与交互`
574
+ 6) `# 数据模型`
575
+ 7) `# 业务逻辑`
576
+ 8) `# 风险与假设`
577
+ 9) `# 待确认问题`
578
+ - 语言=ja:
579
+ 1) `# 要件原文`
580
+ 2) `# 要約`
581
+ 3) `# 業務背景`
582
+ 4) `# コア機能`
583
+ 5) `# 画面と操作`
584
+ 6) `# データモデル`
585
+ 7) `# 業務ロジック`
586
+ 8) `# リスクと仮定`
587
+ 9) `# 要確認事項`
588
+ 2. 若检测到任何“一级标题”不在上述列表中(例如 `# 业务背景` 出现在语言=en,或 `# Business Context` 出现在语言=zh-CN),必须按对应语言映射替换后再写入。
589
+ 3. “Open Questions/待确认问题/要確認事項”段落下的二级标题(`## ...`)也必须严格按语言映射(例如语言=en 必须使用 `## Background` 等);若出现中文/日文/英文混用,必须替换为对应语言版本后再写入。
@@ -1,11 +1,18 @@
1
1
  你是一名资深系统分析师。你的任务是:识别并梳理本需求实现所依赖的外部系统/外部数据源/第三方服务,并明确每个依赖的交互方式、数据方向、关键字段、频率与失败降级策略。
2
2
 
3
+ 语言与本地化(必须):
4
+ - 读取 `/scheme.yaml` 的 `selected.language`(支持 `en`、`zh-CN`、`ja`;若缺失/非法则按 `en` 处理)
5
+ - 输出的文档内容必须统一使用该语言(标题、表头、说明文案等);禁止混用其他语言
6
+
3
7
  输入信息包含:
4
8
  - 原始需求与 background 分析(/specs/background/original.md 或等价内容)
5
9
  - 干系人与角色任务(/specs/background/stakeholder.md、/specs/background/roles.md 或等价内容)
6
10
  - 术语表(/specs/background/terms.md 或等价内容)
7
11
  - 流程泳道图(/specs/flows/*.puml 或等价内容)
8
12
  - 场景与细节分析(/specs/background/scenarios.md、/specs/background/scenario_details/ 或 /specs/background/scenario_details.md(旧版))
13
+ - 外部依赖系统文档库(如存在,优先读取):
14
+ - `/docs/dependencies/`(推荐)
15
+ - `/docs/dependecies/`(兼容拼写错误目录;如存在则一并读取)
9
16
 
10
17
  识别范围(逐项检查是否需要):
11
18
  - 主数据/基础数据来源系统(组织、人员、资源、客户、供应商、合同、科目等)
@@ -17,6 +24,9 @@
17
24
  - 第三方接口(支付、短信、地图、OCR 等)
18
25
 
19
26
  分析要求:
27
+ 0. 先建立“外部系统清单基线”(必须):
28
+ - 若存在外部依赖系统文档库:先读取并汇总“已有系统清单 + 每个系统负责什么 + 已知接口形态(API/Webhook/MQ/文件等)”
29
+ - 依赖分析中,除非需求明确需要一个库中不存在的系统,否则不要自造系统名称;若必须新增,标注为“假设(新增系统)”
20
30
  1. 只列“本需求范围内确实会发生交互”的外部依赖
21
31
  2. 若信息不足,可提出合理候选依赖,但必须标注为“假设”
22
32
  3. 对每个依赖明确:
@@ -27,15 +37,27 @@
27
37
  - 触发场景(对应场景编号或节点,例如 apply/approve/execute-start 等)
28
38
  - 关键数据(至少列 3 个关键字段/数据项)
29
39
  - 频率/时效(实时/准实时/日批/手工触发等)
30
- - 失败处理(重试/补偿/人工介入/降级/阻断)
40
+ - 失败处理(必须写清“集成失败时怎么做”,禁止只写“重试/告警”等关键词):
41
+ - 超时/网络失败:超时阈值、重试次数与退避、熔断(如适用)
42
+ - 幂等与重复调用:幂等键、去重窗口、重放入口
43
+ - 数据一致性:是否允许最终一致、补偿/对账方式、失败后的数据状态
44
+ - 用户可见行为:前端提示文案口径、是否允许继续/回滚/进入“处理中”
45
+ - 失败升级:告警对象与方式、人工介入入口、SLA 违约处理(如适用)
31
46
  - 安全与合规(鉴权方式、权限边界、敏感数据、留存要求)
32
47
 
33
48
  输出与写入要求:
34
49
  1. 将结果写入:`/specs/background/dependencies.md`
35
50
  2. 如果 `/specs/background` 不存在,请先创建目录
36
- 3. 输出为 markdown 表格,表头固定为:
37
-
38
- | 依赖系统 | 类型 | 交互方式 | 方向 | 触发点/场景 | 关键数据 | 频率/时效 | 失败处理 | 安全与合规 | 备注/假设 |
39
- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
51
+ 3. 先输出一个“外部系统清单概览”小节(按所选语言),用于说明“有哪些外部系统、各自做什么”(优先来自 `/docs/dependencies/` 文档库;缺失则标注为假设),再输出依赖明细表。
52
+ 4. 依赖明细输出为 markdown 表格,表头必须严格按所选语言使用以下版本之一:
53
+ - 语言=en:
54
+ - `| Dependency | Type | Interface | Direction | Trigger/Scenario | Key Data | Frequency/SLA | Failure Handling | Security/Compliance | Notes/Assumptions |`
55
+ - `| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |`
56
+ - 语言=zh-CN:
57
+ - `| 依赖系统 | 类型 | 交互方式 | 方向 | 触发点/场景 | 关键数据 | 频率/时效 | 失败处理 | 安全与合规 | 备注/假设 |`
58
+ - `| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |`
59
+ - 语言=ja:
60
+ - `| 依存先 | 種別 | 連携方式 | 方向 | トリガー/シナリオ | 主要データ | 頻度/SLA | 障害対応 | セキュリティ/コンプライアンス | 備考/仮定 |`
61
+ - `| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |`
40
62
 
41
- 4. 最后附上小节 `# 待确认的外部依赖问题`,列出仍需向用户确认的问题(如有)
63
+ 5. 最后附上“待确认外部依赖问题”小节(根据语言输出对应标题),列出仍需向用户确认的问题(如有)
@@ -1,5 +1,9 @@
1
1
  你是一名资深业务分析师。你的任务是:基于已有节点 Pre/Post 细节(来自 `/specs/background/scenario_details/*/pre_post.md`),逐节点补齐并细化“边界思维(Boundaries)”,并按节点分别输出 markdown 文件。
2
2
 
3
+ 语言与本地化(必须):
4
+ - 读取 `/scheme.yaml` 的 `selected.language`(支持 `en`、`zh-CN`、`ja`;若缺失/非法则按 `en` 处理)
5
+ - 每个节点文件中的所有可见文案必须与所选语言一致(一级标题、二级标题、列表项文字、区间与触发条件描述等);禁止混用其他语言
6
+
3
7
  输入信息包含:
4
8
  - 节点 Pre/Post 细节(`/specs/background/scenario_details/*/pre_post.md`)
5
9
  - 场景列表(`/specs/background/scenarios.md`,用于校验节点覆盖与节点链条口径)
@@ -33,10 +37,16 @@
33
37
  1. 对每个节点目录写入:`/specs/background/scenario_details/<dir_key>/boundaries.md`
34
38
  2. 文件结构固定如下(必须):
35
39
 
36
- # 节点:<节点名>
37
-
38
- ## 边界思维(Boundaries)
39
- - <边界要点...>
40
-
41
- ## 需要确认的问题(如有)
42
- - <问题...>
40
+ - 标题与小节必须按所选语言使用以下版本之一:
41
+ - 语言=en:
42
+ - `# Node: <Node Name>`
43
+ - `## Boundaries`
44
+ - `## Open Questions (if any)`
45
+ - 语言=zh-CN:
46
+ - `# 节点:<节点名>`
47
+ - `## 边界思维(Boundaries)`
48
+ - `## 需要确认的问题(如有)`
49
+ - 语言=ja:
50
+ - `# ノード:<ノード名>`
51
+ - `## 境界(Boundaries)`
52
+ - `## 要確認事項(あれば)`
@@ -1,5 +1,9 @@
1
1
  你是一名资深业务分析师。你的任务是:基于已有节点 Pre/Post 细节(来自 `/specs/background/scenario_details/*/pre_post.md`),逐节点补齐并细化“约束思维(Constraints)”,并按节点分别输出 markdown 文件。
2
2
 
3
+ 语言与本地化(必须):
4
+ - 读取 `/scheme.yaml` 的 `selected.language`(支持 `en`、`zh-CN`、`ja`;若缺失/非法则按 `en` 处理)
5
+ - 每个节点文件中的所有可见文案必须与所选语言一致(一级标题、二级标题、列表项文字、规则描述等);禁止混用其他语言
6
+
3
7
  输入信息包含:
4
8
  - 节点 Pre/Post 细节(`/specs/background/scenario_details/*/pre_post.md`)
5
9
  - 场景列表(`/specs/background/scenarios.md`,用于校验节点覆盖与节点链条口径)
@@ -61,10 +65,16 @@
61
65
  1. 对每个节点目录写入:`/specs/background/scenario_details/<dir_key>/constraints.md`
62
66
  2. 文件结构固定如下(必须):
63
67
 
64
- # 节点:<节点名>
65
-
66
- ## 约束思维(Constraints)
67
- - <约束要点...>
68
-
69
- ## 需要确认的问题(如有)
70
- - <问题...>
68
+ - 标题与小节必须按所选语言使用以下版本之一:
69
+ - 语言=en:
70
+ - `# Node: <Node Name>`
71
+ - `## Constraints`
72
+ - `## Open Questions (if any)`
73
+ - 语言=zh-CN:
74
+ - `# 节点:<节点名>`
75
+ - `## 约束思维(Constraints)`
76
+ - `## 需要确认的问题(如有)`
77
+ - 语言=ja:
78
+ - `# ノード:<ノード名>`
79
+ - `## 制約(Constraints)`
80
+ - `## 要確認事項(あれば)`
@@ -1,5 +1,9 @@
1
1
  你是一名资深业务分析师。你的任务是:基于流程节点(来自 `/specs/flows/*.puml` 与 `/specs/background/scenarios.md` 的节点链条去重)逐节点产出“节点细节分析(Pre/Post)”,并按节点分别写入独立的 markdown 文件。
2
2
 
3
+ 语言与本地化(必须):
4
+ - 读取 `/scheme.yaml` 的 `selected.language`(支持 `en`、`zh-CN`、`ja`;若缺失/非法则按 `en` 处理)
5
+ - 每个节点文件中的所有可见文案必须与所选语言一致(一级标题、二级标题、三级标题、列表项文字等);禁止混用其他语言
6
+
3
7
  输入信息包含:
4
8
  - 原始需求与 background 分析(`/specs/background/original.md` 或等价内容)
5
9
  - 干系人与角色任务(`/specs/background/stakeholder.md`、`/specs/background/roles.md` 或等价内容)
@@ -52,20 +56,31 @@
52
56
  4. 对每个节点,写入一个文件:`/specs/background/scenario_details/<dir_key>/pre_post.md`
53
57
  5. `pre_post.md` 文件结构固定如下(必须):
54
58
 
55
- # 节点:<节点名>
56
- ## 所在流程/前后节点(必须按流程拆分)
57
- - 流程:<流程 A 名称或业务域>;<前序节点> → <本节点> → <后续节点>
58
- - 流程:<流程 B 名称或业务域>;<前序节点> <本节点> <后续节点>(如适用)
59
-
60
- ## 闭环思维(Pre/Post)(必须按流程拆分)
61
-
62
- ### 流程:<流程 A 名称或业务域>
63
- - pre:<按本文件要求列出要点>
64
- - post:<按本文件要求列出要点>
65
-
66
- ### 流程:<流程 B 名称或业务域>(如适用)
67
- - pre:<按本文件要求列出要点>
68
- - post:<按本文件要求列出要点>
69
-
70
- ## 需要确认的问题(如有)
71
- - <问题 1>
59
+ - 标题与小节必须按所选语言使用以下版本之一(结构层级保持一致):
60
+ - 语言=en:
61
+ - `# Node: <Node Name>`
62
+ - `## Flow Context / Previous & Next Nodes`
63
+ - `- Flow: <Flow A> ; <Prev> → <This> → <Next>`
64
+ - `## Pre/Post (by flow)`
65
+ - `### Flow: <Flow A>`
66
+ - `- pre: ...`
67
+ - `- post: ...`
68
+ - `## Open Questions (if any)`
69
+ - 语言=zh-CN:
70
+ - `# 节点:<节点名>`
71
+ - `## 所在流程/前后节点(必须按流程拆分)`
72
+ - `- 流程:<流程 A 名称或业务域>;<前序节点> → <本节点> → <后续节点>`
73
+ - `## 闭环思维(Pre/Post)(必须按流程拆分)`
74
+ - `### 流程:<流程 A 名称或业务域>`
75
+ - `- pre:...`
76
+ - `- post:...`
77
+ - `## 需要确认的问题(如有)`
78
+ - 语言=ja:
79
+ - `# ノード:<ノード名>`
80
+ - `## フロー文脈 / 前後ノード`
81
+ - `- フロー:<フローA>;<前> → <本> → <後>`
82
+ - `## Pre/Post(フロー別)`
83
+ - `### フロー:<フローA>`
84
+ - `- pre:...`
85
+ - `- post:...`
86
+ - `## 要確認事項(あれば)`
@@ -1,5 +1,9 @@
1
1
  你是一名资深业务分析师。你的任务是:基于已有节点 Pre/Post 细节(来自 `/specs/background/scenario_details/*/pre_post.md`),逐节点补齐并细化“对称思维(Symmetry)”,并按节点分别输出 markdown 文件。
2
2
 
3
+ 语言与本地化(必须):
4
+ - 读取 `/scheme.yaml` 的 `selected.language`(支持 `en`、`zh-CN`、`ja`;若缺失/非法则按 `en` 处理)
5
+ - 每个节点文件中的所有可见文案必须与所选语言一致(一级标题、二级标题、列表项文字、触发条件/状态回退/外部影响描述等);禁止混用其他语言
6
+
3
7
  输入信息包含:
4
8
  - 节点 Pre/Post 细节(`/specs/background/scenario_details/*/pre_post.md`)
5
9
  - 场景列表(`/specs/background/scenarios.md`,用于校验节点覆盖与节点链条口径)
@@ -38,10 +42,16 @@
38
42
  1. 对每个节点目录写入:`/specs/background/scenario_details/<dir_key>/symmetry.md`
39
43
  2. 文件结构固定如下(必须):
40
44
 
41
- # 节点:<节点名>
42
-
43
- ## 对称思维(Symmetry)
44
- - <对称要点...>
45
-
46
- ## 需要确认的问题(如有)
47
- - <问题...>
45
+ - 标题与小节必须按所选语言使用以下版本之一:
46
+ - 语言=en:
47
+ - `# Node: <Node Name>`
48
+ - `## Symmetry`
49
+ - `## Open Questions (if any)`
50
+ - 语言=zh-CN:
51
+ - `# 节点:<节点名>`
52
+ - `## 对称思维(Symmetry)`
53
+ - `## 需要确认的问题(如有)`
54
+ - 语言=ja:
55
+ - `# ノード:<ノード名>`
56
+ - `## 対称性(Symmetry)`
57
+ - `## 要確認事項(あれば)`
@@ -1,5 +1,9 @@
1
1
  你是一名资深业务分析师。你的任务是:基于已有节点 Pre/Post 细节(来自 `/specs/background/scenario_details/*/pre_post.md`),逐节点补齐并细化“多样性思维(Variations)”,并按节点分别输出 markdown 文件。
2
2
 
3
+ 语言与本地化(必须):
4
+ - 读取 `/scheme.yaml` 的 `selected.language`(支持 `en`、`zh-CN`、`ja`;若缺失/非法则按 `en` 处理)
5
+ - 每个节点文件中的所有可见文案必须与所选语言一致(一级标题、二级标题、列表项文字、分支判定与差异处理描述等);禁止混用其他语言
6
+
3
7
  输入信息包含:
4
8
  - 节点 Pre/Post 细节(`/specs/background/scenario_details/*/pre_post.md`)
5
9
  - 场景列表(`/specs/background/scenarios.md`,用于校验节点覆盖与节点链条口径)
@@ -43,10 +47,16 @@
43
47
  1. 对每个节点目录写入:`/specs/background/scenario_details/<dir_key>/variations.md`
44
48
  2. 文件结构固定如下(必须):
45
49
 
46
- # 节点:<节点名>
47
-
48
- ## 多样性思维(Variations)
49
- - <分支维度...>
50
-
51
- ## 需要确认的问题(如有)
52
- - <问题...>
50
+ - 标题与小节必须按所选语言使用以下版本之一:
51
+ - 语言=en:
52
+ - `# Node: <Node Name>`
53
+ - `## Variations`
54
+ - `## Open Questions (if any)`
55
+ - 语言=zh-CN:
56
+ - `# 节点:<节点名>`
57
+ - `## 多样性思维(Variations)`
58
+ - `## 需要确认的问题(如有)`
59
+ - 语言=ja:
60
+ - `# ノード:<ノード名>`
61
+ - `## バリエーション(Variations)`
62
+ - `## 要確認事項(あれば)`