@uoyo/mvtt 2.0.0-beta.1 → 2.0.0-beta.3
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 +184 -193
- 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 +5 -0
- package/dist/fs/materialize.js.map +1 -1
- package/dist/scripts/session-update.cjs +7568 -0
- package/install-manifest.yaml +2 -0
- package/package.json +3 -2
- package/registry.yaml +6 -0
- package/sources/defaults/config.yaml +7 -7
- package/sources/defaults/session.yaml +9 -16
- 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-language-constraint.md +11 -11
- package/sources/sections/session-update.md +115 -47
- package/sources/skills/mvt-analyze/business.md +7 -7
- package/sources/skills/mvt-analyze/manifest.yaml +1 -0
- package/sources/skills/mvt-analyze-code/manifest.yaml +110 -96
- package/sources/skills/mvt-bug-detect/business.md +99 -0
- package/sources/skills/mvt-bug-detect/manifest.yaml +84 -0
- package/sources/skills/mvt-check-context/business.md +3 -5
- package/sources/skills/mvt-check-context/manifest.yaml +70 -63
- package/sources/skills/mvt-cleanup/business.md +49 -23
- package/sources/skills/mvt-cleanup/manifest.yaml +15 -10
- package/sources/skills/mvt-config/business.md +1 -2
- package/sources/skills/mvt-config/manifest.yaml +103 -96
- package/sources/skills/mvt-create-skill/business.md +84 -76
- package/sources/skills/mvt-create-skill/manifest.yaml +107 -95
- package/sources/skills/mvt-design/business.md +3 -6
- package/sources/skills/mvt-design/manifest.yaml +109 -96
- package/sources/skills/mvt-fix/business.md +39 -9
- package/sources/skills/mvt-fix/manifest.yaml +88 -72
- package/sources/skills/mvt-help/business.md +2 -4
- package/sources/skills/mvt-help/manifest.yaml +75 -67
- package/sources/skills/mvt-implement/business.md +4 -5
- package/sources/skills/mvt-implement/manifest.yaml +93 -80
- package/sources/skills/mvt-init/business.md +2 -2
- package/sources/skills/mvt-init/manifest.yaml +102 -101
- package/sources/skills/mvt-manage-context/business.md +186 -175
- package/sources/skills/mvt-manage-context/manifest.yaml +134 -123
- package/sources/skills/mvt-plan-dev/business.md +101 -20
- package/sources/skills/mvt-plan-dev/manifest.yaml +90 -91
- package/sources/skills/mvt-quick-dev/business.md +2 -1
- package/sources/skills/mvt-quick-dev/manifest.yaml +84 -69
- package/sources/skills/mvt-refactor/business.md +2 -1
- package/sources/skills/mvt-refactor/manifest.yaml +104 -86
- package/sources/skills/mvt-resume/business.md +28 -68
- package/sources/skills/mvt-resume/manifest.yaml +81 -71
- package/sources/skills/mvt-review/business.md +3 -3
- package/sources/skills/mvt-review/manifest.yaml +108 -87
- package/sources/skills/mvt-status/business.md +14 -18
- package/sources/skills/mvt-status/manifest.yaml +74 -66
- package/sources/skills/mvt-sync-context/business.md +155 -150
- package/sources/skills/mvt-sync-context/manifest.yaml +99 -96
- package/sources/skills/mvt-template/business.md +0 -2
- package/sources/skills/mvt-template/manifest.yaml +68 -63
- package/sources/skills/mvt-test/business.md +3 -3
- package/sources/skills/mvt-test/manifest.yaml +115 -102
- package/sources/skills/mvt-update-plan/business.md +83 -72
- package/sources/skills/mvt-update-plan/manifest.yaml +124 -132
- package/sources/templates/analyze-output/body.md +15 -15
- package/sources/templates/design-output/body.md +17 -17
- package/sources/templates/implement-output/body.md +11 -11
- package/sources/templates/review-output/body.md +11 -11
- package/sources/templates/test-output/body.md +7 -7
- 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 -18
- package/dist/commands/migrate.d.ts.map +0 -1
- package/dist/commands/migrate.js +0 -163
- package/dist/commands/migrate.js.map +0 -1
- package/dist/fs/protection.d.ts +0 -15
- package/dist/fs/protection.d.ts.map +0 -1
- package/dist/fs/protection.js +0 -16
- package/dist/fs/protection.js.map +0 -1
|
@@ -4,13 +4,15 @@
|
|
|
4
4
|
|
|
5
5
|
Collect everything that should inform the plan:
|
|
6
6
|
|
|
7
|
-
1.
|
|
7
|
+
1. The analysis artifact at `.ai-agents/workspace/artifacts/{active_change.id}/` (if any).
|
|
8
|
+
2. The design artifact (if `/mvt-design` was run for this change).
|
|
9
|
+
3. Any extra context the user supplies in the current message.
|
|
8
10
|
|
|
9
11
|
If no analysis or design artifacts exist and the user provides no description, prompt for a brief scope summary before proceeding.
|
|
10
12
|
|
|
11
13
|
### Step 2: Detect Regeneration
|
|
12
14
|
|
|
13
|
-
If `active_change.
|
|
15
|
+
If `active_change.plan_path is non-empty` AND `.ai-agents/workspace/artifacts/{active_change.id}/plan.yaml` already exists:
|
|
14
16
|
|
|
15
17
|
- Read the existing plan.
|
|
16
18
|
- Show a summary (task count, status counts, current_task).
|
|
@@ -26,13 +28,58 @@ Decompose the change with the following constraints. These constraints are AI-fr
|
|
|
26
28
|
| Count | Aim for 3–10 tasks at the top level. If the change clearly needs more, stop and propose phasing into multiple plans (one per phase). |
|
|
27
29
|
| Single responsibility | Each task should map to one focused skill invocation (e.g., one `/mvt-implement` for one feature slice). |
|
|
28
30
|
| Independently verifiable | Each task must have at least one acceptance criterion that a human or test can check. |
|
|
29
|
-
| Explicit dependencies | If task B requires output from task A, list `A` in B's `depends_on`. Avoid hidden ordering. |
|
|
31
|
+
| Explicit dependencies | If task B requires output from task A, list `A` in B's `depends_on`. Avoid hidden ordering. Tasks that can run in parallel should have no dependency between them. |
|
|
30
32
|
| No cycles | Dependency graph must be a DAG. Validation will reject cycles. |
|
|
31
|
-
| Skill hint | Set `skill_hint` to the skill
|
|
33
|
+
| Skill hint | Set `skill_hint` to the skill best suited to execute the task (without `/` prefix): `mvt-implement`, `mvt-test`, `mvt-fix`, `mvt-design`, `mvt-review`, `mvt-refactor`, etc. |
|
|
32
34
|
|
|
33
35
|
### Step 4: Assemble plan.yaml
|
|
34
36
|
|
|
35
|
-
Build the plan object following
|
|
37
|
+
Build the plan object following the schema below. Here is a minimal reference sample showing the exact YAML shape to emit:
|
|
38
|
+
|
|
39
|
+
```yaml
|
|
40
|
+
version: 1
|
|
41
|
+
change_id: "20260531-feature-name"
|
|
42
|
+
title: "Feature Name"
|
|
43
|
+
created_at: "2026-05-31T11:30:00"
|
|
44
|
+
updated_at: "2026-05-31T11:30:00"
|
|
45
|
+
status: in_progress
|
|
46
|
+
current_task: "t1-foundation-layer"
|
|
47
|
+
|
|
48
|
+
tasks:
|
|
49
|
+
- id: "t1-foundation-layer"
|
|
50
|
+
title: "Foundation types and interfaces"
|
|
51
|
+
status: in_progress
|
|
52
|
+
completed_at: null
|
|
53
|
+
depends_on: []
|
|
54
|
+
skill_hint: mvt-implement
|
|
55
|
+
artifacts:
|
|
56
|
+
files:
|
|
57
|
+
- "src/core/types.ts"
|
|
58
|
+
- "src/core/interfaces.ts"
|
|
59
|
+
notes: >
|
|
60
|
+
Define the data contract and shared interfaces.
|
|
61
|
+
Referenced by ADR-2 in the design artifact.
|
|
62
|
+
acceptance:
|
|
63
|
+
- "All new types compile without errors"
|
|
64
|
+
- "tsc clean; existing tests pass"
|
|
65
|
+
|
|
66
|
+
- id: "t2-core-logic"
|
|
67
|
+
title: "Core business logic implementation"
|
|
68
|
+
status: pending
|
|
69
|
+
completed_at: null
|
|
70
|
+
depends_on: ["t1-foundation-layer"]
|
|
71
|
+
skill_hint: mvt-implement
|
|
72
|
+
artifacts: null
|
|
73
|
+
notes: >
|
|
74
|
+
Implement the main processing pipeline using types from t1.
|
|
75
|
+
Must handle partial failures gracefully per design spec.
|
|
76
|
+
acceptance:
|
|
77
|
+
- "Pipeline processes valid input end-to-end"
|
|
78
|
+
- "Partial failures return error object without crashing"
|
|
79
|
+
- "tsc clean; existing tests pass"
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
#### Top-level fields
|
|
36
83
|
|
|
37
84
|
- `version: 1`
|
|
38
85
|
- `change_id`: copy from `active_change.id`
|
|
@@ -40,19 +87,42 @@ Build the plan object following `docs/plan-yaml-schema.md`:
|
|
|
40
87
|
- `created_at`: current ISO 8601 timestamp
|
|
41
88
|
- `updated_at`: same as `created_at` initially
|
|
42
89
|
- `status: in_progress`
|
|
43
|
-
- `current_task`: the id of the first task
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
90
|
+
- `current_task`: the `id` of the first executable task (a task with `depends_on: []`), set to `in_progress`
|
|
91
|
+
|
|
92
|
+
#### Task fields
|
|
93
|
+
|
|
94
|
+
For each task, populate:
|
|
95
|
+
|
|
96
|
+
- **`id`**: format `t{n}-{kebab-slug}` (e.g., `t1-backend-types`, `t3-dev-panel-ui`). The sequence number reflects natural execution order; keep the slug to 2–5 words.
|
|
97
|
+
- **`title`**: one-line descriptive title.
|
|
98
|
+
- **`status`**: first executable task → `in_progress`; all others → `pending`.
|
|
99
|
+
- **`completed_at`**: `null` for all tasks on initial creation (set by `/mvt-update-plan` when marking `done`).
|
|
100
|
+
- **`depends_on`**: array of task ids. Empty array `[]` means no dependencies.
|
|
101
|
+
- **`skill_hint`**: the skill name (without `/`) that will execute this task.
|
|
102
|
+
- **`artifacts`**: structured object. On initial plan creation, set to `null` or pre-populate with planned target files if known:
|
|
103
|
+
```yaml
|
|
104
|
+
artifacts:
|
|
105
|
+
files:
|
|
106
|
+
- "src/path/to/expected-file.ts"
|
|
107
|
+
```
|
|
108
|
+
- **`notes`**: multiline string (use YAML `>` or `|` scalar) containing implementation context — scope description, constraints, references to design decisions or ADRs, key technical considerations. This is the primary guidance that `/mvt-implement` or other skills read when executing the task. Write enough detail that the executing skill can proceed without re-reading the full analysis/design. Keep to 3–8 lines.
|
|
109
|
+
- **`acceptance`**: array of strings. Each entry is a single verifiable assertion. Write criteria that are:
|
|
110
|
+
- **Specific**: "getDiagnostic() returns `{ listening, port, sseClientConnected }`" not "method works correctly"
|
|
111
|
+
- **Testable**: can be checked by a human review, a compiler (`tsc clean`), or an automated test
|
|
112
|
+
- **Independent**: each criterion stands alone; avoid "see above"
|
|
113
|
+
- Always include at least one build/type-check criterion (e.g., `"tsc clean; existing tests pass"`) for implementation tasks
|
|
47
114
|
|
|
48
115
|
### Step 5: Validate
|
|
49
116
|
|
|
50
|
-
Before writing, validate the assembled YAML
|
|
117
|
+
Before writing, validate the assembled YAML:
|
|
51
118
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
119
|
+
1. **Unique IDs** — no two tasks share the same `id`
|
|
120
|
+
2. **Valid references** — every `depends_on` entry references an existing task `id`
|
|
121
|
+
3. **No cycles** — the dependency graph is a DAG
|
|
122
|
+
4. **current_task validity** — references a task with status `pending` or `in_progress`
|
|
123
|
+
5. **Acceptance required** — every task has at least one acceptance criterion
|
|
124
|
+
6. **Single in_progress** — at most one task has status `in_progress`
|
|
125
|
+
7. **completed_at consistency** — must be `null` for all non-done tasks
|
|
56
126
|
|
|
57
127
|
If validation fails, revise the plan and re-validate (do NOT write a broken plan).
|
|
58
128
|
|
|
@@ -64,12 +134,23 @@ If a previous `plan.yaml` exists and the user chose regeneration in Step 2, over
|
|
|
64
134
|
|
|
65
135
|
### Step 7: Update Session State
|
|
66
136
|
|
|
67
|
-
Apply the standard State Update rules (see
|
|
68
|
-
|
|
69
|
-
- `active_change.plan_path` -> the new file path
|
|
70
|
-
- `active_change.has_plan` -> `true`
|
|
71
|
-
- `recent_changes[]` -> upsert an entry for this change (refresh `last_updated`)
|
|
137
|
+
Apply the standard State Update rules (see State Update section below).
|
|
72
138
|
|
|
73
139
|
### Step 8: Output
|
|
74
140
|
|
|
75
|
-
Render
|
|
141
|
+
Render an inline summary (no external template). Structure:
|
|
142
|
+
|
|
143
|
+
```markdown
|
|
144
|
+
## Development Plan: {title}
|
|
145
|
+
|
|
146
|
+
**Change**: `{change_id}`
|
|
147
|
+
**Tasks**: {total_count} | **Status**: {status}
|
|
148
|
+
|
|
149
|
+
### Task Breakdown
|
|
150
|
+
|
|
151
|
+
| # | id | title | status | skill | depends_on |
|
|
152
|
+
|---|----|----|--------|-------|------------|
|
|
153
|
+
| 1 | {id} | {title} | {status} | {skill_hint} | {deps_or_"—"} |
|
|
154
|
+
| ... |
|
|
155
|
+
|
|
156
|
+
```
|
|
@@ -1,91 +1,90 @@
|
|
|
1
|
-
name: mvt-plan-dev
|
|
2
|
-
output: .claude/skills/mvt-plan-dev/SKILL.md
|
|
3
|
-
|
|
4
|
-
frontmatter:
|
|
5
|
-
name: mvt-plan-dev
|
|
6
|
-
description: "Generate a structured development plan (plan.yaml) for a large change. This skill should be used when a change is too big for a single implement pass and needs to be tracked across multiple sessions with task-level granularity."
|
|
7
|
-
|
|
8
|
-
sections:
|
|
9
|
-
- type: inline
|
|
10
|
-
content: |
|
|
11
|
-
# MVT Plan Dev
|
|
12
|
-
|
|
13
|
-
## Purpose
|
|
14
|
-
|
|
15
|
-
Decompose a large change into a structured `plan.yaml` so progress can survive across conversations. Each task carries status, dependencies, acceptance criteria, and a recommended skill, enabling `/mvt-resume` to land precisely on the next executable task in a future session.
|
|
16
|
-
|
|
17
|
-
- type: shared
|
|
18
|
-
source: sections/role-header.md
|
|
19
|
-
params:
|
|
20
|
-
role: Architect
|
|
21
|
-
role_desc: "a Development Planner"
|
|
22
|
-
decision_rules:
|
|
23
|
-
- rule: "active_change is set AND
|
|
24
|
-
- rule: "active_change is set AND
|
|
25
|
-
- rule: "Tasks would exceed 10 -> Stop, propose phasing the change into multiple plans"
|
|
26
|
-
- rule: "Dependencies form a cycle -> Reject and ask the user to resolve"
|
|
27
|
-
- rule: "active_change is empty -> Stop and request /mvt-analyze first"
|
|
28
|
-
boundaries:
|
|
29
|
-
- scope: "create or modify the active change itself"
|
|
30
|
-
skill: "/mvt-analyze"
|
|
31
|
-
- scope: "design architecture"
|
|
32
|
-
skill: "/mvt-design"
|
|
33
|
-
- scope: "advance task status after completion"
|
|
34
|
-
skill: "/mvt-update-plan"
|
|
35
|
-
- scope: "implement code"
|
|
36
|
-
skill: "/mvt-implement"
|
|
37
|
-
|
|
38
|
-
- type: shared
|
|
39
|
-
source: sections/activation-load-context.md
|
|
40
|
-
params:
|
|
41
|
-
extended_context:
|
|
42
|
-
- ".ai-agents/workspace/artifacts/{active_change.id}/ -- Existing analysis/design artifacts for this change"
|
|
43
|
-
- ".ai-agents/workspace/artifacts/{active_change.id}/plan.yaml -- Existing plan, if any (regeneration mode)"
|
|
44
|
-
|
|
45
|
-
- type: shared
|
|
46
|
-
source: sections/activation-load-config.md
|
|
47
|
-
|
|
48
|
-
- type: shared
|
|
49
|
-
source: sections/output-language-constraint.md
|
|
50
|
-
|
|
51
|
-
- type: shared
|
|
52
|
-
source: sections/activation-preflight.md
|
|
53
|
-
params:
|
|
54
|
-
checks:
|
|
55
|
-
- order: "1"
|
|
56
|
-
field: "session.initialized_at"
|
|
57
|
-
level: "WARN"
|
|
58
|
-
message: 'Session not initialized. Run `/mvt-init` first.'
|
|
59
|
-
- order: "2"
|
|
60
|
-
field: "active_change.id"
|
|
61
|
-
level: "BLOCK"
|
|
62
|
-
message: 'No active change. Run `/mvt-analyze` to create one before planning.'
|
|
63
|
-
|
|
64
|
-
- type: file
|
|
65
|
-
source: ./business.md
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
- type: shared
|
|
69
|
-
source: sections/session-update.md
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
current_skill: mvt-plan-dev
|
|
1
|
+
name: mvt-plan-dev
|
|
2
|
+
output: .claude/skills/mvt-plan-dev/SKILL.md
|
|
3
|
+
|
|
4
|
+
frontmatter:
|
|
5
|
+
name: mvt-plan-dev
|
|
6
|
+
description: "Generate a structured development plan (plan.yaml) for a large change. This skill should be used when a change is too big for a single implement pass and needs to be tracked across multiple sessions with task-level granularity."
|
|
7
|
+
|
|
8
|
+
sections:
|
|
9
|
+
- type: inline
|
|
10
|
+
content: |
|
|
11
|
+
# MVT Plan Dev
|
|
12
|
+
|
|
13
|
+
## Purpose
|
|
14
|
+
|
|
15
|
+
Decompose a large change into a structured `plan.yaml` so progress can survive across conversations. Each task carries status, dependencies, acceptance criteria, and a recommended skill, enabling `/mvt-resume` to land precisely on the next executable task in a future session.
|
|
16
|
+
|
|
17
|
+
- type: shared
|
|
18
|
+
source: sections/role-header.md
|
|
19
|
+
params:
|
|
20
|
+
role: Architect
|
|
21
|
+
role_desc: "a Development Planner"
|
|
22
|
+
decision_rules:
|
|
23
|
+
- rule: "active_change is set AND plan_path is empty -> Generate a fresh plan.yaml"
|
|
24
|
+
- rule: "active_change is set AND plan_path is non-empty -> Confirm before regenerating; default to /mvt-update-plan"
|
|
25
|
+
- rule: "Tasks would exceed 10 -> Stop, propose phasing the change into multiple plans"
|
|
26
|
+
- rule: "Dependencies form a cycle -> Reject and ask the user to resolve"
|
|
27
|
+
- rule: "active_change is empty -> Stop and request /mvt-analyze first"
|
|
28
|
+
boundaries:
|
|
29
|
+
- scope: "create or modify the active change itself"
|
|
30
|
+
skill: "/mvt-analyze"
|
|
31
|
+
- scope: "design architecture"
|
|
32
|
+
skill: "/mvt-design"
|
|
33
|
+
- scope: "advance task status after completion"
|
|
34
|
+
skill: "/mvt-update-plan"
|
|
35
|
+
- scope: "implement code"
|
|
36
|
+
skill: "/mvt-implement"
|
|
37
|
+
|
|
38
|
+
- type: shared
|
|
39
|
+
source: sections/activation-load-context.md
|
|
40
|
+
params:
|
|
41
|
+
extended_context:
|
|
42
|
+
- ".ai-agents/workspace/artifacts/{active_change.id}/ -- Existing analysis/design artifacts for this change"
|
|
43
|
+
- ".ai-agents/workspace/artifacts/{active_change.id}/plan.yaml -- Existing plan, if any (regeneration mode)"
|
|
44
|
+
|
|
45
|
+
- type: shared
|
|
46
|
+
source: sections/activation-load-config.md
|
|
47
|
+
|
|
48
|
+
- type: shared
|
|
49
|
+
source: sections/output-language-constraint.md
|
|
50
|
+
|
|
51
|
+
- type: shared
|
|
52
|
+
source: sections/activation-preflight.md
|
|
53
|
+
params:
|
|
54
|
+
checks:
|
|
55
|
+
- order: "1"
|
|
56
|
+
field: "session.initialized_at"
|
|
57
|
+
level: "WARN"
|
|
58
|
+
message: 'Session not initialized. Run `/mvt-init` first.'
|
|
59
|
+
- order: "2"
|
|
60
|
+
field: "active_change.id"
|
|
61
|
+
level: "BLOCK"
|
|
62
|
+
message: 'No active change. Run `/mvt-analyze` to create one before planning.'
|
|
63
|
+
|
|
64
|
+
- type: file
|
|
65
|
+
source: ./business.md
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
- type: shared
|
|
69
|
+
source: sections/session-update.md
|
|
70
|
+
params:
|
|
71
|
+
current_skill: mvt-plan-dev
|
|
72
|
+
update_active_change: true
|
|
73
|
+
set_plan_path: true
|
|
74
|
+
update_change: true
|
|
75
|
+
|
|
76
|
+
- type: shared
|
|
77
|
+
source: sections/footer-next-steps.md
|
|
78
|
+
params:
|
|
79
|
+
current_skill: mvt-plan-dev
|
|
80
|
+
conditional_suggestions:
|
|
81
|
+
conditions:
|
|
82
|
+
- condition: "plan created, first task is implementation"
|
|
83
|
+
primary: mvt-implement
|
|
84
|
+
primary_desc: "Start implementing the first task"
|
|
85
|
+
- condition: "plan created, first task is design"
|
|
86
|
+
primary: mvt-design
|
|
87
|
+
primary_desc: "Design the architecture for the first task"
|
|
88
|
+
- condition: "plan created, first task is testing"
|
|
89
|
+
primary: mvt-test
|
|
90
|
+
primary_desc: "Write tests for the first task"
|
|
@@ -84,7 +84,8 @@
|
|
|
84
84
|
- Verification status: type-check result, test suggestion
|
|
85
85
|
- **No artifact is written. No document is generated.** This is a conversation-only skill.
|
|
86
86
|
|
|
87
|
-
### Step 8:
|
|
87
|
+
### Step 8: State Update
|
|
88
|
+
Apply the State Update rules defined in the **State Update** section below.
|
|
88
89
|
|
|
89
90
|
## Edge Cases & Errors
|
|
90
91
|
|
|
@@ -1,69 +1,84 @@
|
|
|
1
|
-
name: mvt-quick-dev
|
|
2
|
-
output: .claude/skills/mvt-quick-dev/SKILL.md
|
|
3
|
-
|
|
4
|
-
frontmatter:
|
|
5
|
-
name: mvt-quick-dev
|
|
6
|
-
description: "Quickly implement simple, well-scoped changes without the full analyze-design-implement workflow. This skill should be used when the change is small (1-3 files), architecturally neutral, and clearly specified — such as adding a field, fixing a label, adjusting config, or making a targeted enhancement."
|
|
7
|
-
|
|
8
|
-
sections:
|
|
9
|
-
- type: inline
|
|
10
|
-
content: |
|
|
11
|
-
# MVT Quick Dev
|
|
12
|
-
|
|
13
|
-
## Purpose
|
|
14
|
-
|
|
15
|
-
Implement simple, well-scoped changes quickly, bypassing the full workflow. For changes that are small (1-3 files), architecturally neutral, and clearly specified. Produces no artifacts — results are conversation-only.
|
|
16
|
-
|
|
17
|
-
- type: shared
|
|
18
|
-
source: sections/role-header.md
|
|
19
|
-
params:
|
|
20
|
-
role: Developer
|
|
21
|
-
role_desc: "an Implementation Specialist"
|
|
22
|
-
decision_rules:
|
|
23
|
-
- rule: "Change is Trivial (1 file, ≤10 lines) -> Implement directly, conversation-only"
|
|
24
|
-
- rule: "Change is Simple (1-3 files, no module break) -> Implement, show plan first, conversation-only"
|
|
25
|
-
- rule: "Change is Complex -> STOP, recommend /mvt-analyze or /mvt-design"
|
|
26
|
-
- rule: "Ambiguous scope -> Ask user to confirm before proceeding"
|
|
27
|
-
- rule: "Implementation reveals unexpected complexity -> Revert and escalate"
|
|
28
|
-
- rule: "Existing tests cover changed code -> Suggest running them"
|
|
29
|
-
boundaries:
|
|
30
|
-
- scope: "analyze complex requirements"
|
|
31
|
-
skill: "/mvt-analyze"
|
|
32
|
-
- scope: "design architecture"
|
|
33
|
-
skill: "/mvt-design"
|
|
34
|
-
- scope: "review code"
|
|
35
|
-
skill: "/mvt-review"
|
|
36
|
-
|
|
37
|
-
- type: shared
|
|
38
|
-
source: sections/activation-load-context.md
|
|
39
|
-
params:
|
|
40
|
-
extended_context:
|
|
41
|
-
- ".ai-agents/knowledge/project/_generated/project-context.md -- Module/layer map (optional)"
|
|
42
|
-
- ".ai-agents/knowledge/principle/coding-standards.md -- Coding standards (optional)"
|
|
43
|
-
- "Target source files (load based on change description)"
|
|
44
|
-
|
|
45
|
-
- type: shared
|
|
46
|
-
source: sections/activation-load-config.md
|
|
47
|
-
|
|
48
|
-
- type: shared
|
|
49
|
-
source: sections/output-language-constraint.md
|
|
50
|
-
|
|
51
|
-
- type: inline
|
|
52
|
-
content: |
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
- Do NOT
|
|
57
|
-
- Do NOT
|
|
58
|
-
- Do NOT
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
1
|
+
name: mvt-quick-dev
|
|
2
|
+
output: .claude/skills/mvt-quick-dev/SKILL.md
|
|
3
|
+
|
|
4
|
+
frontmatter:
|
|
5
|
+
name: mvt-quick-dev
|
|
6
|
+
description: "Quickly implement simple, well-scoped changes without the full analyze-design-implement workflow. This skill should be used when the change is small (1-3 files), architecturally neutral, and clearly specified — such as adding a field, fixing a label, adjusting config, or making a targeted enhancement."
|
|
7
|
+
|
|
8
|
+
sections:
|
|
9
|
+
- type: inline
|
|
10
|
+
content: |
|
|
11
|
+
# MVT Quick Dev
|
|
12
|
+
|
|
13
|
+
## Purpose
|
|
14
|
+
|
|
15
|
+
Implement simple, well-scoped changes quickly, bypassing the full workflow. For changes that are small (1-3 files), architecturally neutral, and clearly specified. Produces no artifacts — results are conversation-only.
|
|
16
|
+
|
|
17
|
+
- type: shared
|
|
18
|
+
source: sections/role-header.md
|
|
19
|
+
params:
|
|
20
|
+
role: Developer
|
|
21
|
+
role_desc: "an Implementation Specialist"
|
|
22
|
+
decision_rules:
|
|
23
|
+
- rule: "Change is Trivial (1 file, ≤10 lines) -> Implement directly, conversation-only"
|
|
24
|
+
- rule: "Change is Simple (1-3 files, no module break) -> Implement, show plan first, conversation-only"
|
|
25
|
+
- rule: "Change is Complex -> STOP, recommend /mvt-analyze or /mvt-design"
|
|
26
|
+
- rule: "Ambiguous scope -> Ask user to confirm before proceeding"
|
|
27
|
+
- rule: "Implementation reveals unexpected complexity -> Revert and escalate"
|
|
28
|
+
- rule: "Existing tests cover changed code -> Suggest running them"
|
|
29
|
+
boundaries:
|
|
30
|
+
- scope: "analyze complex requirements"
|
|
31
|
+
skill: "/mvt-analyze"
|
|
32
|
+
- scope: "design architecture"
|
|
33
|
+
skill: "/mvt-design"
|
|
34
|
+
- scope: "review code"
|
|
35
|
+
skill: "/mvt-review"
|
|
36
|
+
|
|
37
|
+
- type: shared
|
|
38
|
+
source: sections/activation-load-context.md
|
|
39
|
+
params:
|
|
40
|
+
extended_context:
|
|
41
|
+
- ".ai-agents/knowledge/project/_generated/project-context.md -- Module/layer map (optional)"
|
|
42
|
+
- ".ai-agents/knowledge/principle/coding-standards.md -- Coding standards (optional)"
|
|
43
|
+
- "Target source files (load based on change description)"
|
|
44
|
+
|
|
45
|
+
- type: shared
|
|
46
|
+
source: sections/activation-load-config.md
|
|
47
|
+
|
|
48
|
+
- type: shared
|
|
49
|
+
source: sections/output-language-constraint.md
|
|
50
|
+
|
|
51
|
+
- type: inline
|
|
52
|
+
content: |
|
|
53
|
+
## Operation Mode: Shortcut
|
|
54
|
+
|
|
55
|
+
This skill operates as a shortcut — it can execute at any time without checking workflow prerequisites.
|
|
56
|
+
- Do NOT update `active_change` fields (this is a shortcut operation, not a workflow phase).
|
|
57
|
+
- Do NOT create an `active_change` if one doesn't already exist.
|
|
58
|
+
- Do NOT write any artifact or document — results are conversation-only.
|
|
59
|
+
- Do NOT interact with plan.yaml in any way — this skill is plan-independent.
|
|
60
|
+
|
|
61
|
+
- type: file
|
|
62
|
+
source: ./business.md
|
|
63
|
+
|
|
64
|
+
- type: shared
|
|
65
|
+
source: sections/session-update.md
|
|
66
|
+
params:
|
|
67
|
+
current_skill: mvt-quick-dev
|
|
68
|
+
no_change: true
|
|
69
|
+
|
|
70
|
+
- type: shared
|
|
71
|
+
source: sections/footer-next-steps.md
|
|
72
|
+
params:
|
|
73
|
+
current_skill: mvt-quick-dev
|
|
74
|
+
conditional_suggestions:
|
|
75
|
+
conditions:
|
|
76
|
+
- condition: "change applied, tests exist for affected code"
|
|
77
|
+
primary: mvt-test
|
|
78
|
+
primary_desc: "Run tests on the changed code"
|
|
79
|
+
- condition: "change applied, no tests exist"
|
|
80
|
+
primary: mvt-review
|
|
81
|
+
primary_desc: "Quick review of the change"
|
|
82
|
+
- condition: "change was more complex than expected"
|
|
83
|
+
primary: mvt-analyze
|
|
84
|
+
primary_desc: "Do a full analysis for this change"
|
|
@@ -88,7 +88,8 @@
|
|
|
88
88
|
- `Verification Result` -- tests run, pass/fail counts; or manual checks recommended.
|
|
89
89
|
- `Follow-ups` -- deferred behavior changes spotted during refactoring.
|
|
90
90
|
|
|
91
|
-
### Step 10:
|
|
91
|
+
### Step 10: State Update
|
|
92
|
+
Apply the State Update rules defined in the **State Update** section below.
|
|
92
93
|
|
|
93
94
|
## Edge Cases & Errors
|
|
94
95
|
|