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.
- package/README.md +25 -25
- package/bin/{vreq-skill.cjs → vspec.cjs} +0 -0
- package/docs/en-US/commands.md +87 -0
- package/docs/en-US/concepts.md +36 -0
- package/docs/en-US/getting-started.md +85 -0
- package/docs/en-US/installation.md +37 -0
- package/docs/en-US/scheme.example.yaml +71 -0
- package/docs/en-US/structure.md +74 -0
- package/docs/en-US/ui-spec-modification-notes.md +35 -0
- package/docs/en-US/workflows.md +65 -0
- package/docs/zh-CN/commands.md +87 -0
- package/docs/zh-CN/concepts.md +36 -0
- package/docs/zh-CN/getting-started.md +84 -0
- package/docs/zh-CN/installation.md +37 -0
- package/docs/zh-CN/scheme.example.yaml +71 -0
- package/docs/zh-CN/structure.md +73 -0
- package/docs/zh-CN/ui-spec-modification-notes.md +35 -0
- package/docs/zh-CN/workflows.md +65 -0
- package/package.json +4 -4
- package/scripts/postinstall.cjs +16 -6
- package/skills/visual-spec-skill/SKILL-zh-CN.md +264 -0
- package/{.trae/skills/starter-skill → skills/visual-spec-skill}/SKILL.md +40 -69
- package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_detail/cron_job.md +1 -1
- package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_detail/file_export.md +7 -4
- package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_detail/file_import.md +7 -4
- package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_detail/nfp.md +1 -1
- package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_detail/state_machine.md +1 -1
- package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_detail/timeline.md +1 -1
- package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_impl/implement.md +29 -13
- package/skills/visual-spec-skill/prompts/vspec_new/background.md +383 -0
- package/skills/visual-spec-skill/prompts/vspec_new/functions.md +168 -0
- package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_new/questions.md +19 -6
- package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_new/scenarios.md +9 -1
- package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_plan/estimate.md +2 -2
- package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_plan/schedule.md +4 -4
- package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_refine/refine.md +1 -1
- package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_refine/refine_q.md +15 -2
- package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_verify/model.md +11 -2
- package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_verify/prototype.md +254 -32
- package/skills/visual-spec-skill/prompts/vspec_verify/prototype_article.md +34 -0
- package/skills/visual-spec-skill/prompts/vspec_verify/prototype_big_screen.md +37 -0
- package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_verify/prototype_calendar.md +1 -1
- package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_verify/prototype_dashboard.md +17 -0
- package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_verify/prototype_landing.md +1 -1
- package/skills/visual-spec-skill/prompts/vspec_verify/prototype_mobile_agreement.md +30 -0
- package/skills/visual-spec-skill/prompts/vspec_verify/prototype_mobile_calendar.md +34 -0
- package/skills/visual-spec-skill/prompts/vspec_verify/prototype_mobile_cart.md +51 -0
- package/skills/visual-spec-skill/prompts/vspec_verify/prototype_mobile_comprehensive_search.md +65 -0
- package/skills/visual-spec-skill/prompts/vspec_verify/prototype_mobile_dashboard.md +34 -0
- package/skills/visual-spec-skill/prompts/vspec_verify/prototype_mobile_feed.md +31 -0
- package/skills/visual-spec-skill/prompts/vspec_verify/prototype_mobile_payment.md +56 -0
- package/skills/visual-spec-skill/prompts/vspec_verify/prototype_mobile_product.md +38 -0
- package/skills/visual-spec-skill/prompts/vspec_verify/prototype_mobile_qr.md +33 -0
- package/skills/visual-spec-skill/prompts/vspec_verify/prototype_mobile_signature.md +31 -0
- package/skills/visual-spec-skill/prompts/vspec_verify/prototype_mobile_video_course.md +40 -0
- package/skills/visual-spec-skill/prompts/vspec_verify/prototype_mobile_waterfall.md +30 -0
- package/skills/visual-spec-skill/prompts/vspec_verify/prototype_music.md +30 -0
- package/skills/visual-spec-skill/prompts/vspec_verify/prototype_order.md +45 -0
- package/skills/visual-spec-skill/prompts/vspec_verify/prototype_product_reviews.md +32 -0
- package/skills/visual-spec-skill/prompts/vspec_verify/prototype_promotion.md +58 -0
- package/skills/visual-spec-skill/prompts/vspec_verify/prototype_quiz.md +58 -0
- package/skills/visual-spec-skill/prompts/vspec_verify/prototype_richtext_publish.md +54 -0
- package/skills/visual-spec-skill/prompts/vspec_verify/prototype_super_form_builder.md +50 -0
- package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_verify/prototype_toolbox.md +1 -0
- package/skills/visual-spec-skill/prompts/vspec_verify/prototype_video.md +27 -0
- package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_verify/validation.md +5 -1
- package/.trae/skills/starter-skill/prompts/vspec_new/background.md +0 -76
- package/.trae/skills/starter-skill/prompts/vspec_new/functions.md +0 -82
- package/docs/commands.md +0 -84
- package/docs/concepts.md +0 -36
- package/docs/installation.md +0 -32
- package/docs/structure.md +0 -69
- package/docs/workflows.md +0 -69
- /package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_accept/accept.md +0 -0
- /package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_change/change.md +0 -0
- /package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_detail/code_rules.md +0 -0
- /package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_detail/data_permission.md +0 -0
- /package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_detail/decision_matrix.md +0 -0
- /package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_detail/expression_tree.md +0 -0
- /package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_detail/formula.md +0 -0
- /package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_detail/interaction.md +0 -0
- /package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_detail/judgemental_matrix.md +0 -0
- /package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_detail/logging_matrix.md +0 -0
- /package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_detail/mq.md +0 -0
- /package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_detail/notification_matrix.md +0 -0
- /package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_detail/page_load.md +0 -0
- /package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_detail/post_submit_check.md +0 -0
- /package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_detail/post_submit_navigation.md +0 -0
- /package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_detail/post_submit_processing.md +0 -0
- /package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_detail/rbac.md +0 -0
- /package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_detail/validation_matrix.md +0 -0
- /package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_new/dependencies.md +0 -0
- /package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_new/details.md +0 -0
- /package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_new/details_boundaries.md +0 -0
- /package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_new/details_constraints.md +0 -0
- /package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_new/details_pre_post.md +0 -0
- /package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_new/details_symmetry.md +0 -0
- /package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_new/details_variations.md +0 -0
- /package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_new/flows.md +0 -0
- /package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_new/roles.md +0 -0
- /package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_new/stakeholders.md +0 -0
- /package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_new/terms.md +0 -0
- /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
- /package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_qc/qc.md +0 -0
- /package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_qc/quality_standard.md +0 -0
- /package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_test/test.md +0 -0
- /package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_upgrade/upgrade.md +0 -0
- /package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_verify/prototype_apply.md +0 -0
- /package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_verify/prototype_approve.md +0 -0
- /package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_verify/prototype_crud.md +0 -0
- /package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_verify/prototype_execute.md +0 -0
- /package/{.trae/skills/starter-skill → skills/visual-spec-skill}/prompts/vspec_verify/prototype_mobile_list.md +0 -0
- /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
|
-
|
|
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
|
-
-
|
|
8
|
-
-
|
|
9
|
-
-
|
|
10
|
-
-
|
|
11
|
-
-
|
|
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
|
|
16
|
-
- `/vspec:refine
|
|
17
|
-
- `/vspec:refine-q
|
|
18
|
-
- `/vspec:
|
|
19
|
-
- `/vspec:
|
|
20
|
-
- `/vspec:accept
|
|
21
|
-
- `/vspec:test
|
|
22
|
-
- `/vspec:impl
|
|
23
|
-
- `/vspec:upgrade
|
|
24
|
-
- `/vspec:change
|
|
25
|
-
- `/vspec:qc
|
|
26
|
-
- `/vspec:plan
|
|
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
|
-
-
|
|
31
|
-
-
|
|
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`
|