visual-spec 0.1.0 → 0.1.2

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 (113) hide show
  1. package/README.md +25 -25
  2. package/bin/{vreq-skill.cjs → vspec.cjs} +0 -0
  3. package/docs/en-US/commands.md +87 -0
  4. package/docs/en-US/concepts.md +36 -0
  5. package/docs/en-US/getting-started.md +85 -0
  6. package/docs/en-US/installation.md +37 -0
  7. package/docs/en-US/scheme.example.yaml +71 -0
  8. package/docs/en-US/structure.md +74 -0
  9. package/docs/en-US/ui-spec-modification-notes.md +35 -0
  10. package/docs/en-US/workflows.md +65 -0
  11. package/docs/zh-CN/commands.md +87 -0
  12. package/docs/zh-CN/concepts.md +36 -0
  13. package/docs/zh-CN/getting-started.md +84 -0
  14. package/docs/zh-CN/installation.md +37 -0
  15. package/docs/zh-CN/scheme.example.yaml +71 -0
  16. package/docs/zh-CN/structure.md +73 -0
  17. package/docs/zh-CN/ui-spec-modification-notes.md +35 -0
  18. package/docs/zh-CN/workflows.md +65 -0
  19. package/package.json +4 -4
  20. package/scripts/postinstall.cjs +16 -6
  21. package/skills/visual-spec-skill/SKILL-zh-CN.md +264 -0
  22. package/{.trae/skills/starter-skill → skills/visual-spec-skill}/SKILL.md +40 -69
  23. package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_detail/cron_job.md +1 -1
  24. package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_detail/file_export.md +7 -4
  25. package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_detail/file_import.md +7 -4
  26. package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_detail/nfp.md +1 -1
  27. package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_detail/state_machine.md +1 -1
  28. package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_detail/timeline.md +1 -1
  29. package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_impl/implement.md +29 -13
  30. package/skills/visual-spec-skill/prompts/vspec_new/background.md +383 -0
  31. package/skills/visual-spec-skill/prompts/vspec_new/functions.md +168 -0
  32. package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_new/questions.md +19 -6
  33. package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_new/scenarios.md +9 -1
  34. package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_plan/estimate.md +2 -2
  35. package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_plan/schedule.md +4 -4
  36. package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_refine/refine.md +1 -1
  37. package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_refine/refine_q.md +15 -2
  38. package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_verify/model.md +11 -2
  39. package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_verify/prototype.md +254 -32
  40. package/skills/visual-spec-skill/prompts/vspec_verify/prototype_article.md +34 -0
  41. package/skills/visual-spec-skill/prompts/vspec_verify/prototype_big_screen.md +37 -0
  42. package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_verify/prototype_calendar.md +1 -1
  43. package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_verify/prototype_dashboard.md +17 -0
  44. package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_verify/prototype_landing.md +1 -1
  45. package/skills/visual-spec-skill/prompts/vspec_verify/prototype_mobile_agreement.md +30 -0
  46. package/skills/visual-spec-skill/prompts/vspec_verify/prototype_mobile_calendar.md +34 -0
  47. package/skills/visual-spec-skill/prompts/vspec_verify/prototype_mobile_cart.md +51 -0
  48. package/skills/visual-spec-skill/prompts/vspec_verify/prototype_mobile_comprehensive_search.md +65 -0
  49. package/skills/visual-spec-skill/prompts/vspec_verify/prototype_mobile_dashboard.md +34 -0
  50. package/skills/visual-spec-skill/prompts/vspec_verify/prototype_mobile_feed.md +31 -0
  51. package/skills/visual-spec-skill/prompts/vspec_verify/prototype_mobile_payment.md +56 -0
  52. package/skills/visual-spec-skill/prompts/vspec_verify/prototype_mobile_product.md +38 -0
  53. package/skills/visual-spec-skill/prompts/vspec_verify/prototype_mobile_qr.md +33 -0
  54. package/skills/visual-spec-skill/prompts/vspec_verify/prototype_mobile_signature.md +31 -0
  55. package/skills/visual-spec-skill/prompts/vspec_verify/prototype_mobile_video_course.md +40 -0
  56. package/skills/visual-spec-skill/prompts/vspec_verify/prototype_mobile_waterfall.md +30 -0
  57. package/skills/visual-spec-skill/prompts/vspec_verify/prototype_music.md +30 -0
  58. package/skills/visual-spec-skill/prompts/vspec_verify/prototype_order.md +45 -0
  59. package/skills/visual-spec-skill/prompts/vspec_verify/prototype_product_reviews.md +32 -0
  60. package/skills/visual-spec-skill/prompts/vspec_verify/prototype_promotion.md +58 -0
  61. package/skills/visual-spec-skill/prompts/vspec_verify/prototype_quiz.md +58 -0
  62. package/skills/visual-spec-skill/prompts/vspec_verify/prototype_richtext_publish.md +54 -0
  63. package/skills/visual-spec-skill/prompts/vspec_verify/prototype_super_form_builder.md +50 -0
  64. package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_verify/prototype_toolbox.md +1 -0
  65. package/skills/visual-spec-skill/prompts/vspec_verify/prototype_video.md +27 -0
  66. package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_verify/validation.md +5 -1
  67. package/.trae/skills/starter-skill/prompts/vspec_new/background.md +0 -76
  68. package/.trae/skills/starter-skill/prompts/vspec_new/functions.md +0 -82
  69. package/docs/commands.md +0 -84
  70. package/docs/concepts.md +0 -36
  71. package/docs/installation.md +0 -32
  72. package/docs/structure.md +0 -69
  73. package/docs/workflows.md +0 -69
  74. /package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_accept/accept.md +0 -0
  75. /package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_change/change.md +0 -0
  76. /package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_detail/code_rules.md +0 -0
  77. /package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_detail/data_permission.md +0 -0
  78. /package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_detail/decision_matrix.md +0 -0
  79. /package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_detail/expression_tree.md +0 -0
  80. /package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_detail/formula.md +0 -0
  81. /package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_detail/interaction.md +0 -0
  82. /package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_detail/judgemental_matrix.md +0 -0
  83. /package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_detail/logging_matrix.md +0 -0
  84. /package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_detail/mq.md +0 -0
  85. /package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_detail/notification_matrix.md +0 -0
  86. /package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_detail/page_load.md +0 -0
  87. /package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_detail/post_submit_check.md +0 -0
  88. /package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_detail/post_submit_navigation.md +0 -0
  89. /package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_detail/post_submit_processing.md +0 -0
  90. /package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_detail/rbac.md +0 -0
  91. /package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_detail/validation_matrix.md +0 -0
  92. /package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_new/dependencies.md +0 -0
  93. /package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_new/details.md +0 -0
  94. /package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_new/details_boundaries.md +0 -0
  95. /package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_new/details_constraints.md +0 -0
  96. /package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_new/details_pre_post.md +0 -0
  97. /package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_new/details_symmetry.md +0 -0
  98. /package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_new/details_variations.md +0 -0
  99. /package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_new/flows.md +0 -0
  100. /package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_new/roles.md +0 -0
  101. /package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_new/stakeholders.md +0 -0
  102. /package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_new/terms.md +0 -0
  103. /package/{.trae/skills/starter-skill → 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
  104. /package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_qc/qc.md +0 -0
  105. /package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_qc/quality_standard.md +0 -0
  106. /package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_test/test.md +0 -0
  107. /package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_upgrade/upgrade.md +0 -0
  108. /package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_verify/prototype_apply.md +0 -0
  109. /package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_verify/prototype_approve.md +0 -0
  110. /package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_verify/prototype_crud.md +0 -0
  111. /package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_verify/prototype_execute.md +0 -0
  112. /package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_verify/prototype_mobile_list.md +0 -0
  113. /package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_verify/prototype_tool_pages.md +0 -0
package/README.md CHANGED
@@ -1,31 +1,31 @@
1
- 本工程是一个需求分析与交付辅助 Skill,提供一组以 `/vspec:*` 命令驱动的流程,用于把原始需求逐步产出为规格、模型、原型、细节、验收用例、测试与集成实现所需的输入。
1
+ This repo provides a requirements analysis and delivery assistant Skill. It offers a `/vspec:*` command-driven workflow that turns raw requirements into reviewable artifacts: specs, data models, runnable prototypes, detailed design, acceptance cases, tests, and integrated implementation inputs.
2
2
 
3
- ## 功能概览
3
+ ## Overview
4
4
 
5
- - 需求分析:从原始描述生成背景、干系人、角色、术语、流程、场景、细节、依赖、功能清单与待确认问题
6
- - 方案验证:生成数据模型、页面原型与场景确认页
7
- - 细节梳理:按功能点输出权限/数据权限/交互/校验/日志/通知/MQ/导入导出/定时任务等规格
8
- - 验收与测试:生成验收测试用例与自动化测试代码
9
- - 集成开发:生成前后端集成代码(按仓库现有技术栈与约定)
10
- - 变更响应:分析需求变更影响并更新产物,生成变更日志
11
- - 排期规划:按功能清单输出估算与排期(HTML
5
+ - Requirements analysis: generate background, stakeholders, roles, terms, flows, scenarios, details, dependencies, function list, and open questions
6
+ - Solution verification: generate data models, runnable prototypes, and a scenario review page
7
+ - Detailed design: produce RBAC/data-permission/interaction/validation/logging/notification/MQ/import-export/cron specs per function
8
+ - Acceptance & testing: generate acceptance cases and automated test code
9
+ - Integrated implementation: generate backend + frontend integrated code (aligned with the repo’s actual stack and conventions)
10
+ - Change handling: analyze impacts, update artifacts, and produce a change log
11
+ - Planning: estimate and schedule based on the function list (HTML output)
12
12
 
13
- ## 命令
13
+ ## Commands
14
14
 
15
- - `/vspec:new`:生成基础规格产物(输出到 `/specs/`)
16
- - `/vspec:refine`:读取 `/docs/refine/` 的修订材料(或命令参数),修订需求并同步更新 `/specs/details/` `/specs/prototypes/`(需已有 details 才执行)
17
- - `/vspec:refine-q`:基于 `questions.md` 的已回答内容修订需求内容,并更新 `/specs/background/original.md` 中的“当前生效需求”
18
- - `/vspec:verify`:生成数据模型与 Vue + Ant Design Vue 原型(输出到 `/specs/models/`、`/specs/prototypes/`)
19
- - `/vspec:detail`:按功能点生成细节规格(输出到 `/specs/details/`)
20
- - `/vspec:accept`:生成验收测试用例(输出到 `/specs/acceptance/`)
21
- - `/vspec:test`:生成自动化测试代码(写入仓库既有测试目录或 `/tests/`)
22
- - `/vspec:impl`:生成前后端集成代码(只允许写入 `/specs/prototypes/` 原型工程内)
23
- - `/vspec:upgrade`:从 `/docs/`(legacy/current/templates/texts/assets)读取旧系统与新增材料,升级改造并生成/更新 `/specs/`,同步技术规格到 `/scheme.yaml`
24
- - `/vspec:change`:读取 `/docs/change/` 的变更材料,做影响分析并更新产物,输出 `/specs/change_log.md`(更新前需 git 快照提交)
25
- - `/vspec:qc`:对 `/specs/` 产物进行质量检查并输出不合格清单(输出到 `/specs/qc_report.md`)
26
- - `/vspec:plan`:估算与排期(输出到 `/specs/plan_estimate.md`、`/specs/plan_schedule.html`)
15
+ - `/vspec:new`: Generate baseline spec artifacts (writes to `/specs/`)
16
+ - `/vspec:refine`: Apply refinements from `/docs/refine/` (or command arguments) and update `/specs/details/` and `/specs/prototypes/` (requires existing details)
17
+ - `/vspec:refine-q`: Merge answered items from `questions.md` back into the spec and update the canonical requirement in `/specs/background/original.md`
18
+ - `/vspec:detail`: Generate per-function detailed specs (writes to `/specs/details/`)
19
+ - `/vspec:verify`: Generate data models and a stack-selected runnable prototype (per `/scheme.yaml`) (writes to `/specs/models/`, `/specs/prototypes/`; requires non-empty `/specs/details/`)
20
+ - `/vspec:accept`: Generate acceptance test cases (writes to `/specs/acceptance/`)
21
+ - `/vspec:test`: Generate automated test code (writes into the repo’s existing test directories or `/tests/`)
22
+ - `/vspec:impl`: Generate integrated backend + frontend implementation code (writes under `/specs/`)
23
+ - `/vspec:upgrade`: Upgrade/redesign based on legacy + new inputs under `/docs/` (legacy/current/templates/texts/assets), generate/update `/specs/`, and sync technical selections to `/scheme.yaml`
24
+ - `/vspec:change`: Analyze and apply change inputs from `/docs/change/`, update artifacts, and write `/specs/change_log.md` (requires a git snapshot commit before updating)
25
+ - `/vspec:qc`: Run artifact quality checks and write a report (writes to `/specs/qc_report.md`)
26
+ - `/vspec:plan`: Generate estimation and schedule (writes to `/specs/plan/plan_estimate.md`, `/specs/plan/plan_schedule.html`)
27
27
 
28
- ## 目录结构
28
+ ## Directory Structure
29
29
 
30
- - `.trae/skills/starter-skill/SKILL.md`:Skill 定义与命令流程
31
- - `.trae/skills/starter-skill/prompts/`:各命令对应的提示词文件
30
+ - `skills/visual-spec-skill/SKILL.md`: Skill definition and command workflow
31
+ - `skills/visual-spec-skill/prompts/`: prompt files used by each command
File without changes
@@ -0,0 +1,87 @@
1
+ ## Command Overview
2
+
3
+ | Command | Purpose | Primary Inputs | Primary Outputs |
4
+ | --- | --- | --- | --- |
5
+ | `/vspec:new` | Generate baseline spec artifacts from raw requirements | Raw requirement text + interactive Q&A | `/specs/` (original, stakeholders, roles, terms, flows, scenarios, scenario_details, dependencies, functions, questions) + initializes `/docs/*` archive directories |
6
+ | `/vspec:refine` | Apply refinement materials and sync impacted details and prototypes | `/docs/refine/*` (or command args) + baseline `/specs/background/original.md` + prerequisite `/specs/details/` | Appends to `/specs/background/original.md` (change list + canonical) + updates impacted `/specs/details/` and `/specs/prototypes/` |
7
+ | `/vspec:refine-q` | Merge answered questions back into the requirement | `/specs/background/original.md` + `/specs/background/questions.md` | Appends to `/specs/background/original.md` (adopted items + change list + canonical) |
8
+ | `/vspec:detail` | Expand per-function detailed specs | `/specs/functions/*` + supporting artifacts (background/flows/roles; models if any) | `/specs/details/<function_slug>/*` (RBAC, interaction, validation, logging, notifications, MQ, import/export, cron, etc.) |
9
+ | `/vspec:verify` | Generate models and prototype for fast validation | Existing `/specs/` artifacts (functions + details + roles) | `/specs/models/*.md`, `/specs/prototypes/` (stack-selected runnable prototype + `scenario.html` review page) |
10
+ | `/vspec:accept` | Generate acceptance test cases | functions/scenarios/details/roles/models | `/specs/acceptance/<function_slug>/acceptance_cases.md`, `/specs/acceptance/index.md` |
11
+ | `/vspec:test` | Generate automated test code | acceptance cases + repo test stack | Writes into existing test directories or `/tests/` |
12
+ | `/vspec:impl` | Generate integrated backend + frontend implementation | specs/details/models/dependencies | Writes integrated implementation code (API contract, backend, frontend integration) |
13
+ | `/vspec:upgrade` | Analyze and generate new specs based on legacy materials | `/docs/current/file_list.md` + `/docs/legacy/*` (optional templates/texts/assets) + existing `/specs/background/original.md` (if any) | Generate/update `/specs/` in `/vspec:new` structure + sync technical selections to `/scheme.yaml` |
14
+ | `/vspec:change` | Apply change inputs, do impact analysis, and update artifacts | `/docs/change/*` (optional file_list.md) + existing `/specs/` | Update impacted files (prefers `/specs/details/<module_slug>/`) + `/specs/change_log.md` (requires git snapshot commit before updating) |
15
+ | `/vspec:qc` | Run quality checks on `/specs/` artifacts | built-in standard + optional project `quality_standard.md` + `/specs/` | `/specs/qc_report.md` |
16
+ | `/vspec:plan` | Estimation and scheduling | functions/roles/flows/dependencies/details | `/specs/plan/plan_estimate.md`, `/specs/plan/plan_schedule.html` |
17
+
18
+ ## `/vspec:new`
19
+
20
+ - When to use: you just received the requirement and information is incomplete; you need a shared language and a first-cut spec quickly
21
+ - Key outputs: stakeholders, roles, terms, flows, scenarios, function list, open questions
22
+ - Directory initialization: creates `/docs/` and its subdirectories (legacy/current/change/refine/templates/texts/assets) for input archiving and future command inputs
23
+
24
+ ## `/vspec:refine`
25
+
26
+ - When to use: new information/refinements appear during implementation; you need to update the canonical requirement while keeping traceability, and sync details and prototype
27
+ - Inputs:
28
+ - Default: `/docs/refine/` (prefers `/docs/refine/file_list.md`, otherwise reads files by name order)
29
+ - Optional: command args can override with explicit files/directories (higher priority)
30
+ - Prerequisite: `/specs/details/` must exist and be non-empty; otherwise `refine` does not run (to avoid upstream changes without downstream sync)
31
+ - Key outputs:
32
+ - Append “change list + canonical requirement + impact analysis and artifact updates” to the end of `original.md`
33
+ - Update impacted `/specs/details/` (prefer updating existing files) and `/specs/prototypes/` (minimal reviewable diff)
34
+
35
+ ## `/vspec:refine-q`
36
+
37
+ - When to use: business has answered `/specs/background/questions.md`, and you want to merge those answers into the requirement and produce a new canonical version
38
+ - Key outputs: adopted Q&A items + change list + canonical requirement
39
+
40
+ ## `/vspec:detail`
41
+
42
+ - When to use: before design/implementation, you need each function to be specified at an implementable level
43
+ - Key outputs: RBAC to control level, data permissions, load/interaction/validation matrices, post-submit processing, logging/notification matrices, MQ, import/export, cron jobs
44
+
45
+ ## `/vspec:verify`
46
+
47
+ - When to use: after details are available, you want to validate the data structure and page shape quickly and reduce misunderstanding risk
48
+ - Prerequisite: `/specs/details/` exists and is non-empty
49
+ - Key outputs: model files (entity splitting), runnable prototype, scenario review page
50
+ - UI spec: generates or reuses `/prototype_ui_convention.md` (same directory as `/scheme.yaml`) and uses it as the single source of truth to constrain prototype UI style and interactions
51
+ - Note: before running `/vspec:verify`, review `/specs/functions/*` and `/specs/details/` to ensure the scope is complete; otherwise models and prototypes may miss features.
52
+
53
+ ## `/vspec:accept`
54
+
55
+ - When to use: align delivery and acceptance with an executable set of cases
56
+ - Key outputs: per-function acceptance case tables covering happy path, exceptions, boundaries, RBAC, and data permissions
57
+
58
+ ## `/vspec:test`
59
+
60
+ - When to use: turn acceptance cases into runnable automated tests (E2E/API/unit)
61
+ - Key outputs: reuse the repo’s existing test frameworks and scripts; avoid introducing new dependencies
62
+
63
+ ## `/vspec:impl`
64
+
65
+ - When to use: convert spec artifacts into runnable integrated backend + frontend code
66
+ - Key outputs: API contract, backend implementation, frontend pages and API integration, RBAC/state machine enforcement
67
+
68
+ ## `/vspec:change`
69
+
70
+ - When to use: explicit change requests arrive and you need traceable updates and impact assessment
71
+ - Inputs: read from `/docs/change/` (optional `/docs/change/file_list.md` as an ordered entry list; compatible with legacy path `/docs/changes/`)
72
+ - Update strategy: prioritize the impacted module directory `/specs/details/<module_slug>/` and sync models/functions/prototypes/acceptance as needed
73
+ - Pre-update snapshot: if the target repo is a git repo, create a snapshot commit before writing any updates so diffs are reviewable
74
+ - Key outputs: structured change list, impact analysis table, change log, and corresponding artifact updates
75
+
76
+ ## `/vspec:upgrade`
77
+
78
+ - When to use: do an “upgrade/redesign/migration” analysis based on legacy system materials, inherit what is needed, and generate new spec artifacts
79
+ - Entry list: `/docs/current/file_list.md` (generates a template if missing) to list input files, usage, extracted key points, and whether required
80
+ - Input scope: usually from `/docs/legacy/*` and `/docs/current/*`, optionally combined with `/docs/templates/*`, `/docs/texts/*`, `/docs/assets/*`
81
+ - Key outputs: generate/update `/specs/` using the `/vspec:new` artifact structure, and label inherited/new/adjusted/deprecated items in the function list
82
+ - Stack sync: extract technical selections from “system technical spec” inputs and write them into `/scheme.yaml` for `/vspec:verify` and `/vspec:impl`
83
+
84
+ ## `/vspec:plan`
85
+
86
+ - When to use: align delivery cadence, decompose via story mapping, and build a schedule
87
+ - Key outputs: story decomposition and estimation (person-days), iteration plan, and an HTML story map
@@ -0,0 +1,36 @@
1
+ ## Design Principles
2
+
3
+ ### 1. Collaborate Through Artifacts
4
+
5
+ - Turn “discussion” into “reviewable artifacts” to reduce alignment cost
6
+ - Artifacts progress by layers: raw requirement → specs (`/specs`) → models (`/specs/models`) → prototype (`/specs/prototypes`) → details (`/specs/details`) → acceptance/tests/code
7
+
8
+ ### 2. Scenario-Driven Decomposition (Not Feature Piling)
9
+
10
+ - Use node chains (apply/approve/cancel/change/execute-start/execute-end, etc.) to cover the happy path and rollback paths
11
+ - Drive details from scenarios: every function point should map to “executable user actions + verifiable expected outcomes”
12
+
13
+ ### 3. RBAC and Data Permissions First
14
+
15
+ - RBAC down to page sections and controls to avoid “page is visible but buttons shouldn’t be clickable”
16
+ - Model data permissions independently (row/column/scope/status/org) and compose them with RBAC (authorize first, then filter)
17
+
18
+ ### 4. Implementation-Friendly Detail
19
+
20
+ - Express page load, interactions, and post-submit behavior as checklists/tables for engineering implementation and review
21
+ - Use “matrices” for validation/logging/notifications to ensure complete coverage and traceability
22
+
23
+ ### 5. Consistency and Observability by Default
24
+
25
+ - Provide explicit specs for external dependencies, MQ, retries, DLQ, compensations, etc.
26
+ - Require traceability (trace_id/request_id), auditability (activity logs), and alertability (failures/backlogs) by default
27
+
28
+ ### 6. Acceptance → Automation → Integration
29
+
30
+ - Use acceptance cases as a shared language for dev and QA
31
+ - Prefer reusing existing test frameworks and directory conventions to reduce maintenance
32
+ - Generated code focuses on minimal reviewable diffs and a runnable end-to-end loop
33
+
34
+ ### 7. Requirements That Are Easy to Change
35
+
36
+ - Generated requirement docs should be editable, readable, easy to spot issues, easy to fix, and quick to adapt to changes.
@@ -0,0 +1,85 @@
1
+ ## Getting Started
2
+
3
+ This package provides a `/vspec:*` command-driven Skill that turns raw requirements into reviewable artifacts: specs, data models, runnable prototypes, detailed design, acceptance cases, tests, and integrated implementation inputs.
4
+
5
+ ### 1. Installation
6
+
7
+ Install the npm package, then install the Skill into your AI editor configuration directory:
8
+
9
+ - Installation and verification: `installation.md`
10
+
11
+ Install / update (npm):
12
+
13
+ ```bash
14
+ npm install -g visual-spec
15
+ ```
16
+
17
+ Install / update (pnpm):
18
+
19
+ ```bash
20
+ pnpm add -g visual-spec
21
+ ```
22
+
23
+ Install / update (yarn):
24
+
25
+ Yarn Classic:
26
+
27
+ ```bash
28
+ yarn global add visual-spec
29
+ ```
30
+
31
+ Yarn Berry (v2+):
32
+
33
+ ```bash
34
+ yarn dlx -p visual-spec vspec
35
+ ```
36
+
37
+ ### 2. Recommended Workflow
38
+
39
+ - Initial spec: `/vspec:new`
40
+ - During execution it generates an open question list (`/specs/background/questions.md`)
41
+ - Fill in business answers in that file before continuing the workflow
42
+ - Merge Q&A into the canonical requirement: `/vspec:refine-q`
43
+ - Detailed specs: `/vspec:detail`
44
+ - Quick validation (models + prototype): `/vspec:verify` (requires non-empty `/specs/details/`)
45
+ - Acceptance cases: `/vspec:accept`
46
+ - Integrated implementation: `/vspec:impl`
47
+ - Automated tests: `/vspec:test`
48
+ - Change handling: `/vspec:change`
49
+ - Upgrade/redesign (inherit from legacy materials): `/vspec:upgrade`
50
+
51
+ ### 3. Key Directories
52
+
53
+ - `/docs/`: input archive (legacy/current/change/refine/templates/texts/assets)
54
+ - `/specs/`: generated artifacts (background/details/models/prototypes/acceptance, etc.)
55
+ - `/scheme.yaml`: stack and package manager selection (prototype and implementation must follow it)
56
+
57
+ Directory structure reference:
58
+
59
+ - `structure.md`
60
+ - `structure.md`
61
+
62
+ Next:
63
+
64
+ - Read `structure.md` to confirm where inputs are stored and where outputs are generated
65
+
66
+ ### 4. Common Scenarios
67
+
68
+ #### Refinements (`refine`)
69
+
70
+ - Put refinement materials into `/docs/refine/`
71
+ - Prerequisite: `/specs/details/` must exist and be non-empty, otherwise `refine` does not run
72
+ - Run: `/vspec:refine`
73
+ - Result: appends updates to `/specs/background/original.md` and syncs impacted `/specs/details/` and `/specs/prototypes/`
74
+
75
+ #### Changes (`change`)
76
+
77
+ - Put change materials into `/docs/change/` (optional `file_list.md`)
78
+ - Run: `/vspec:change`
79
+ - Result: performs impact analysis, updates artifacts (prefers `/specs/details/<module_slug>/`), and updates the change log
80
+
81
+ #### Upgrade/Redesign (`upgrade`)
82
+
83
+ - List input materials in `/docs/current/file_list.md` (legacy system under `/docs/legacy/`, new inputs under `/docs/current/`)
84
+ - Run: `/vspec:upgrade`
85
+ - Result: generates/updates `/specs/` and syncs technical selections into `/scheme.yaml`
@@ -0,0 +1,37 @@
1
+ ## Install into Skill-Enabled AI Editors
2
+
3
+ This package uses a script to copy the built-in Skill directory into your AI editor configuration directory (Trae / Qwen / Kiro, etc.). The exact config path differs by editor, but the installation logic is the same: install `visual-spec-skill` into the target `skills/` directory.
4
+
5
+ ### Prerequisites
6
+
7
+ - Node.js >= 14
8
+
9
+ ### Install / Update (npm)
10
+
11
+ ```bash
12
+ npm install -g visual-spec
13
+ ```
14
+
15
+ ### Install / Update (pnpm)
16
+
17
+ ```bash
18
+ pnpm add -g visual-spec
19
+ ```
20
+
21
+ ### Install / Update (yarn)
22
+
23
+ Yarn Classic:
24
+
25
+ ```bash
26
+ yarn global add visual-spec
27
+ ```
28
+
29
+ Yarn Berry (v2+):
30
+
31
+ ```bash
32
+ yarn dlx -p visual-spec vspec
33
+ ```
34
+
35
+ ### Next
36
+
37
+ - Getting started: `getting-started.md`
@@ -0,0 +1,71 @@
1
+ schema_version: 1
2
+
3
+ selected:
4
+ prototype_frontend_stack: vue3_vite_ts_antdv
5
+ prototype_frontend_framework: vue
6
+ prototype_frontend_ui_library: ant-design-vue
7
+ prototype_backend_stack: java17_springboot3
8
+ prototype_database: mysql8
9
+ package_manager: npm
10
+ language: zh-CN
11
+
12
+ prototype_options:
13
+ calendar_view:
14
+ enabled: auto
15
+ view_default: month
16
+ resource_dimension: auto
17
+
18
+ catalog:
19
+ prototype_frontend_stacks:
20
+ - id: vue3_vite_ts_antdv
21
+ name: Vue 3 + Vite + TypeScript + Ant Design Vue
22
+ framework: vue
23
+ framework_version: "3"
24
+ build_tool: vite
25
+ language: typescript
26
+ ui_library: ant-design-vue
27
+ router: vue-router@4
28
+ state: pinia
29
+ http_client: axios
30
+ charting: echarts
31
+ date_library: dayjs
32
+ styling: less
33
+ lint: eslint
34
+ formatter: prettier
35
+ unit_test: vitest
36
+ e2e_test: playwright
37
+
38
+ - id: react18_vite_ts_antd
39
+ name: React 18 + Vite + TypeScript + Ant Design
40
+ framework: react
41
+ framework_version: "18"
42
+ build_tool: vite
43
+ language: typescript
44
+ ui_library: antd
45
+ router: react-router@6
46
+ state: redux-toolkit
47
+ http_client: axios
48
+ charting: echarts-for-react
49
+ date_library: dayjs
50
+ styling: less
51
+ lint: eslint
52
+ formatter: prettier
53
+ unit_test: vitest
54
+ e2e_test: playwright
55
+
56
+ prototype_backend_stacks:
57
+ - id: java17_springboot3
58
+ name: Java 17 + Spring Boot 3
59
+ language: java
60
+ framework: spring-boot
61
+ api_style: rest
62
+ auth: spring-security-jwt
63
+ orm: jpa_or_mybatis
64
+
65
+ - id: node18_nestjs10_ts
66
+ name: Node.js 18 + NestJS 10 + TypeScript
67
+ language: typescript
68
+ framework: nestjs
69
+ api_style: rest
70
+ auth: jwt
71
+ orm: prisma
@@ -0,0 +1,74 @@
1
+ # Directory Structure
2
+
3
+ This document describes the directory structure used in a target project:
4
+ - The `/specs/` artifact tree generated by the Skill (requirements/design deliverables)
5
+
6
+
7
+ ## Target Project Layout
8
+
9
+ The Skill generates artifacts under `/specs/` (incrementally by command stage) and maintains a small set of project-level configs and input archive directories. A typical layout:
10
+
11
+ ```text
12
+ <your-project>/
13
+ ├─ docs/ # Input archive (/vspec:new creates it)
14
+ │ ├─ legacy/ # Legacy system materials (features, permissions, interactions, APIs, etc.)
15
+ │ ├─ current/ # New/additional materials for this iteration (goals, deltas, flows, UI constraints, etc.)
16
+ │ │ └─ file_list.md # Upgrade entry list (/vspec:upgrade reads/generates)
17
+ │ ├─ change/ # Change inputs (/vspec:change reads)
18
+ │ │ └─ file_list.md # Optional ordered input list
19
+ │ ├─ refine/ # Refinement inputs (/vspec:refine reads)
20
+ │ │ └─ file_list.md # Optional ordered input list
21
+ │ ├─ templates/ # Templates (PRD/copy/UI/table templates, optional)
22
+ │ ├─ texts/ # Copywriting (prompts, error messages, agreements, message templates, optional)
23
+ │ └─ assets/ # Static assets (designs, screenshots, prototypes, images, optional)
24
+ ├─ scheme.yaml # Prototype stack selection (/vspec:verify uses; created with defaults if missing)
25
+ └─ specs/
26
+ ├─ background/ # Background analysis and shared materials
27
+ │ ├─ original.md # Raw requirement (or equivalent input)
28
+ │ ├─ stakeholders.md # Stakeholders
29
+ │ ├─ roles.md # Roles and responsibilities
30
+ │ ├─ terms.md # Glossary
31
+ │ ├─ scenarios.md # Scenario list
32
+ │ ├─ scenario_details/ # Scenario details per node: pre_post.md/constraints.md/variations.md/boundaries.md/symmetry.md
33
+ │ ├─ dependencies.md # External dependencies
34
+ │ └─ questions.md # Open questions (must be resolved or explicitly skipped before verify)
35
+ ├─ flows/ # Flow diagrams (PlantUML)
36
+ │ └─ *.puml
37
+ ├─ functions/ # Function list (split by module)
38
+ │ └─ *.md
39
+ ├─ details/ # Per-function detailed design (/vspec:detail output)
40
+ │ └─ <module_slug>/
41
+ │ ├─ rbac/ # RBAC
42
+ │ ├─ data_permission/ # Data permissions
43
+ │ ├─ page_load/
44
+ │ ├─ interaction/
45
+ │ ├─ validation_matrix/
46
+ │ ├─ logging_matrix/
47
+ │ ├─ notification_matrix/
48
+ │ ├─ mq/
49
+ │ ├─ nfp/ # Non-functional requirements (performance, security, compatibility, resilience, stability)
50
+ │ ├─ file_import/
51
+ │ ├─ file_export/
52
+ │ └─ cron_job/
53
+ ├─ models/ # Data models (/vspec:verify output)
54
+ │ ├─ *.md
55
+ │ └─ README.md
56
+ ├─ prototypes/ # Runnable prototype + review pages (/vspec:verify output)
57
+ │ └─ ...
58
+ ├─ acceptance/ # Acceptance cases (/vspec:accept output)
59
+ │ ├─ index.md
60
+ │ └─ ...
61
+ ├─ qc_report.md # Quality report (/vspec:qc output)
62
+ ├─ plan/ # Planning outputs (/vspec:plan output)
63
+ │ ├─ plan_estimate.md # Estimation
64
+ │ └─ plan_schedule.html # Schedule page
65
+ └─ change_log.md # Change log (/vspec:change output)
66
+ ```
67
+
68
+ Notes:
69
+ - `docs/`: archive business inputs and delivery alignment materials. Use subdirectories like `legacy/current/change/refine/templates/texts/assets` and include source/version in filenames.
70
+ - `scheme.yaml`: selects the stack and options used by `/vspec:verify` and `/vspec:impl`. It reads `scheme.yaml` at the project root first, then `/specs/scheme.yaml`. If neither exists, it creates a default `scheme.yaml`.
71
+
72
+ Next:
73
+
74
+ - Read `commands.md` for each `/vspec:*` command’s inputs, outputs, and usage scenarios
@@ -0,0 +1,35 @@
1
+ ## Background
2
+
3
+ As the prototype grows (Web + Mobile), the number and types of pages will keep increasing. Without a unified UI convention, it is very easy to get:
4
+
5
+ - Inconsistent layouts across similar pages (tables/forms/details)
6
+ - Inconsistent status colors and status wording
7
+ - Fragmented visual language between Mobile and Web
8
+ - Inconsistent interaction patterns (create flows, in-page forms, drawer/modal usage)
9
+
10
+ To prevent this, the prototype generation is constrained by an editable UI convention file: `/prototype_ui_convention.md`.
11
+
12
+ ## What Changed
13
+
14
+ - Add a project-level constraint file: `/prototype_ui_convention.md` (same directory as `/scheme.yaml`)
15
+ - When `/vspec:verify` generates/updates prototypes:
16
+ - If `/prototype_ui_convention.md` does not exist: generate a default template first (do not overwrite existing files)
17
+ - Prototype UI generation must follow `/prototype_ui_convention.md`
18
+ - If stricter existing rules exist (for example `/docs/current/ui_spec.md` or `/docs/current/ui_style.md`), merge the stricter rules into `/prototype_ui_convention.md` and treat the merged file as the final source of truth
19
+
20
+ ## How to Modify the UI Convention
21
+
22
+ - Edit `/prototype_ui_convention.md` at the target project root
23
+ - Prefer updating conventions rather than writing implementation details:
24
+ - Color/status mappings
25
+ - Common structure for tables/forms/details
26
+ - Drawer/Modal usage rules
27
+ - Typography and spacing (Web/Mobile)
28
+ - Copy and feedback patterns (success/failure/permission/empty/error states)
29
+ - Re-run `/vspec:verify` after changes so newly generated/updated pages align with the updated convention
30
+
31
+ ## Not Recommended
32
+
33
+ - Do not make the convention a set of page-specific exceptions (it breaks overall consistency)
34
+ - Do not introduce a new UI component library unless the project’s selected stack requires it
35
+ - Do not hardcode lots of page-level colors/sizes in the convention; prefer a small set of global tokens and structural rules
@@ -0,0 +1,65 @@
1
+ ## Workflow
2
+
3
+ ### 1. Requirements Analysis (`/vspec:new`)
4
+
5
+ - Provide the raw requirement input
6
+ - Answer open questions (key assumptions, scope, rules, dependencies)
7
+ - Get baseline artifacts under `/specs/`: roles, terms, flows, scenarios, function list, dependencies, questions
8
+
9
+ ### 2. Detailed Specs (`/vspec:detail`)
10
+
11
+ - Using `/specs/functions/*` as input, generate per-function specs under `/specs/details/<function_slug>/`
12
+ - Goal: turn “requirements” into implementable design inputs:
13
+ - RBAC down to control level, and data permissions
14
+ - load/interaction/validation matrices
15
+ - post-submit checks/processing/navigation
16
+ - logging/notification matrices, MQ specs, import/export, cron jobs
17
+
18
+ ### 3. Solution Verification (`/vspec:verify`)
19
+
20
+ - Prerequisite: `/specs/details/` exists and is non-empty
21
+ - Based on `/specs/` (functions + details + roles), generate:
22
+ - `/specs/models/*.md`: entities and fields, relationships, state machines, indexes, external field sources
23
+ - `/specs/prototypes/`: stack-selected runnable prototype (per `scheme.yaml`) and the `scenario.html` scenario review page
24
+ - Goal: expose misunderstandings early and converge to a reviewable solution
25
+
26
+ Optional: segmented prototype generation
27
+
28
+ - For large prototypes or tighter control by flow, you can generate incrementally:
29
+ - `/vspec:proto-apply`: application flow pages + dashboard differences
30
+ - `/vspec:proto-approve`: approval flow pages + dashboard differences
31
+ - `/vspec:proto-execute`: execution flow pages (including mobile `/m/*`)
32
+ - `/vspec:proto-crud`: config/master-data CRUD admin pages
33
+
34
+ ### 4. Acceptance Cases (`/vspec:accept`)
35
+
36
+ - Generate acceptance cases into `/specs/acceptance/`
37
+ - Goal: define acceptance criteria and coverage (happy path, exceptions, boundaries, RBAC, data permissions)
38
+
39
+ ### 5. Automated Tests (`/vspec:test`)
40
+
41
+ - Read acceptance cases and the repo’s existing test stack
42
+ - Generate a minimal runnable set of E2E/API/unit tests
43
+
44
+ ### 6. Integrated Implementation (`/vspec:impl`)
45
+
46
+ - Read specs, details, models, and dependencies
47
+ - Generate integrated backend + frontend code following repo conventions (API contract → backend implementation → frontend integration)
48
+
49
+ ### 7. Planning (`/vspec:plan`)
50
+
51
+ - Split functions and scenarios into user stories, estimate effort, and build iteration schedules
52
+ - Outputs:
53
+ - `/specs/plan/plan_estimate.md`
54
+ - `/specs/plan/plan_schedule.html`
55
+
56
+ ### 8. Change Handling (`/vspec:change`)
57
+
58
+ - Provide change inputs
59
+ - Output impact analysis and change log, and update impacted artifacts and cases
60
+
61
+ ## Installation (npm)
62
+
63
+ - Recommended at your project root: `npm install <git-url>`
64
+ - After installation, the Skill is copied to: `<your-project>/.trae/skills/visual-spec-skill/`
65
+ - Manual installation (if needed): `npx vspec --force`