@uoyo/mvtt 2.0.0-beta.0 → 2.0.0-beta.1
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/LICENSE +21 -21
- package/README.md +131 -147
- package/dist/build/assembler.d.ts.map +1 -1
- package/dist/build/assembler.js +2 -0
- package/dist/build/assembler.js.map +1 -1
- package/dist/build/plan-validator.d.ts +26 -0
- package/dist/build/plan-validator.d.ts.map +1 -0
- package/dist/build/plan-validator.js +225 -0
- package/dist/build/plan-validator.js.map +1 -0
- package/dist/build/section-loader.d.ts.map +1 -1
- package/dist/build/section-loader.js +45 -9
- package/dist/build/section-loader.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +2 -11
- package/dist/cli.js.map +1 -1
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +0 -1
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/install.d.ts +1 -4
- package/dist/commands/install.d.ts.map +1 -1
- package/dist/commands/install.js +18 -14
- package/dist/commands/install.js.map +1 -1
- package/dist/commands/migrate.d.ts +18 -0
- package/dist/commands/migrate.d.ts.map +1 -0
- package/dist/commands/migrate.js +163 -0
- package/dist/commands/migrate.js.map +1 -0
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +35 -2
- package/dist/commands/update.js.map +1 -1
- package/dist/fs/core-manifest.d.ts +17 -0
- package/dist/fs/core-manifest.d.ts.map +1 -0
- package/dist/fs/core-manifest.js +76 -0
- package/dist/fs/core-manifest.js.map +1 -0
- package/dist/fs/install-manifest.d.ts +1 -2
- package/dist/fs/install-manifest.d.ts.map +1 -1
- package/dist/fs/install-manifest.js +1 -2
- package/dist/fs/install-manifest.js.map +1 -1
- package/dist/fs/materialize.d.ts.map +1 -1
- package/dist/fs/materialize.js +23 -3
- package/dist/fs/materialize.js.map +1 -1
- package/dist/types/core-manifest.d.ts +12 -0
- package/dist/types/core-manifest.d.ts.map +1 -0
- package/dist/types/core-manifest.js +2 -0
- package/dist/types/core-manifest.js.map +1 -0
- package/dist/types/registry.d.ts +13 -5
- package/dist/types/registry.d.ts.map +1 -1
- package/install-manifest.yaml +31 -27
- package/package.json +57 -57
- package/registry.yaml +192 -209
- package/sources/defaults/config.yaml +27 -30
- package/sources/defaults/project-context.yaml +15 -26
- package/sources/defaults/session.yaml +31 -23
- package/sources/knowledge/core/manifest.yaml +4 -45
- package/sources/sections/activation-load-config.md +11 -5
- package/sources/sections/activation-load-context.md +26 -11
- package/sources/sections/activation-preflight.md +14 -4
- package/sources/sections/footer-next-steps.md +35 -9
- package/sources/sections/output-language-constraint.md +11 -0
- package/sources/sections/role-header.md +13 -13
- package/sources/sections/session-update.md +47 -0
- package/sources/skills/mvt-analyze/business.md +69 -33
- package/sources/skills/mvt-analyze/manifest.yaml +90 -89
- package/sources/skills/mvt-analyze-code/business.md +82 -35
- package/sources/skills/mvt-analyze-code/manifest.yaml +34 -26
- package/sources/skills/mvt-check-context/business.md +89 -42
- package/sources/skills/mvt-check-context/manifest.yaml +10 -21
- package/sources/skills/mvt-cleanup/business.md +80 -31
- package/sources/skills/mvt-cleanup/manifest.yaml +85 -93
- package/sources/skills/mvt-config/business.md +94 -26
- package/sources/skills/mvt-config/manifest.yaml +15 -27
- package/sources/skills/mvt-create-skill/business.md +224 -111
- package/sources/skills/mvt-create-skill/manifest.yaml +31 -15
- package/sources/skills/mvt-design/business.md +116 -34
- package/sources/skills/mvt-design/manifest.yaml +22 -31
- package/sources/skills/mvt-fix/business.md +103 -28
- package/sources/skills/mvt-fix/manifest.yaml +8 -22
- package/sources/skills/mvt-help/business.md +74 -70
- package/sources/skills/mvt-help/manifest.yaml +16 -10
- package/sources/skills/mvt-implement/business.md +91 -32
- package/sources/skills/mvt-implement/manifest.yaml +17 -33
- package/sources/skills/mvt-init/business.md +164 -49
- package/sources/skills/mvt-init/manifest.yaml +36 -28
- package/sources/skills/mvt-manage-context/business.md +175 -0
- package/sources/skills/mvt-manage-context/manifest.yaml +123 -0
- package/sources/skills/mvt-plan-dev/business.md +75 -0
- package/sources/skills/mvt-plan-dev/manifest.yaml +91 -0
- package/sources/skills/mvt-quick-dev/business.md +99 -0
- package/sources/skills/mvt-quick-dev/manifest.yaml +69 -0
- package/sources/skills/mvt-refactor/business.md +104 -33
- package/sources/skills/mvt-refactor/manifest.yaml +17 -32
- package/sources/skills/mvt-resume/business.md +137 -0
- package/sources/skills/mvt-resume/manifest.yaml +71 -0
- package/sources/skills/mvt-review/business.md +112 -49
- package/sources/skills/mvt-review/manifest.yaml +15 -34
- package/sources/skills/mvt-status/business.md +71 -24
- package/sources/skills/mvt-status/manifest.yaml +18 -26
- package/sources/skills/mvt-sync-context/business.md +148 -23
- package/sources/skills/mvt-sync-context/manifest.yaml +51 -39
- package/sources/skills/mvt-template/business.md +96 -49
- package/sources/skills/mvt-template/manifest.yaml +13 -21
- package/sources/skills/mvt-test/business.md +104 -36
- package/sources/skills/mvt-test/manifest.yaml +14 -23
- package/sources/skills/mvt-update-plan/business.md +72 -0
- package/sources/skills/mvt-update-plan/manifest.yaml +132 -0
- package/sources/templates/analyze-output/body.md +8 -31
- package/sources/templates/analyze-output/manifest.yaml +11 -11
- package/sources/templates/design-output/body.md +17 -50
- package/sources/templates/design-output/manifest.yaml +11 -11
- package/sources/templates/implement-output/body.md +6 -27
- package/sources/templates/implement-output/manifest.yaml +11 -11
- package/sources/templates/project-context/body.md +13 -0
- package/sources/templates/project-context/manifest.yaml +12 -0
- package/sources/templates/review-output/body.md +6 -40
- package/sources/templates/review-output/manifest.yaml +11 -11
- package/sources/templates/test-output/body.md +4 -28
- package/sources/templates/test-output/manifest.yaml +11 -11
- package/sources/knowledge/core/review-principles.md +0 -51
- package/sources/knowledge/patterns/clean-architecture/manifest.yaml +0 -66
- package/sources/knowledge/patterns/clean-architecture/review-checklist.md +0 -230
- package/sources/knowledge/patterns/ddd/manifest.yaml +0 -83
- package/sources/knowledge/patterns/ddd/review-checklist.md +0 -226
- package/sources/knowledge/patterns/ddd/tactical-patterns.md +0 -12
- package/sources/knowledge/patterns/frontend-react/manifest.yaml +0 -44
- package/sources/knowledge/patterns/frontend-react/review-checklist.md +0 -78
- package/sources/knowledge/patterns/manifest.yaml +0 -113
- package/sources/skills/mvt-add-context/business.md +0 -47
- package/sources/skills/mvt-add-context/manifest.yaml +0 -83
- package/sources/templates/analyze-code-output/body.md +0 -44
- package/sources/templates/analyze-code-output/manifest.yaml +0 -11
- package/sources/templates/cleanup-output/body.md +0 -9
- package/sources/templates/cleanup-output/manifest.yaml +0 -11
- package/sources/templates/config-output/body.md +0 -11
- package/sources/templates/config-output/manifest.yaml +0 -11
- package/sources/templates/context-check-output/body.md +0 -32
- package/sources/templates/context-check-output/manifest.yaml +0 -11
- package/sources/templates/fix-output/body.md +0 -30
- package/sources/templates/fix-output/manifest.yaml +0 -11
- package/sources/templates/init-output/body.md +0 -34
- package/sources/templates/init-output/manifest.yaml +0 -11
- package/sources/templates/refactor-output/body.md +0 -32
- package/sources/templates/refactor-output/manifest.yaml +0 -11
- package/sources/templates/status-output/body.md +0 -36
- package/sources/templates/status-output/manifest.yaml +0 -11
- package/sources/templates/sync-context-output/body.md +0 -16
- package/sources/templates/sync-context-output/manifest.yaml +0 -11
|
@@ -3,7 +3,7 @@ output: .claude/skills/mvt-design/SKILL.md
|
|
|
3
3
|
|
|
4
4
|
frontmatter:
|
|
5
5
|
name: mvt-design
|
|
6
|
-
description: "Create architecture design based on analyzed requirements.
|
|
6
|
+
description: "Create architecture design based on analyzed requirements. This skill should be used when user wants to design system architecture, define module structure, or create technical blueprints for implementation."
|
|
7
7
|
|
|
8
8
|
sections:
|
|
9
9
|
- type: inline
|
|
@@ -12,7 +12,7 @@ sections:
|
|
|
12
12
|
|
|
13
13
|
## Purpose
|
|
14
14
|
|
|
15
|
-
Design system architecture based on analyzed requirements.
|
|
15
|
+
Design system architecture based on analyzed requirements. Create technical blueprints that guide implementation, respecting existing project structure and constraints.
|
|
16
16
|
|
|
17
17
|
- type: shared
|
|
18
18
|
source: sections/role-header.md
|
|
@@ -20,12 +20,12 @@ sections:
|
|
|
20
20
|
role: Architect
|
|
21
21
|
role_desc: "a System Architecture Expert"
|
|
22
22
|
decision_rules:
|
|
23
|
-
- rule: "Multiple valid
|
|
23
|
+
- rule: "Multiple valid approaches exist -> Present top 2-3 options with pros/cons table, recommend one"
|
|
24
24
|
- rule: "Trade-off affects performance vs maintainability -> Document as ADR, state the trade-off"
|
|
25
25
|
- rule: "User asks for technology choice -> Evaluate against: requirements fit, team familiarity, maintenance cost"
|
|
26
26
|
- rule: "Design needs breaking change -> Highlight impact scope, list affected files, propose migration"
|
|
27
27
|
- rule: "Requirements are ambiguous -> Stop and ask clarification before designing"
|
|
28
|
-
- rule: "
|
|
28
|
+
- rule: "Layer constraint violation in design -> Flag and suggest alternative that respects existing boundaries"
|
|
29
29
|
boundaries:
|
|
30
30
|
- scope: "write implementation code"
|
|
31
31
|
skill: "/mvt-implement"
|
|
@@ -47,13 +47,14 @@ sections:
|
|
|
47
47
|
source: sections/activation-load-context.md
|
|
48
48
|
params:
|
|
49
49
|
extended_context:
|
|
50
|
-
- ".ai-agents/knowledge/patterns/{pattern.active}/ -- Active architecture pattern knowledge"
|
|
51
|
-
- ".ai-agents/knowledge/core/ -- Core knowledge files"
|
|
52
50
|
- ".ai-agents/workspace/artifacts/{active_change.id}/analysis.md -- Analysis from previous phase"
|
|
53
51
|
|
|
54
52
|
- type: shared
|
|
55
53
|
source: sections/activation-load-config.md
|
|
56
54
|
|
|
55
|
+
- type: shared
|
|
56
|
+
source: sections/output-language-constraint.md
|
|
57
|
+
|
|
57
58
|
- type: shared
|
|
58
59
|
source: sections/activation-preflight.md
|
|
59
60
|
params:
|
|
@@ -61,45 +62,35 @@ sections:
|
|
|
61
62
|
- order: "1"
|
|
62
63
|
field: "session.initialized_at"
|
|
63
64
|
level: "BLOCK"
|
|
64
|
-
message:
|
|
65
|
+
message: "Session not initialized. Run `/mvt-init` first."
|
|
65
66
|
- order: "2"
|
|
66
|
-
field: "project.
|
|
67
|
+
field: "projects[] in project-context.yaml"
|
|
67
68
|
level: "BLOCK"
|
|
68
|
-
message:
|
|
69
|
+
message: "Project not initialized. Run `/mvt-init` first."
|
|
69
70
|
- order: "3"
|
|
70
|
-
field: "
|
|
71
|
-
level: "
|
|
72
|
-
message:
|
|
71
|
+
field: "project-context.md"
|
|
72
|
+
level: "WARN"
|
|
73
|
+
message: "No project-context.md found. Run `/mvt-analyze-code` for better design context. (allow user to proceed)"
|
|
73
74
|
- order: "4"
|
|
74
|
-
field: "requirements in project-context"
|
|
75
|
+
field: "requirements in project-context.md"
|
|
75
76
|
level: "WARN"
|
|
76
|
-
message:
|
|
77
|
-
|
|
78
|
-
- type: inline
|
|
79
|
-
content: |
|
|
80
|
-
### Step 4: Execute
|
|
81
|
-
Proceed to Execution Flow below.
|
|
77
|
+
message: "No requirements found. Run `/mvt-analyze` first. (allow user to proceed)"
|
|
82
78
|
|
|
83
79
|
- type: file
|
|
84
80
|
source: ./business.md
|
|
85
81
|
|
|
86
82
|
- type: inline
|
|
87
83
|
content: |
|
|
88
|
-
##
|
|
89
|
-
|
|
90
|
-
Read and use the output template from: `.ai-agents/skills/_templates/design-output.md`
|
|
91
|
-
|
|
84
|
+
## Artifact Structure
|
|
85
|
+
Read the document structure template from: `.ai-agents/skills/_templates/design-output.md`
|
|
92
86
|
If a custom version exists at `.ai-agents/skills/_templates/custom/design-output.md`, use the custom version instead.
|
|
87
|
+
The template defines section headings only. Generate content for each section based on design results.
|
|
88
|
+
Write the artifact to: `.ai-agents/workspace/artifacts/{change-id}/design.md`
|
|
93
89
|
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
Every response MUST end with a Suggested Next Steps section.
|
|
90
|
+
- type: shared
|
|
91
|
+
source: sections/session-update.md
|
|
97
92
|
|
|
98
93
|
- type: shared
|
|
99
94
|
source: sections/footer-next-steps.md
|
|
100
95
|
params:
|
|
101
|
-
|
|
102
|
-
next_primary_desc: "Start implementing this design"
|
|
103
|
-
always_show:
|
|
104
|
-
- skill: mvt-status
|
|
105
|
-
desc: "Check current workflow progress"
|
|
96
|
+
current_skill: mvt-design
|
|
@@ -1,28 +1,103 @@
|
|
|
1
|
-
## Execution Flow
|
|
2
|
-
|
|
3
|
-
### Step 1:
|
|
4
|
-
-
|
|
5
|
-
-
|
|
6
|
-
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
-
|
|
12
|
-
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
1
|
+
## Execution Flow
|
|
2
|
+
|
|
3
|
+
### Step 1: Load Inputs
|
|
4
|
+
- **Required**:
|
|
5
|
+
- User-provided bug description (free text, possibly with stack trace, error message, or reproduction steps).
|
|
6
|
+
- **Recommended (read if available, do not block on absence)**:
|
|
7
|
+
- Recent git state: `git diff HEAD`, `git log -n 10 --oneline` -- to surface recent changes that may correlate with the regression.
|
|
8
|
+
- **Fallback**: if none of the above exists, proceed using the bug description alone and note "context-light fix" in the final fix notes.
|
|
9
|
+
|
|
10
|
+
### Step 2: Reproduce & Localize
|
|
11
|
+
- **What**: confirm the bug is reproducible (or, if not reproducible, mark it explicitly as "report-only") and identify the smallest set of files that contain the suspected fault.
|
|
12
|
+
- **How**:
|
|
13
|
+
1. Extract concrete signals from the bug description: error message text, stack trace frames, file paths, function/class names, input data.
|
|
14
|
+
2. For each signal, locate matching code (Grep / Glob).
|
|
15
|
+
3. Build a candidate file list with one-line justification per file.
|
|
16
|
+
4. If reproduction steps are provided, attempt to reproduce (run command, write minimal repro snippet) before forming hypotheses.
|
|
17
|
+
- **Branches**:
|
|
18
|
+
|
|
19
|
+
| Condition | Action |
|
|
20
|
+
|-----------|--------|
|
|
21
|
+
| Reproducible locally | Capture observed vs expected, proceed to Step 3 |
|
|
22
|
+
| Not reproducible, signals are concrete (stack trace + paths) | Continue with static analysis only, mark "unverified repro" in fix notes |
|
|
23
|
+
| Not reproducible, signals are vague | STOP -- ask user for: minimal repro, exact error, environment, last-known-good version |
|
|
24
|
+
|
|
25
|
+
### Step 3: Generate Hypotheses
|
|
26
|
+
- **What**: produce 1-5 candidate root causes, each with a falsifiable check.
|
|
27
|
+
- **How**: derive hypotheses from the dominant input signal using the table below. Combine sources when multiple are available.
|
|
28
|
+
|
|
29
|
+
| Dominant signal | Hypothesis sources |
|
|
30
|
+
|-----------------|--------------------|
|
|
31
|
+
| Stack trace | Top frame in user code, recently changed code in any frame, null/undefined origin, type mismatch at boundary |
|
|
32
|
+
| Error message | Exact-string search in repo, typed exception class hierarchy, library docs for that error |
|
|
33
|
+
| Recent git diff | Files changed in last N commits intersecting with localized files (Step 2), commit messages mentioning related modules |
|
|
34
|
+
| Behavioral description (no error) | Module boundary mismatches, off-by-one / null-handling, async/race, state leakage, configuration drift |
|
|
35
|
+
|
|
36
|
+
- Each hypothesis must be written as: `<claim> -- evidence: <pointer> -- check: <how to verify>`.
|
|
37
|
+
|
|
38
|
+
### Step 4: Verify Root Cause
|
|
39
|
+
- **What**: reduce the hypothesis set to one confirmed root cause.
|
|
40
|
+
- **How**:
|
|
41
|
+
1. For each hypothesis, run its check (read code, add tracing, run a focused script). Cheapest check first.
|
|
42
|
+
2. Eliminate hypotheses that fail their checks.
|
|
43
|
+
3. STOP and report if all hypotheses are eliminated -- do not invent new ones silently; ask the user for more information.
|
|
44
|
+
- **Branches**:
|
|
45
|
+
|
|
46
|
+
| Result | Action |
|
|
47
|
+
|--------|--------|
|
|
48
|
+
| Exactly one hypothesis confirmed | Record as root cause, proceed to Step 5 |
|
|
49
|
+
| Multiple hypotheses still plausible | Pick the cheapest fix that addresses ALL of them, OR ask user to prioritize |
|
|
50
|
+
| Zero hypotheses survive | STOP, surface findings, request more info from user |
|
|
51
|
+
|
|
52
|
+
### Step 5: Plan the Fix
|
|
53
|
+
- **What**: decide the change scope and minimum-risk patch shape.
|
|
54
|
+
- **How**: classify the fix using the table below. Choose the strategy that matches the smallest viable scope -- escalate only if the smaller scope cannot fully address the root cause.
|
|
55
|
+
|
|
56
|
+
| Fix class | Indicator | Strategy |
|
|
57
|
+
|-----------|-----------|----------|
|
|
58
|
+
| One-liner | Typo, off-by-one, missing null check, wrong constant | Apply directly, minimal review |
|
|
59
|
+
| Single-file | Logic localized to one module, no public API change | Apply, list affected callers in fix notes |
|
|
60
|
+
| Multi-module | Touches >1 module or shared utility | List impacted modules, read each call site before editing, group by commit if possible |
|
|
61
|
+
| Cross-architecture | Requires layering change, new dependency, or interface redesign | STOP -- recommend `/mvt-design` (or `/mvt-refactor` if behavior is preserved); do NOT implement here |
|
|
62
|
+
|
|
63
|
+
- Identify regression risk: which existing tests cover this code? If none, decide whether to add a regression test in Step 7.
|
|
64
|
+
|
|
65
|
+
### Step 6: User Confirmation
|
|
66
|
+
- **When to confirm before applying**:
|
|
67
|
+
- Multi-module class or above.
|
|
68
|
+
- The fix changes a public/exported symbol or a configuration default.
|
|
69
|
+
- The reproduction was unverified (Step 2).
|
|
70
|
+
- The fix deletes existing behavior (not just adjusts it).
|
|
71
|
+
- **When to apply silently**:
|
|
72
|
+
- One-liner / single-file class AND fix is purely additive or correctional AND reproduction was verified.
|
|
73
|
+
- **Confirmation prompt format**: present `Root cause: ...`, `Proposed change: <files + summary>`, `Risk: <regression scope>`, then ask `Apply? (y / n / show-diff)`.
|
|
74
|
+
|
|
75
|
+
### Step 7: Apply the Fix
|
|
76
|
+
- Make the targeted code change.
|
|
77
|
+
- If no test covered the regression and the fix class is multi-module or above, add a minimal regression test alongside the fix.
|
|
78
|
+
- Re-run the original repro (if any) to confirm resolution.
|
|
79
|
+
- If repro still fails -> revert, return to Step 3 with the new evidence.
|
|
80
|
+
|
|
81
|
+
### Step 8: Write Fix Notes
|
|
82
|
+
- **Path**: `.ai-agents/workspace/artifacts/{change-id}/fix-notes.md` if an `active_change` exists; otherwise inline in the conversation only (no artifact -- shortcut operation).
|
|
83
|
+
- **Structure** (each section is a single paragraph or list):
|
|
84
|
+
- `Symptom` -- what the user saw / reported.
|
|
85
|
+
- `Reproduction` -- verified | unverified | not-applicable, with steps if verified.
|
|
86
|
+
- `Hypotheses considered` -- bulleted, one line each, marking the confirmed one.
|
|
87
|
+
- `Root cause` -- one paragraph.
|
|
88
|
+
- `Patch summary` -- files touched + one-line per file.
|
|
89
|
+
- `Regression risk` -- scope of behavior potentially affected, plus what tests guard it.
|
|
90
|
+
- `Follow-ups` -- TODOs, deferred refactors, related issues.
|
|
91
|
+
|
|
92
|
+
### Step 9: (session update handled by shared section)
|
|
93
|
+
|
|
94
|
+
## Edge Cases & Errors
|
|
95
|
+
|
|
96
|
+
| Case | Handling |
|
|
97
|
+
|------|----------|
|
|
98
|
+
| Bug is intermittent / racy | Mark reproduction as "flaky", state confidence level explicitly, prefer adding instrumentation over speculative fix |
|
|
99
|
+
| Fix would require breaking a downstream API | STOP -- escalate to `/mvt-design` or `/mvt-refactor`; do not silently break contracts |
|
|
100
|
+
| Root cause is in a third-party dependency | Document the upstream issue, apply a minimal local workaround clearly labeled as temporary |
|
|
101
|
+
| User aborts at Step 6 | Do not write fix notes; record the diagnosis as a comment in the conversation only |
|
|
102
|
+
| Fix relies on changes the user has uncommitted in another branch | Surface the conflict before editing; do not overwrite |
|
|
103
|
+
| `active_change` is missing entirely | Apply fix without writing artifact (shortcut mode), summarize result in conversation |
|
|
@@ -3,7 +3,7 @@ output: .claude/skills/mvt-fix/SKILL.md
|
|
|
3
3
|
|
|
4
4
|
frontmatter:
|
|
5
5
|
name: mvt-fix
|
|
6
|
-
description: "Diagnose and fix bugs or issues in the codebase.
|
|
6
|
+
description: "Diagnose and fix bugs or issues in the codebase. This skill should be used when user reports a bug, encounters an error, or wants to diagnose and resolve an issue."
|
|
7
7
|
|
|
8
8
|
sections:
|
|
9
9
|
- type: inline
|
|
@@ -42,6 +42,9 @@ sections:
|
|
|
42
42
|
- type: shared
|
|
43
43
|
source: sections/activation-load-config.md
|
|
44
44
|
|
|
45
|
+
- type: shared
|
|
46
|
+
source: sections/output-language-constraint.md
|
|
47
|
+
|
|
45
48
|
- type: shared
|
|
46
49
|
source: sections/activation-preflight.md
|
|
47
50
|
params:
|
|
@@ -55,32 +58,15 @@ sections:
|
|
|
55
58
|
content: |
|
|
56
59
|
### Shortcut Operation Rules
|
|
57
60
|
- Can execute at any time without checking workflow prerequisites
|
|
58
|
-
- Do NOT update `progress`
|
|
59
|
-
- Only update `session.last_command` and `recent_actions`
|
|
60
|
-
|
|
61
|
-
### Step 4: Execute
|
|
62
|
-
Proceed to Execution Flow below.
|
|
61
|
+
- Do NOT update `progress` (this is a shortcut operation, not a workflow phase)
|
|
63
62
|
|
|
64
63
|
- type: file
|
|
65
64
|
source: ./business.md
|
|
66
65
|
|
|
67
|
-
- type:
|
|
68
|
-
|
|
69
|
-
## Output Format
|
|
70
|
-
|
|
71
|
-
Read and use the output template from: `.ai-agents/skills/_templates/fix-output.md`
|
|
72
|
-
|
|
73
|
-
If a custom version exists at `.ai-agents/skills/_templates/custom/fix-output.md`, use the custom version instead.
|
|
74
|
-
|
|
75
|
-
Fill the template placeholders with the fix results.
|
|
76
|
-
|
|
77
|
-
Every response MUST end with a Suggested Next Steps section.
|
|
66
|
+
- type: shared
|
|
67
|
+
source: sections/session-update.md
|
|
78
68
|
|
|
79
69
|
- type: shared
|
|
80
70
|
source: sections/footer-next-steps.md
|
|
81
71
|
params:
|
|
82
|
-
|
|
83
|
-
next_primary_desc: "Verify the fix"
|
|
84
|
-
next_alternatives:
|
|
85
|
-
- skill: mvt-test
|
|
86
|
-
when: "Add regression tests"
|
|
72
|
+
current_skill: mvt-fix
|
|
@@ -1,70 +1,74 @@
|
|
|
1
|
-
## Execution Flow
|
|
2
|
-
|
|
3
|
-
### Step 1: Load
|
|
4
|
-
-
|
|
5
|
-
-
|
|
6
|
-
-
|
|
7
|
-
|
|
8
|
-
### Step 2: Assess User Position
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
|
15
|
-
|
|
|
16
|
-
|
|
|
17
|
-
|
|
|
18
|
-
|
|
|
19
|
-
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
1
|
+
## Execution Flow
|
|
2
|
+
|
|
3
|
+
### Step 1: Load Inputs
|
|
4
|
+
- **Recommended**:
|
|
5
|
+
- `.ai-agents/knowledge/project/_generated/project-context.md` -- existence check only, to detect whether semantic context has been generated.
|
|
6
|
+
- **Fallback**: any missing optional file is treated as "feature absent" for assessment purposes; do not abort. If `registry.yaml` itself is missing, surface the error and recommend `mvtt install`.
|
|
7
|
+
|
|
8
|
+
### Step 2: Assess User Position
|
|
9
|
+
- **What**: pick exactly one recommended next skill based on the current workspace state.
|
|
10
|
+
- **How**: walk the table top-to-bottom; the first row whose condition holds wins.
|
|
11
|
+
|
|
12
|
+
| Condition | Recommendation |
|
|
13
|
+
|-----------|---------------|
|
|
14
|
+
| `session.yaml` missing or `initialized_at` empty | `/mvt-init` -- Initialize the project |
|
|
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 `skill_history`) | `/mvt-analyze` -- Analyze requirements |
|
|
17
|
+
| No requirements, but user describes a simple change directly | `/mvt-quick-dev` -- Implement a simple change quickly |
|
|
18
|
+
| Requirements present, no `design.md` | `/mvt-design` -- Design architecture |
|
|
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 |
|
|
20
|
+
| `design.md` (or `plan.yaml`) ready, no `implementation.md` | `/mvt-implement` -- Implement the design |
|
|
21
|
+
| `implementation.md` exists, no `review.md` | `/mvt-review` -- Review the code |
|
|
22
|
+
| `review.md` exists with no Critical findings, no `test-design.md` | `/mvt-test` -- Write tests |
|
|
23
|
+
| `review.md` has Critical findings | `/mvt-fix` -- Fix critical issues before continuing |
|
|
24
|
+
| All of the above complete | `/mvt-cleanup` -- Tidy artifacts, OR start a new feature with `/mvt-analyze` |
|
|
25
|
+
|
|
26
|
+
### Step 3: Display Skills Catalog
|
|
27
|
+
Read `registry.yaml` > `skills` section.
|
|
28
|
+
Group skills by `category` field and display as tables:
|
|
29
|
+
- `workflow` -> "Workflow Skills (sequential phases)"
|
|
30
|
+
- `shortcut` -> "Shortcut Skills (anytime, no prerequisites)"
|
|
31
|
+
- `project` -> "Project Management Skills"
|
|
32
|
+
- `utility` -> "Utility Skills"
|
|
33
|
+
|
|
34
|
+
For each skill, show: `/{skill-name}` | `description` field from registry.
|
|
35
|
+
Sort within each group by declaration order in registry.
|
|
36
|
+
|
|
37
|
+
### Step 4: Show Workflow Diagram
|
|
38
|
+
Display the standard workflow with current position highlighted:
|
|
39
|
+
|
|
40
|
+
```mermaid
|
|
41
|
+
flowchart LR
|
|
42
|
+
A[init] --> B[analyze-code] --> C[analyze] --> D[design] --> D2[plan-dev]
|
|
43
|
+
D --> E[implement]
|
|
44
|
+
D2 --> E
|
|
45
|
+
E --> F[review] --> G[test]
|
|
46
|
+
|
|
47
|
+
C -.->|simple change| Q[quick-dev]
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
Color-code based on current progress: green (done), yellow (current/recommended), gray (pending). The "current" node is whichever skill the Step 2 table recommended; "done" is determined by the same evidence the Step 2 table consumed.
|
|
51
|
+
|
|
52
|
+
### Step 5: Respond to User Questions
|
|
53
|
+
- **What**: handle the user's free-form question after the catalog is rendered.
|
|
54
|
+
- **How**:
|
|
55
|
+
|
|
56
|
+
| Question pattern | Response |
|
|
57
|
+
|------------------|----------|
|
|
58
|
+
| "What should I do next?" / no specific question | Repeat the Step 2 recommendation in one line, followed by a one-clause reason citing the matched condition |
|
|
59
|
+
| "What does `/mvt-X` do?" / asks about a specific skill | Read the skill's metadata from `registry.yaml`, show: name, description, category, dependencies, knowledge entries (if any), template (if any). If the skill has a `path`, mention "see SKILL.md for the full procedure" -- do NOT inline the full SKILL.md content (too large) |
|
|
60
|
+
| "Compare `/mvt-X` and `/mvt-Y`" | Pull descriptions from registry; if both are workflow skills, mention their relative position in the diagram |
|
|
61
|
+
| Asks about something not in registry | Reply: "No skill matches that. Available skills: see catalog above." Do not invent skills |
|
|
62
|
+
|
|
63
|
+
### Step 6: (session update handled by shared section)
|
|
64
|
+
|
|
65
|
+
## Edge Cases & Errors
|
|
66
|
+
|
|
67
|
+
| Case | Handling |
|
|
68
|
+
|------|----------|
|
|
69
|
+
| `registry.yaml` missing | STOP at Step 1; recommend `mvtt install`; show no catalog |
|
|
70
|
+
| `session.yaml` missing | Render catalog (Step 3) and diagram (Step 4) without the "current position" highlight; Step 2 recommends `/mvt-init` |
|
|
71
|
+
| `recent_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
|
+
| 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
|
+
| 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
|
+
| 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` |
|
|
@@ -3,7 +3,7 @@ output: .claude/skills/mvt-help/SKILL.md
|
|
|
3
3
|
|
|
4
4
|
frontmatter:
|
|
5
5
|
name: mvt-help
|
|
6
|
-
description: "Show available skills, current project status, and workflow guidance.
|
|
6
|
+
description: "Show available skills, current project status, and workflow guidance. This skill should be used when user is new to MVTT, wants to discover available commands, or needs guidance on what to do next."
|
|
7
7
|
|
|
8
8
|
sections:
|
|
9
9
|
- type: inline
|
|
@@ -12,7 +12,7 @@ sections:
|
|
|
12
12
|
|
|
13
13
|
## Purpose
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
Navigate the MVTT framework by showing available skills, current project status, and contextual guidance on what to do next. Entry point for new users and quick reference for experienced ones.
|
|
16
16
|
|
|
17
17
|
## Role
|
|
18
18
|
|
|
@@ -24,14 +24,14 @@ 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
|
+
|
|
27
30
|
- type: inline
|
|
28
31
|
content: |
|
|
29
32
|
### Step 3: Pre-flight Checks
|
|
30
33
|
- No blocking checks required.
|
|
31
34
|
|
|
32
|
-
### Step 4: Execute
|
|
33
|
-
Proceed to Execution Flow below.
|
|
34
|
-
|
|
35
35
|
- type: file
|
|
36
36
|
source: ./business.md
|
|
37
37
|
|
|
@@ -46,7 +46,7 @@ sections:
|
|
|
46
46
|
|
|
47
47
|
### Current Status
|
|
48
48
|
- **Project**: {name} ({initialized/not initialized})
|
|
49
|
-
- **
|
|
49
|
+
- **Last Skill**: {last command from skill_history}
|
|
50
50
|
- **Recommended Next**: `/mvt-{next}` -- {description}
|
|
51
51
|
|
|
52
52
|
### Workflow
|
|
@@ -54,8 +54,14 @@ sections:
|
|
|
54
54
|
|
|
55
55
|
### Available Skills
|
|
56
56
|
{Skills tables grouped by category, as defined in Step 3}
|
|
57
|
-
|
|
58
|
-
---
|
|
59
|
-
**Suggested Next Steps**:
|
|
60
|
-
- `/mvt-{recommended}` -- {description}
|
|
61
57
|
```
|
|
58
|
+
|
|
59
|
+
- type: shared
|
|
60
|
+
source: sections/session-update.md
|
|
61
|
+
params:
|
|
62
|
+
read_only: true
|
|
63
|
+
|
|
64
|
+
- type: shared
|
|
65
|
+
source: sections/footer-next-steps.md
|
|
66
|
+
params:
|
|
67
|
+
current_skill: mvt-help
|