@uoyo/mvtt 2.0.0-beta.2 → 2.0.0-beta.4
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 +1 -11
- package/dist/build/section-loader.d.ts.map +1 -1
- package/dist/build/section-loader.js +18 -8
- package/dist/build/section-loader.js.map +1 -1
- package/dist/fs/materialize.d.ts.map +1 -1
- package/dist/fs/materialize.js +12 -4
- package/dist/fs/materialize.js.map +1 -1
- package/dist/fs/registry-merge.d.ts +19 -0
- package/dist/fs/registry-merge.d.ts.map +1 -0
- package/dist/fs/registry-merge.js +177 -0
- package/dist/fs/registry-merge.js.map +1 -0
- package/dist/scripts/plan-update.cjs +7563 -0
- package/dist/scripts/session-update.cjs +7568 -0
- package/install-manifest.yaml +8 -2
- package/package.json +3 -2
- package/sources/defaults/config.yaml +7 -7
- package/sources/defaults/session.yaml +9 -16
- package/sources/scripts/plan-update.js +353 -0
- package/sources/scripts/session-update.js +351 -0
- package/sources/sections/activation-load-context.md +4 -0
- package/sources/sections/footer-next-steps.md +1 -1
- package/sources/sections/output-format-constraint.md +14 -0
- package/sources/sections/project-context-profile.md +29 -0
- package/sources/sections/session-update.md +100 -32
- package/sources/skills/mvt-analyze/manifest.yaml +4 -0
- package/sources/skills/mvt-analyze-code/manifest.yaml +24 -4
- package/sources/skills/mvt-bug-detect/business.md +99 -101
- package/sources/skills/mvt-bug-detect/manifest.yaml +84 -84
- package/sources/skills/mvt-check-context/business.md +3 -5
- package/sources/skills/mvt-check-context/manifest.yaml +15 -8
- package/sources/skills/mvt-cleanup/business.md +49 -23
- package/sources/skills/mvt-cleanup/manifest.yaml +18 -10
- package/sources/skills/mvt-config/business.md +1 -2
- package/sources/skills/mvt-config/manifest.yaml +11 -4
- package/sources/skills/mvt-create-skill/business.md +6 -5
- package/sources/skills/mvt-create-skill/manifest.yaml +30 -11
- package/sources/skills/mvt-design/business.md +3 -6
- package/sources/skills/mvt-design/manifest.yaml +17 -1
- package/sources/skills/mvt-fix/business.md +2 -1
- package/sources/skills/mvt-fix/manifest.yaml +9 -3
- package/sources/skills/mvt-help/business.md +2 -4
- package/sources/skills/mvt-help/manifest.yaml +13 -5
- package/sources/skills/mvt-implement/business.md +10 -7
- package/sources/skills/mvt-implement/manifest.yaml +16 -0
- package/sources/skills/mvt-init/business.md +2 -2
- package/sources/skills/mvt-init/manifest.yaml +4 -0
- package/sources/skills/mvt-manage-context/business.md +11 -0
- package/sources/skills/mvt-manage-context/manifest.yaml +20 -3
- package/sources/skills/mvt-plan-dev/business.md +101 -20
- package/sources/skills/mvt-plan-dev/manifest.yaml +21 -19
- package/sources/skills/mvt-quick-dev/business.md +2 -1
- package/sources/skills/mvt-quick-dev/manifest.yaml +24 -6
- package/sources/skills/mvt-refactor/business.md +2 -1
- package/sources/skills/mvt-refactor/manifest.yaml +24 -3
- package/sources/skills/mvt-resume/business.md +28 -68
- package/sources/skills/mvt-resume/manifest.yaml +17 -7
- package/sources/skills/mvt-review/business.md +3 -3
- package/sources/skills/mvt-review/manifest.yaml +25 -1
- package/sources/skills/mvt-status/business.md +14 -18
- package/sources/skills/mvt-status/manifest.yaml +11 -3
- package/sources/skills/mvt-sync-context/business.md +69 -35
- package/sources/skills/mvt-sync-context/manifest.yaml +9 -0
- package/sources/skills/mvt-template/business.md +0 -2
- package/sources/skills/mvt-template/manifest.yaml +13 -8
- package/sources/skills/mvt-test/business.md +3 -3
- package/sources/skills/mvt-test/manifest.yaml +17 -1
- package/sources/skills/mvt-update-plan/business.md +41 -28
- package/sources/skills/mvt-update-plan/manifest.yaml +14 -19
- package/dist/build/plan-validator.d.ts +0 -26
- package/dist/build/plan-validator.d.ts.map +0 -1
- package/dist/build/plan-validator.js +0 -225
- package/dist/build/plan-validator.js.map +0 -1
- package/dist/commands/build.d.ts +0 -5
- package/dist/commands/build.d.ts.map +0 -1
- package/dist/commands/build.js +0 -46
- package/dist/commands/build.js.map +0 -1
- package/dist/commands/migrate.d.ts +0 -16
- package/dist/commands/migrate.d.ts.map +0 -1
- package/dist/commands/migrate.js +0 -118
- package/dist/commands/migrate.js.map +0 -1
|
@@ -60,6 +60,7 @@
|
|
|
60
60
|
| 3 | `preferences.output.no_emojis` | Default `true` |
|
|
61
61
|
| 4 | `preferences.output.data_format` | Default `yaml`; allowed: `yaml`, `json` |
|
|
62
62
|
| 5 | `preferences.context_routing.relevance_threshold` | Default `70`; allowed: 0-100 |
|
|
63
|
+
| 6 | `preferences.history_limits.*` | Show each limit with current value; accept new int or Enter to keep |
|
|
63
64
|
|
|
64
65
|
- After all stages, render a Summary Preview table: `key | from | to`, then a single confirmation prompt to apply ALL changes atomically.
|
|
65
66
|
- If the user aborts at the summary, discard all in-progress values; do not write anything.
|
|
@@ -73,8 +74,6 @@
|
|
|
73
74
|
6. Report the keys that changed.
|
|
74
75
|
- Do NOT reset `knowledge.shared` to defaults if the user has added entries via `/mvt-manage-context` -- preserve user-added knowledge ids; only reset preferences. Surface this exception in the diff.
|
|
75
76
|
|
|
76
|
-
### Step 8: (session update handled by shared section)
|
|
77
|
-
|
|
78
77
|
## Knowledge Inspection (sub-flow used by Interactive Menu and Show All)
|
|
79
78
|
- **View**: list shared knowledge ids from `registry.yaml > knowledge.shared`, then per-skill knowledge ids grouped by skill (`registry.yaml > skills.*.knowledge`). Show token estimates from each entry's manifest if available.
|
|
80
79
|
- **Modify**: this skill does NOT mutate knowledge settings; defer to `/mvt-manage-context`. Print the suggested command (`/mvt-manage-context move`, `/mvt-manage-context add`, etc.) instead of doing the work here.
|
|
@@ -56,12 +56,9 @@ sections:
|
|
|
56
56
|
- type: shared
|
|
57
57
|
source: sections/activation-load-config.md
|
|
58
58
|
|
|
59
|
-
- type: shared
|
|
60
|
-
source: sections/output-language-constraint.md
|
|
61
|
-
|
|
62
59
|
- type: inline
|
|
63
60
|
content: |
|
|
64
|
-
### Step
|
|
61
|
+
### Step 4: Pre-flight Checks
|
|
65
62
|
- No blocking checks required (config is always accessible)
|
|
66
63
|
|
|
67
64
|
## Configuration Keys
|
|
@@ -75,6 +72,8 @@ sections:
|
|
|
75
72
|
| `preferences.output.no_emojis` | bool | `true` | Disable emojis in output |
|
|
76
73
|
| `preferences.output.data_format` | enum | `yaml` | Data output format (yaml, json) |
|
|
77
74
|
| `preferences.context_routing.relevance_threshold` | int | `70` | AI routing threshold for `/mvt-manage-context add` (0-100) |
|
|
75
|
+
| `preferences.history_limits.history` | int | `20` | Max history entries (1-100) |
|
|
76
|
+
| `preferences.history_limits.changes` | int | `20` | Max changes entries (1-100) |
|
|
78
77
|
|
|
79
78
|
### Knowledge Settings
|
|
80
79
|
|
|
@@ -94,3 +93,11 @@ sections:
|
|
|
94
93
|
source: sections/footer-next-steps.md
|
|
95
94
|
params:
|
|
96
95
|
current_skill: mvt-config
|
|
96
|
+
conditional_suggestions:
|
|
97
|
+
conditions:
|
|
98
|
+
- condition: "configuration updated"
|
|
99
|
+
primary: mvt-status
|
|
100
|
+
primary_desc: "Check project status with new settings"
|
|
101
|
+
- condition: "language changed"
|
|
102
|
+
primary: mvt-help
|
|
103
|
+
primary_desc: "Verify output in the new language"
|
|
@@ -27,7 +27,7 @@ The `name` and `description` in YAML frontmatter determine when Claude will use
|
|
|
27
27
|
### Step 1: Load Inputs
|
|
28
28
|
- **Recommended**:
|
|
29
29
|
- One existing skill's SKILL.md under `.claude/skills/<existing>/SKILL.md` as a structural reference (to extract shared section patterns like Activation Protocol, State Update, Next Steps).
|
|
30
|
-
-
|
|
30
|
+
- `.ai-agents/registry.yaml` -- to check for name collisions and understand skill categories.
|
|
31
31
|
|
|
32
32
|
### Step 2: Understand Usage with Concrete Examples
|
|
33
33
|
Skip only when usage patterns are already crystal clear.
|
|
@@ -136,7 +136,7 @@ Walk this checklist; any failed item must be fixed before declaring success.
|
|
|
136
136
|
| Standard sections present | SKILL.md contains Role, Activation Protocol, Execution Flow, Edge Cases & Errors, State Update, Suggested Next Steps |
|
|
137
137
|
| Knowledge files exist | Every file referenced in `knowledge:` resolves on disk |
|
|
138
138
|
| Template path correct | If `template:` set, file exists at that path; the template is headings-only |
|
|
139
|
-
| Word budget | SKILL.md body under ~5k words (
|
|
139
|
+
| Word budget | SKILL.md body under ~5k words (use any available word-count method, e.g., editor statistics) |
|
|
140
140
|
| Standard skeleton | Execution Flow contains Load Inputs, main steps with branches, Edge Cases & Errors |
|
|
141
141
|
|
|
142
142
|
Show the user how to invoke: `/{name}`.
|
|
@@ -148,14 +148,15 @@ Tell the user the iteration loop:
|
|
|
148
148
|
3. Decide whether to update SKILL.md, add a `references/` file, add a knowledge entry, or split into a new skill.
|
|
149
149
|
4. Re-run `/mvt-create-skill` to refine, or edit the source files directly and rebuild.
|
|
150
150
|
|
|
151
|
-
### Step 10:
|
|
151
|
+
### Step 10: State Update
|
|
152
|
+
Apply the State Update rules defined in the **State Update** section below.
|
|
152
153
|
|
|
153
154
|
## Edge Cases & Errors
|
|
154
155
|
|
|
155
156
|
| Case | Handling |
|
|
156
157
|
|------|----------|
|
|
157
158
|
| Skill name collides with an existing registry entry | STOP at Step 3; ask user to rename; do not generate any file |
|
|
158
|
-
| User wants the skill to mutate `session.yaml` fields beyond `
|
|
159
|
+
| User wants the skill to mutate `session.yaml` fields beyond `history` | Surface that ownership rules forbid this (e.g., `changes` is owned by `/mvt-plan-dev`/`/mvt-update-plan`); recommend redesign |
|
|
159
160
|
| Output template is requested but the skill is conversation-only (no persisted file) | Refuse to create a template; explain that templates are for document structure, not conversation replies |
|
|
160
161
|
| User asks to skip the registry registration step | Refuse; an unregistered skill is invisible to `/mvt-help`, `/mvt-status`, and `/mvt-resume`. Registration is non-negotiable |
|
|
161
162
|
| Skill duplicates an existing skill's responsibility | Surface the overlap (cite the existing skill's description); propose merging or sub-classing as a variant rather than creating a duplicate |
|
|
@@ -225,7 +226,7 @@ Copy the following sections verbatim from this document (the assembled SKILL.md
|
|
|
225
226
|
| Load Config | Load Config step within Activation Protocol | Copy as-is |
|
|
226
227
|
| Output Language Constraint | Output Language Constraint step within Activation Protocol | Copy as-is |
|
|
227
228
|
| Pre-flight Checks | Pre-flight Checks step within Activation Protocol | Replace `checks` table with skill-specific checks; if none required, use a single INFO row |
|
|
228
|
-
| State Update | `## State Update
|
|
229
|
+
| State Update | `## State Update` | Replace `/{name}` with the new skill's command; include `active_change` conditional block only if the skill creates changes; include `Shortcut Operation Rules` only if category is `shortcut` |
|
|
229
230
|
| Suggested Next Steps | `## Suggested Next Steps` | Replace `current_skill` with the new skill name; replace conditional suggestions with skill-appropriate ones |
|
|
230
231
|
|
|
231
232
|
**Important**: Do NOT paraphrase or rewrite the standard sections. Copy them character-for-character from this document and only substitute the skill-specific values. This ensures consistency across all MVTT skills.
|
|
@@ -27,16 +27,16 @@ sections:
|
|
|
27
27
|
- rule: "Skill needs bundled resources -> Plan scripts/references/assets in Step 3"
|
|
28
28
|
- rule: "Usage patterns unclear -> Ask for concrete examples before proceeding"
|
|
29
29
|
boundaries:
|
|
30
|
-
- scope: "
|
|
31
|
-
skill: "
|
|
32
|
-
- scope: "
|
|
33
|
-
skill: "
|
|
34
|
-
- scope: "
|
|
35
|
-
skill: "
|
|
36
|
-
- scope: "
|
|
37
|
-
skill: "
|
|
38
|
-
- scope: "
|
|
39
|
-
skill: "
|
|
30
|
+
- scope: "generate skills that deviate from MVTT SKILL.md standard structure"
|
|
31
|
+
skill: "the standard structure as documented"
|
|
32
|
+
- scope: "use arbitrary prefixes without validating naming conventions"
|
|
33
|
+
skill: "`mvt-` or a project-specific prefix like `app-`, `proj-`"
|
|
34
|
+
- scope: "create skills without registering in registry.yaml"
|
|
35
|
+
skill: "`custom: true` in registry.yaml"
|
|
36
|
+
- scope: "write vague or first-person descriptions"
|
|
37
|
+
skill: "third-person with effective trigger keywords"
|
|
38
|
+
- scope: "exceed ~5k words in SKILL.md body"
|
|
39
|
+
skill: "references/ for detailed content"
|
|
40
40
|
|
|
41
41
|
- type: shared
|
|
42
42
|
source: sections/activation-load-context.md
|
|
@@ -50,9 +50,12 @@ sections:
|
|
|
50
50
|
- type: shared
|
|
51
51
|
source: sections/output-language-constraint.md
|
|
52
52
|
|
|
53
|
+
- type: shared
|
|
54
|
+
source: sections/output-format-constraint.md
|
|
55
|
+
|
|
53
56
|
- type: inline
|
|
54
57
|
content: |
|
|
55
|
-
### Step
|
|
58
|
+
### Step 4: Pre-flight Checks
|
|
56
59
|
- No blocking checks required.
|
|
57
60
|
|
|
58
61
|
- type: file
|
|
@@ -85,7 +88,23 @@ sections:
|
|
|
85
88
|
4. Use `/mvt-create-skill` to refine, or edit skill files directly
|
|
86
89
|
```
|
|
87
90
|
|
|
91
|
+
- type: shared
|
|
92
|
+
source: sections/session-update.md
|
|
93
|
+
params:
|
|
94
|
+
current_skill: mvt-create-skill
|
|
95
|
+
|
|
88
96
|
- type: shared
|
|
89
97
|
source: sections/footer-next-steps.md
|
|
90
98
|
params:
|
|
91
99
|
current_skill: mvt-create-skill
|
|
100
|
+
conditional_suggestions:
|
|
101
|
+
conditions:
|
|
102
|
+
- condition: "skill created successfully"
|
|
103
|
+
primary: mvt-help
|
|
104
|
+
primary_desc: "Verify the new skill appears in the catalog"
|
|
105
|
+
- condition: "skill needs knowledge entries"
|
|
106
|
+
primary: mvt-manage-context
|
|
107
|
+
primary_desc: "Add knowledge files for the new skill"
|
|
108
|
+
- condition: "skill needs testing with real tasks"
|
|
109
|
+
primary: mvt-status
|
|
110
|
+
primary_desc: "Check project state before testing the skill"
|
|
@@ -82,8 +82,7 @@
|
|
|
82
82
|
- **Confirmation format**: present a one-screen summary -- style chosen, modules added/changed, ADRs requiring review, a single yes/no prompt. Do not dump the full artifact.
|
|
83
83
|
|
|
84
84
|
### Step 8: Write Artifact
|
|
85
|
-
- **Path**:
|
|
86
|
-
- **Template**: `.ai-agents/skills/_templates/design-output.md`; if `_templates/custom/design-output.md` exists, use the custom version.
|
|
85
|
+
- **Path and template**: as defined in the **Artifact Structure** section below.
|
|
87
86
|
- **Required sections** (filled per template headings, but content must include):
|
|
88
87
|
- `Overview` -- the problem statement (Step 2).
|
|
89
88
|
- `Architecture Decision Records` -- every ADR from Step 6.
|
|
@@ -99,10 +98,8 @@
|
|
|
99
98
|
- If `Change Tracking` lists more than ~5 files OR Module Design adds more than 1 new module OR ADRs include any breaking change, recommend `/mvt-plan-dev` as the next step.
|
|
100
99
|
- Otherwise recommend `/mvt-implement` directly.
|
|
101
100
|
|
|
102
|
-
### Step 10:
|
|
103
|
-
|
|
104
|
-
## Variants
|
|
105
|
-
- `/mvt-design --plan` flag: skip Step 5 (data flow detail) and Step 6 (full ADR fields). In `--plan` mode, ADRs collapse to a one-line `decision: <text>`. Step 8 still writes `design.md` but with the abbreviated content. The output is a high-level plan, not an implementation-ready blueprint -- mark the artifact with a top-line `Mode: plan` indicator.
|
|
101
|
+
### Step 10: State Update
|
|
102
|
+
Apply the State Update rules defined in the **State Update** section below.
|
|
106
103
|
|
|
107
104
|
## Edge Cases & Errors
|
|
108
105
|
|
|
@@ -41,7 +41,7 @@ sections:
|
|
|
41
41
|
| Variant | Description |
|
|
42
42
|
|---------|-------------|
|
|
43
43
|
| `/mvt-design` | Full architecture design |
|
|
44
|
-
| `/mvt-design --plan` | High-level implementation plan only |
|
|
44
|
+
| `/mvt-design --plan` | High-level implementation plan only: skip Step 5 (data flow detail) and Step 6 (full ADR fields). ADRs collapse to one-line `decision: <text>`. Step 8 writes `design.md` with abbreviated content and a top-line `Mode: plan` indicator. If the request is actually small (1 file), downgrade to a 5-line summary in chat and do NOT write `design.md`. |
|
|
45
45
|
|
|
46
46
|
- type: shared
|
|
47
47
|
source: sections/activation-load-context.md
|
|
@@ -55,6 +55,9 @@ sections:
|
|
|
55
55
|
- type: shared
|
|
56
56
|
source: sections/output-language-constraint.md
|
|
57
57
|
|
|
58
|
+
- type: shared
|
|
59
|
+
source: sections/output-format-constraint.md
|
|
60
|
+
|
|
58
61
|
- type: shared
|
|
59
62
|
source: sections/activation-preflight.md
|
|
60
63
|
params:
|
|
@@ -89,8 +92,21 @@ sections:
|
|
|
89
92
|
|
|
90
93
|
- type: shared
|
|
91
94
|
source: sections/session-update.md
|
|
95
|
+
params:
|
|
96
|
+
current_skill: mvt-design
|
|
92
97
|
|
|
93
98
|
- type: shared
|
|
94
99
|
source: sections/footer-next-steps.md
|
|
95
100
|
params:
|
|
96
101
|
current_skill: mvt-design
|
|
102
|
+
conditional_suggestions:
|
|
103
|
+
conditions:
|
|
104
|
+
- condition: "design complete, change tracking lists >5 files or >1 new module"
|
|
105
|
+
primary: mvt-plan-dev
|
|
106
|
+
primary_desc: "Create a structured implementation plan"
|
|
107
|
+
- condition: "design complete, small scope"
|
|
108
|
+
primary: mvt-implement
|
|
109
|
+
primary_desc: "Implement the designed architecture"
|
|
110
|
+
- condition: "design has proposed ADRs needing stakeholder review"
|
|
111
|
+
primary: mvt-review
|
|
112
|
+
primary_desc: "Review the design decisions"
|
|
@@ -118,7 +118,8 @@
|
|
|
118
118
|
- `Regression risk` -- scope of behavior potentially affected, plus what tests guard it.
|
|
119
119
|
- `Follow-ups` -- TODOs, deferred refactors, related issues.
|
|
120
120
|
|
|
121
|
-
### Step 9:
|
|
121
|
+
### Step 9: State Update
|
|
122
|
+
Apply the State Update rules defined in the **State Update** section below.
|
|
122
123
|
|
|
123
124
|
## Edge Cases & Errors
|
|
124
125
|
|
|
@@ -47,6 +47,9 @@ sections:
|
|
|
47
47
|
- type: shared
|
|
48
48
|
source: sections/output-language-constraint.md
|
|
49
49
|
|
|
50
|
+
- type: shared
|
|
51
|
+
source: sections/output-format-constraint.md
|
|
52
|
+
|
|
50
53
|
- type: shared
|
|
51
54
|
source: sections/activation-preflight.md
|
|
52
55
|
params:
|
|
@@ -58,15 +61,18 @@ sections:
|
|
|
58
61
|
|
|
59
62
|
- type: inline
|
|
60
63
|
content: |
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
+
## Operation Mode: Shortcut
|
|
65
|
+
|
|
66
|
+
This skill operates as a shortcut — it can execute at any time without checking workflow prerequisites.
|
|
67
|
+
- Do NOT update `progress` (this is a shortcut operation, not a workflow phase).
|
|
64
68
|
|
|
65
69
|
- type: file
|
|
66
70
|
source: ./business.md
|
|
67
71
|
|
|
68
72
|
- type: shared
|
|
69
73
|
source: sections/session-update.md
|
|
74
|
+
params:
|
|
75
|
+
current_skill: mvt-fix
|
|
70
76
|
|
|
71
77
|
- type: shared
|
|
72
78
|
source: sections/footer-next-steps.md
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
|-----------|---------------|
|
|
14
14
|
| `session.yaml` missing or `initialized_at` empty | `/mvt-init` -- Initialize the project |
|
|
15
15
|
| Initialized AND `project-context.md` does not exist | `/mvt-analyze-code` -- Analyze existing code |
|
|
16
|
-
| No requirements (no `analysis.md` for active change AND no completed `/mvt-analyze` in `
|
|
16
|
+
| No requirements (no `analysis.md` for active change AND no completed `/mvt-analyze` in `history`) | `/mvt-analyze` -- Analyze requirements |
|
|
17
17
|
| No requirements, but user describes a simple change directly | `/mvt-quick-dev` -- Implement a simple change quickly |
|
|
18
18
|
| Requirements present, no `design.md` | `/mvt-design` -- Design architecture |
|
|
19
19
|
| `design.md` exists, change is large (Change Tracking lists > 5 files OR ADR includes breaking change OR > 1 new module) | `/mvt-plan-dev` -- Decompose into tracked plan |
|
|
@@ -60,15 +60,13 @@ Color-code based on current progress: green (done), yellow (current/recommended)
|
|
|
60
60
|
| "Compare `/mvt-X` and `/mvt-Y`" | Pull descriptions from registry; if both are workflow skills, mention their relative position in the diagram |
|
|
61
61
|
| Asks about something not in registry | Reply: "No skill matches that. Available skills: see catalog above." Do not invent skills |
|
|
62
62
|
|
|
63
|
-
### Step 6: (session update handled by shared section)
|
|
64
|
-
|
|
65
63
|
## Edge Cases & Errors
|
|
66
64
|
|
|
67
65
|
| Case | Handling |
|
|
68
66
|
|------|----------|
|
|
69
67
|
| `registry.yaml` missing | STOP at Step 1; recommend `mvtt install`; show no catalog |
|
|
70
68
|
| `session.yaml` missing | Render catalog (Step 3) and diagram (Step 4) without the "current position" highlight; Step 2 recommends `/mvt-init` |
|
|
71
|
-
| `
|
|
69
|
+
| `changes[]` references a `plan_path` that no longer exists | Ignore for help purposes; do not warn -- `/mvt-status` is the right place for that |
|
|
72
70
|
| User invokes `/mvt-help` while inside an active change with Critical review findings | Step 2's recommendation is `/mvt-fix`; surface this prominently above the catalog |
|
|
73
71
|
| User asks about a custom skill (registry entry with `custom: true`) | Treat identically to built-ins; the only difference is showing `custom: true` in the metadata view |
|
|
74
72
|
| Workflow diagram cannot be rendered (mermaid unsupported in environment) | Fall back to a textual flow: `init -> analyze-code -> analyze -> design -> [plan-dev] -> implement -> review -> test` |
|
|
@@ -24,12 +24,9 @@ sections:
|
|
|
24
24
|
- type: shared
|
|
25
25
|
source: sections/activation-load-config.md
|
|
26
26
|
|
|
27
|
-
- type: shared
|
|
28
|
-
source: sections/output-language-constraint.md
|
|
29
|
-
|
|
30
27
|
- type: inline
|
|
31
28
|
content: |
|
|
32
|
-
### Step
|
|
29
|
+
### Step 4: Pre-flight Checks
|
|
33
30
|
- No blocking checks required.
|
|
34
31
|
|
|
35
32
|
- type: file
|
|
@@ -46,7 +43,7 @@ sections:
|
|
|
46
43
|
|
|
47
44
|
### Current Status
|
|
48
45
|
- **Project**: {name} ({initialized/not initialized})
|
|
49
|
-
- **Last Skill**: {last command from
|
|
46
|
+
- **Last Skill**: {last command from history}
|
|
50
47
|
- **Recommended Next**: `/mvt-{next}` -- {description}
|
|
51
48
|
|
|
52
49
|
### Workflow
|
|
@@ -65,3 +62,14 @@ sections:
|
|
|
65
62
|
source: sections/footer-next-steps.md
|
|
66
63
|
params:
|
|
67
64
|
current_skill: mvt-help
|
|
65
|
+
conditional_suggestions:
|
|
66
|
+
conditions:
|
|
67
|
+
- condition: "project not initialized"
|
|
68
|
+
primary: mvt-init
|
|
69
|
+
primary_desc: "Initialize the project"
|
|
70
|
+
- condition: "project initialized, no active change"
|
|
71
|
+
primary: mvt-analyze
|
|
72
|
+
primary_desc: "Start analyzing requirements for a new feature"
|
|
73
|
+
- condition: "active change in progress"
|
|
74
|
+
primary: mvt-resume
|
|
75
|
+
primary_desc: "Resume work on the active change"
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
2. Topologically order files by dependency: domain entities -> repositories/adapters -> use-case/services -> controllers/UI.
|
|
15
15
|
3. Group consecutive files that share a single conceptual change into one commit boundary.
|
|
16
16
|
4. For each file, decide: `create | modify | delete`, and write a one-line intent.
|
|
17
|
-
- **Plan-aware behavior**: if `plan.yaml` is present,
|
|
17
|
+
- **Plan-aware behavior**: if `plan.yaml` is present, treat `current_task`'s `artifacts.files` (cross-reference `plan.tasks[*].artifacts.files`) as a **starting-scope hint, not a hard ceiling**. The source of truth for scope remains `design.md`'s `Change Tracking` (per Step 2.1). When `artifacts.files` is `null` or empty, derive scope entirely from `Change Tracking`. If implementation reveals files beyond this hint are genuinely required, do NOT silently expand — surface them via Step 3 confirmation and never absorb files that clearly belong to a different task.
|
|
18
18
|
- **Output of this step**: an in-conversation list shown to user as a preview, with no write yet.
|
|
19
19
|
|
|
20
20
|
### Step 3: Confirm Scope (when needed)
|
|
@@ -23,6 +23,7 @@
|
|
|
23
23
|
- The plan introduces a new public API (exported symbol, HTTP endpoint, CLI flag).
|
|
24
24
|
- The plan deletes existing code (delete count > 0).
|
|
25
25
|
- The plan deviates from `design.md` (e.g., adds files not in `Change Tracking` or skips files listed there).
|
|
26
|
+
- The plan touches files beyond `current_task`'s `artifacts.files` hint (state which files are added and why, in one line each).
|
|
26
27
|
- **Otherwise**: proceed silently.
|
|
27
28
|
- **On deviation from design**: explain the deviation reason in one line; if the deviation is structural (new module, layer change, interface break), STOP and recommend re-running `/mvt-design`.
|
|
28
29
|
|
|
@@ -59,8 +60,12 @@
|
|
|
59
60
|
3. UI/frontend changes: per project rules, ask user to verify in browser; do NOT claim "tested" if you only ran type-check.
|
|
60
61
|
|
|
61
62
|
### Step 7: Write Artifact
|
|
62
|
-
- **Path**:
|
|
63
|
-
- **
|
|
63
|
+
- **Path and template**: as defined in the **Artifact Structure** section below. The artifact filename is ALWAYS `implementation.md` — one file per change, never per task. Do NOT invent task-suffixed names like `implementation-t1.md`.
|
|
64
|
+
- **Multi-task plans (single-file accumulation)**: when `plan.yaml` drives the change and you implement tasks across separate invocations, all task implementations accumulate into the **same** `implementation.md`:
|
|
65
|
+
1. If `implementation.md` does not yet exist -> create it from the template.
|
|
66
|
+
2. If it already exists -> read it, then **append** a new `## Task: {current_task_id} — {task_title}` section for this task. Do NOT overwrite prior tasks' sections.
|
|
67
|
+
3. Under that task section, place this invocation's required content (the headings below). Keep earlier tasks' sections intact.
|
|
68
|
+
4. For single-task or plan-less changes, write the content at the top level without a per-task wrapper (existing behavior).
|
|
64
69
|
- **Required content** (mapped to template headings):
|
|
65
70
|
- `Implementation Summary` -- one paragraph: what was built, scope.
|
|
66
71
|
- `Files Touched` -- table: path | create/modify/delete | one-line intent.
|
|
@@ -72,11 +77,9 @@
|
|
|
72
77
|
|
|
73
78
|
### Step 8: Plan-Aware Progress Hint (if applicable)
|
|
74
79
|
- If `plan.yaml` exists and a single `current_task` covers this implementation, suggest the user run `/mvt-update-plan <task-id> done` (or `blocked` with reason).
|
|
80
|
+
- If the files actually touched differ from `current_task`'s `artifacts.files` (extra files added during Step 3, or planned files left untouched), explicitly remind the user to run `/mvt-update-plan` so the plan's `artifacts.files` reflects reality for `/mvt-resume` and future sessions.
|
|
75
81
|
- Do NOT modify `plan.yaml` directly from this skill; it is owned by `/mvt-update-plan`.
|
|
76
|
-
- Do NOT modify `
|
|
77
|
-
|
|
78
|
-
### Step 9: (session update handled by shared section)
|
|
79
|
-
- Standard `skill_history` entry must include `change_id`. All other state mutations are delegated.
|
|
82
|
+
- Do NOT modify `changes` directly; it is owned by `/mvt-plan-dev` / `/mvt-update-plan`.
|
|
80
83
|
|
|
81
84
|
## Edge Cases & Errors
|
|
82
85
|
|
|
@@ -43,6 +43,9 @@ sections:
|
|
|
43
43
|
- type: shared
|
|
44
44
|
source: sections/output-language-constraint.md
|
|
45
45
|
|
|
46
|
+
- type: shared
|
|
47
|
+
source: sections/output-format-constraint.md
|
|
48
|
+
|
|
46
49
|
- type: shared
|
|
47
50
|
source: sections/activation-preflight.md
|
|
48
51
|
params:
|
|
@@ -73,8 +76,21 @@ sections:
|
|
|
73
76
|
|
|
74
77
|
- type: shared
|
|
75
78
|
source: sections/session-update.md
|
|
79
|
+
params:
|
|
80
|
+
current_skill: mvt-implement
|
|
76
81
|
|
|
77
82
|
- type: shared
|
|
78
83
|
source: sections/footer-next-steps.md
|
|
79
84
|
params:
|
|
80
85
|
current_skill: mvt-implement
|
|
86
|
+
conditional_suggestions:
|
|
87
|
+
conditions:
|
|
88
|
+
- condition: "implementation complete, no tests written yet"
|
|
89
|
+
primary: mvt-test
|
|
90
|
+
primary_desc: "Generate tests for the implementation"
|
|
91
|
+
- condition: "implementation deviates from design"
|
|
92
|
+
primary: mvt-review
|
|
93
|
+
primary_desc: "Review code for design compliance"
|
|
94
|
+
- condition: "plan exists with remaining tasks"
|
|
95
|
+
primary: mvt-update-plan
|
|
96
|
+
primary_desc: "Mark current task done and advance to next"
|
|
@@ -126,7 +126,7 @@ For each target file, check if it already exists:
|
|
|
126
126
|
After writing all files, validate:
|
|
127
127
|
- `project-context.yaml` is valid YAML with `projects[]` containing at least one entry
|
|
128
128
|
- Each project entry has required fields: `name`, `path`, `type`, `tech_stack.primary_language`
|
|
129
|
-
- `session.yaml` is structurally intact and contains: `session`, `active_change` (with `plan_path`
|
|
129
|
+
- `session.yaml` is structurally intact and contains: `session` (with `initialized_at`, `last_synced_at`), `active_change` (with `plan_path`), `changes` (array), `history`
|
|
130
130
|
|
|
131
131
|
If any validation fails → report the specific error and offer to retry or skip.
|
|
132
132
|
|
|
@@ -135,7 +135,7 @@ If any validation fails → report the specific error and offer to retry or skip
|
|
|
135
135
|
When `--refresh` is specified:
|
|
136
136
|
|
|
137
137
|
1. **Preserve** the following from existing files:
|
|
138
|
-
- `session.yaml` > `
|
|
138
|
+
- `session.yaml` > `history`
|
|
139
139
|
- `project-context.yaml` > any user-added custom fields (fields not in the standard schema)
|
|
140
140
|
- `config.yaml` > `preferences` section
|
|
141
141
|
|
|
@@ -59,6 +59,9 @@ sections:
|
|
|
59
59
|
- type: shared
|
|
60
60
|
source: sections/output-language-constraint.md
|
|
61
61
|
|
|
62
|
+
- type: shared
|
|
63
|
+
source: sections/output-format-constraint.md
|
|
64
|
+
|
|
62
65
|
- type: shared
|
|
63
66
|
source: sections/activation-preflight.md
|
|
64
67
|
params:
|
|
@@ -75,6 +78,7 @@ sections:
|
|
|
75
78
|
- type: shared
|
|
76
79
|
source: sections/session-update.md
|
|
77
80
|
params:
|
|
81
|
+
current_skill: mvt-init
|
|
78
82
|
update_initialized_at: true
|
|
79
83
|
|
|
80
84
|
- type: shared
|
|
@@ -173,3 +173,14 @@ At the bottom of the list, optionally surface:
|
|
|
173
173
|
- **No edits to framework files**: never write to `.ai-agents/knowledge/core/_framework/`. If user content would land there by accident, redirect to `core/user/`.
|
|
174
174
|
- **Backups**: before mutating `registry.yaml` or `core/manifest.yaml`, copy them to `.ai-agents/.backup/{filename}-{timestamp}.yaml`.
|
|
175
175
|
- **Idempotency**: re-running the same `add` (same content + same bindings) should detect the existing entry and offer "skip / overwrite / cancel" rather than silently duplicating.
|
|
176
|
+
|
|
177
|
+
## Edge Cases & Errors
|
|
178
|
+
|
|
179
|
+
| Case | Handling |
|
|
180
|
+
|------|----------|
|
|
181
|
+
| File path points outside `.ai-agents/knowledge/` | Reject with error: knowledge files must reside under the managed directory tree |
|
|
182
|
+
| `registry.yaml` or `core/manifest.yaml` is malformed (parse error) | Abort the operation; print the parse error; suggest manual fix or restore from `.ai-agents/.backup/` |
|
|
183
|
+
| User attempts to `remove` a core framework file (`core/_framework/*`) | Refuse: framework files are read-only and managed by the installer |
|
|
184
|
+
| `add` target file already exists on disk but has no registry entry | Offer "register existing / overwrite / cancel" instead of blindly writing |
|
|
185
|
+
| `move` destination binding already has an entry with the same id | Prompt for rename or cancel; do not silently overwrite |
|
|
186
|
+
| Disk write fails mid-operation (permission denied, disk full) | Roll back all registry/manifest changes using the backup copies; report partial failure |
|
|
@@ -14,6 +14,9 @@ sections:
|
|
|
14
14
|
|
|
15
15
|
Unified CRUD entry point for project context and knowledge entries. Handles add (with AI-driven skill routing), remove, move, rename, and list operations across `project-context.yaml`, `project-context.md`, `knowledge/principle/`, `knowledge/project/`, `knowledge/core/user/`, and the corresponding `registry.yaml` / `core/manifest.yaml` references.
|
|
16
16
|
|
|
17
|
+
- type: shared
|
|
18
|
+
source: sections/project-context-profile.md
|
|
19
|
+
|
|
17
20
|
- type: shared
|
|
18
21
|
source: sections/role-header.md
|
|
19
22
|
params:
|
|
@@ -34,8 +37,8 @@ sections:
|
|
|
34
37
|
skill: "/mvt-design"
|
|
35
38
|
- scope: "write implementation code"
|
|
36
39
|
skill: "/mvt-implement"
|
|
37
|
-
- scope: "edit framework knowledge under core/_framework/"
|
|
38
|
-
skill: "(
|
|
40
|
+
- scope: "edit framework knowledge under core/_framework/ (framework files are read-only)"
|
|
41
|
+
skill: "(constraint)"
|
|
39
42
|
|
|
40
43
|
- type: shared
|
|
41
44
|
source: sections/activation-load-context.md
|
|
@@ -46,9 +49,12 @@ sections:
|
|
|
46
49
|
- type: shared
|
|
47
50
|
source: sections/output-language-constraint.md
|
|
48
51
|
|
|
52
|
+
- type: shared
|
|
53
|
+
source: sections/output-format-constraint.md
|
|
54
|
+
|
|
49
55
|
- type: inline
|
|
50
56
|
content: |
|
|
51
|
-
### Step
|
|
57
|
+
### Step 4: Pre-flight Checks
|
|
52
58
|
- No blocking checks required.
|
|
53
59
|
|
|
54
60
|
- type: file
|
|
@@ -121,3 +127,14 @@ sections:
|
|
|
121
127
|
source: sections/footer-next-steps.md
|
|
122
128
|
params:
|
|
123
129
|
current_skill: mvt-manage-context
|
|
130
|
+
conditional_suggestions:
|
|
131
|
+
conditions:
|
|
132
|
+
- condition: "knowledge added or moved"
|
|
133
|
+
primary: mvt-check-context
|
|
134
|
+
primary_desc: "Verify context health after the change"
|
|
135
|
+
- condition: "knowledge removed"
|
|
136
|
+
primary: mvt-check-context
|
|
137
|
+
primary_desc: "Confirm token savings"
|
|
138
|
+
- condition: "large knowledge files detected"
|
|
139
|
+
primary: mvt-cleanup
|
|
140
|
+
primary_desc: "Clean up workspace to reduce context load"
|