@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
|
@@ -1,93 +1,85 @@
|
|
|
1
|
-
name: mvt-cleanup
|
|
2
|
-
output: .claude/skills/mvt-cleanup/SKILL.md
|
|
3
|
-
|
|
4
|
-
frontmatter:
|
|
5
|
-
name: mvt-cleanup
|
|
6
|
-
description: "Clean up workspace artifacts, summarize
|
|
7
|
-
|
|
8
|
-
sections:
|
|
9
|
-
- type: inline
|
|
10
|
-
content: |
|
|
11
|
-
# MVT Cleanup
|
|
12
|
-
|
|
13
|
-
## Purpose
|
|
14
|
-
|
|
15
|
-
Clean up workspace artifacts, summarize completed changes, and maintain workspace health. Reduces token footprint by archiving old artifacts and removing stale data.
|
|
16
|
-
|
|
17
|
-
- type: shared
|
|
18
|
-
source: sections/role-header.md
|
|
19
|
-
params:
|
|
20
|
-
role: Conductor
|
|
21
|
-
role_desc: "a Workflow Coordinator"
|
|
22
|
-
decision_rules:
|
|
23
|
-
- rule: "No arguments -> Interactive cleanup (review items before action)"
|
|
24
|
-
- rule: "`--dry-run` flag -> Show what would be cleaned without taking action"
|
|
25
|
-
- rule: "Completed changes found -> Summarize and archive"
|
|
26
|
-
- rule: "Orphaned artifacts found -> List for user review"
|
|
27
|
-
- rule: "Stale session data found -> Summarize into single entry"
|
|
28
|
-
boundaries:
|
|
29
|
-
- scope: "analyze requirements"
|
|
30
|
-
skill: "/mvt-analyze"
|
|
31
|
-
- scope: "design architecture"
|
|
32
|
-
skill: "/mvt-design"
|
|
33
|
-
- scope: "write implementation code"
|
|
34
|
-
skill: "/mvt-implement"
|
|
35
|
-
|
|
36
|
-
- type: inline
|
|
37
|
-
content: |
|
|
38
|
-
## Variants
|
|
39
|
-
|
|
40
|
-
| Variant | Description |
|
|
41
|
-
|---------|-------------|
|
|
42
|
-
| `/mvt-cleanup` | Interactive cleanup (review before action) |
|
|
43
|
-
| `/mvt-cleanup --dry-run` | Preview what would be cleaned |
|
|
44
|
-
|
|
45
|
-
- type: shared
|
|
46
|
-
source: sections/activation-load-context.md
|
|
47
|
-
params:
|
|
48
|
-
extended_context:
|
|
49
|
-
- "Scan all files under `.ai-agents/workspace/artifacts/` (all change-id directories)"
|
|
50
|
-
|
|
51
|
-
- type: shared
|
|
52
|
-
source: sections/activation-load-config.md
|
|
53
|
-
|
|
54
|
-
- type: shared
|
|
55
|
-
source: sections/
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
## Cleanup Rules
|
|
69
|
-
|
|
70
|
-
| Category | Rule | Action |
|
|
71
|
-
|----------|------|--------|
|
|
72
|
-
| Completed changes | Change with `status: completed` older than current task | Summarize -> archive |
|
|
73
|
-
| Orphaned artifacts | Files in `artifacts/` not referenced by any active change | List for user review |
|
|
74
|
-
| Stale session data | Session history entries older than 5 phases ago | Summarize into single entry |
|
|
75
|
-
|
|
76
|
-
- type: file
|
|
77
|
-
source: ./business.md
|
|
78
|
-
|
|
79
|
-
- type:
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
Every response MUST end with a Suggested Next Steps section.
|
|
88
|
-
|
|
89
|
-
- type: shared
|
|
90
|
-
source: sections/footer-next-steps.md
|
|
91
|
-
params:
|
|
92
|
-
next_primary: mvt-status
|
|
93
|
-
next_primary_desc: "Verify workspace state"
|
|
1
|
+
name: mvt-cleanup
|
|
2
|
+
output: .claude/skills/mvt-cleanup/SKILL.md
|
|
3
|
+
|
|
4
|
+
frontmatter:
|
|
5
|
+
name: mvt-cleanup
|
|
6
|
+
description: "Clean up workspace artifacts, summarize completed changes, and maintain workspace health. This skill should be used when workspace has accumulated old artifacts, token footprint needs reduction, or to archive completed change records."
|
|
7
|
+
|
|
8
|
+
sections:
|
|
9
|
+
- type: inline
|
|
10
|
+
content: |
|
|
11
|
+
# MVT Cleanup
|
|
12
|
+
|
|
13
|
+
## Purpose
|
|
14
|
+
|
|
15
|
+
Clean up workspace artifacts, summarize completed changes, and maintain workspace health. Reduces token footprint by archiving old artifacts and removing stale data.
|
|
16
|
+
|
|
17
|
+
- type: shared
|
|
18
|
+
source: sections/role-header.md
|
|
19
|
+
params:
|
|
20
|
+
role: Conductor
|
|
21
|
+
role_desc: "a Workflow Coordinator"
|
|
22
|
+
decision_rules:
|
|
23
|
+
- rule: "No arguments -> Interactive cleanup (review items before action)"
|
|
24
|
+
- rule: "`--dry-run` flag -> Show what would be cleaned without taking action"
|
|
25
|
+
- rule: "Completed changes found -> Summarize and archive"
|
|
26
|
+
- rule: "Orphaned artifacts found -> List for user review"
|
|
27
|
+
- rule: "Stale session data found -> Summarize into single entry"
|
|
28
|
+
boundaries:
|
|
29
|
+
- scope: "analyze requirements"
|
|
30
|
+
skill: "/mvt-analyze"
|
|
31
|
+
- scope: "design architecture"
|
|
32
|
+
skill: "/mvt-design"
|
|
33
|
+
- scope: "write implementation code"
|
|
34
|
+
skill: "/mvt-implement"
|
|
35
|
+
|
|
36
|
+
- type: inline
|
|
37
|
+
content: |
|
|
38
|
+
## Variants
|
|
39
|
+
|
|
40
|
+
| Variant | Description |
|
|
41
|
+
|---------|-------------|
|
|
42
|
+
| `/mvt-cleanup` | Interactive cleanup (review before action) |
|
|
43
|
+
| `/mvt-cleanup --dry-run` | Preview what would be cleaned |
|
|
44
|
+
|
|
45
|
+
- type: shared
|
|
46
|
+
source: sections/activation-load-context.md
|
|
47
|
+
params:
|
|
48
|
+
extended_context:
|
|
49
|
+
- "Scan all files under `.ai-agents/workspace/artifacts/` (all change-id directories)"
|
|
50
|
+
|
|
51
|
+
- type: shared
|
|
52
|
+
source: sections/activation-load-config.md
|
|
53
|
+
|
|
54
|
+
- type: shared
|
|
55
|
+
source: sections/output-language-constraint.md
|
|
56
|
+
|
|
57
|
+
- type: shared
|
|
58
|
+
source: sections/activation-preflight.md
|
|
59
|
+
params:
|
|
60
|
+
checks:
|
|
61
|
+
- order: "1"
|
|
62
|
+
field: "project not initialized"
|
|
63
|
+
level: "REQUIRED"
|
|
64
|
+
message: "Project must be initialized (session.yaml exists)"
|
|
65
|
+
|
|
66
|
+
- type: inline
|
|
67
|
+
content: |
|
|
68
|
+
## Cleanup Rules
|
|
69
|
+
|
|
70
|
+
| Category | Rule | Action |
|
|
71
|
+
|----------|------|--------|
|
|
72
|
+
| Completed changes | Change with `status: completed` older than current task | Summarize -> archive |
|
|
73
|
+
| Orphaned artifacts | Files in `artifacts/` not referenced by any active change | List for user review |
|
|
74
|
+
| Stale session data | Session history entries older than 5 phases ago | Summarize into single entry |
|
|
75
|
+
|
|
76
|
+
- type: file
|
|
77
|
+
source: ./business.md
|
|
78
|
+
|
|
79
|
+
- type: shared
|
|
80
|
+
source: sections/session-update.md
|
|
81
|
+
|
|
82
|
+
- type: shared
|
|
83
|
+
source: sections/footer-next-steps.md
|
|
84
|
+
params:
|
|
85
|
+
current_skill: mvt-cleanup
|
|
@@ -1,26 +1,94 @@
|
|
|
1
|
-
## Execution Flow
|
|
2
|
-
|
|
3
|
-
###
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
1
|
+
## Execution Flow
|
|
2
|
+
|
|
3
|
+
### Step 1: Load Inputs
|
|
4
|
+
- **Recommended**:
|
|
5
|
+
- `.ai-agents/knowledge/core/manifest.yaml` -- only when computing token estimates for shared knowledge view.
|
|
6
|
+
- **Fallback**: if `config.yaml` is missing, surface the error and recommend `mvtt install` or `/mvt-init`. Do not silently create a fresh config from this skill.
|
|
7
|
+
|
|
8
|
+
### Step 2: Dispatch by Mode
|
|
9
|
+
- **What**: pick the operating mode from the user's invocation.
|
|
10
|
+
- **How**:
|
|
11
|
+
|
|
12
|
+
| Invocation | Mode | Go to |
|
|
13
|
+
|------------|------|-------|
|
|
14
|
+
| `/mvt-config` (no args) | Interactive Menu | Step 3 |
|
|
15
|
+
| `/mvt-config show` | Show All | Step 4 |
|
|
16
|
+
| `/mvt-config set {key} {value}` | Direct Set | Step 5 |
|
|
17
|
+
| `/mvt-config wizard` | Guided Wizard | Step 6 |
|
|
18
|
+
| `/mvt-config reset` | Reset | Step 7 |
|
|
19
|
+
| Anything else | Refuse, print Variants table, stop | -- |
|
|
20
|
+
|
|
21
|
+
### Step 3: Interactive Menu
|
|
22
|
+
1. Read current `config.yaml` and render a numbered menu grouped by category (User Preferences, Knowledge Settings, etc.) with current values inline.
|
|
23
|
+
2. Wait for user to select a category number (or `q` to quit).
|
|
24
|
+
3. Show the category detail view: keys with current values, type, default, allowed values.
|
|
25
|
+
4. Let user pick a key to edit; reuse Step 5 (Direct Set) sub-flow for validation, preview, confirmation, write.
|
|
26
|
+
5. After write, return to the top-level menu until user quits.
|
|
27
|
+
6. No write happens unless the Step 5 sub-flow confirms.
|
|
28
|
+
|
|
29
|
+
### Step 4: Show All
|
|
30
|
+
- Print every key with `current value | type | default`. Mark values that differ from default with a `*`.
|
|
31
|
+
- Print the Configuration Keys reference table (provided in shared section above) below the values, for context.
|
|
32
|
+
- No write.
|
|
33
|
+
|
|
34
|
+
### Step 5: Direct Set (`set {key} {value}`)
|
|
35
|
+
1. **Validate key exists**:
|
|
36
|
+
- The key must match one of the rows in the Configuration Keys table. If not, print "Unknown key: <name>", list available keys, exit without writing.
|
|
37
|
+
2. **Validate value type and constraints**:
|
|
38
|
+
|
|
39
|
+
| Type | Validation |
|
|
40
|
+
|------|------------|
|
|
41
|
+
| `enum` | Value MUST be in the allowed list. Reject with the allowed list shown. For `language` enums (`en-US`, `zh-CN`), reject other locale strings -- ask user to pick from the allowed list (do not fuzzy-match) |
|
|
42
|
+
| `bool` | Accept exactly `true` / `false` (case-insensitive). Reject `yes`/`1`/`y` |
|
|
43
|
+
| `int` | Parse as integer; check range when range is documented (e.g., `relevance_threshold` must be 0-100) |
|
|
44
|
+
| `list` | Parse as comma-separated tokens; for `knowledge.shared`, every token must be a registered knowledge id |
|
|
45
|
+
|
|
46
|
+
3. **Preview**: render `key: <current> -> <new>` on a single line.
|
|
47
|
+
4. **Confirm**: prompt `Apply this change? (y/n)`. Skip the prompt only if invocation included an explicit non-interactive flag (none currently exists, so always prompt).
|
|
48
|
+
5. **Write atomically**:
|
|
49
|
+
- Read the current file, mutate only the targeted key, preserve all other content and formatting (do NOT rewrite the whole file from a template -- the user may have comments).
|
|
50
|
+
- Write to a temp file in the same directory, then rename. On any error, do not touch the original.
|
|
51
|
+
6. Report the new value and a one-line "what this affects" hint (e.g., "applies to subsequent skill invocations").
|
|
52
|
+
|
|
53
|
+
### Step 6: Guided Wizard
|
|
54
|
+
- Walk the user through these stages in order. Each stage uses the Step 5 validation rules. Defer the actual write to the end.
|
|
55
|
+
|
|
56
|
+
| Stage | Key | Notes |
|
|
57
|
+
|-------|-----|-------|
|
|
58
|
+
| 1 | `preferences.interaction_language` | Default `en-US`. Show allowed list |
|
|
59
|
+
| 2 | `preferences.document_output_language` | Default = whatever was just set in stage 1; user may override. Reuse stage-1 value when user accepts default |
|
|
60
|
+
| 3 | `preferences.output.no_emojis` | Default `true` |
|
|
61
|
+
| 4 | `preferences.output.data_format` | Default `yaml`; allowed: `yaml`, `json` |
|
|
62
|
+
| 5 | `preferences.context_routing.relevance_threshold` | Default `70`; allowed: 0-100 |
|
|
63
|
+
|
|
64
|
+
- After all stages, render a Summary Preview table: `key | from | to`, then a single confirmation prompt to apply ALL changes atomically.
|
|
65
|
+
- If the user aborts at the summary, discard all in-progress values; do not write anything.
|
|
66
|
+
|
|
67
|
+
### Step 7: Reset
|
|
68
|
+
1. Build the diff between current `config.yaml` and framework defaults: list every key that will revert.
|
|
69
|
+
2. Render the diff as `key | current | will-become-default`.
|
|
70
|
+
3. Require explicit confirmation: `Reset all settings to defaults? (y/n)`.
|
|
71
|
+
4. Backup current `config.yaml` to `config.yaml.bak` before writing.
|
|
72
|
+
5. Write defaults atomically.
|
|
73
|
+
6. Report the keys that changed.
|
|
74
|
+
- 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
|
+
### Step 8: (session update handled by shared section)
|
|
77
|
+
|
|
78
|
+
## Knowledge Inspection (sub-flow used by Interactive Menu and Show All)
|
|
79
|
+
- **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
|
+
- **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.
|
|
81
|
+
|
|
82
|
+
## Edge Cases & Errors
|
|
83
|
+
|
|
84
|
+
| Case | Handling |
|
|
85
|
+
|------|----------|
|
|
86
|
+
| `config.yaml` missing | STOP; recommend `mvtt install` or `/mvt-init` |
|
|
87
|
+
| `config.yaml` exists but unparseable YAML | Surface error with line number; refuse to write; recommend manual fix or `mvtt install --refresh` |
|
|
88
|
+
| User runs `set` with a deprecated key (`preferences.language`) | Print migration hint: `Run mvtt update --migrate-config` to split into the two language fields. Do not mutate the deprecated key |
|
|
89
|
+
| Wizard stage receives an empty value | Treat as "accept default for this stage", continue |
|
|
90
|
+
| User aborts mid-wizard | No partial write; the temp values are discarded |
|
|
91
|
+
| `.bak` from previous reset already exists | Overwrite (only the most recent backup is useful) |
|
|
92
|
+
| Concurrent edit detected (mtime changed during preview->write) | Abort write, surface a message, ask user to re-run |
|
|
93
|
+
| `set knowledge.shared <list>` includes unknown id | Reject with the list of valid ids from `registry.yaml` |
|
|
94
|
+
| `reset` invoked but `config.yaml` already matches defaults | Report "nothing to reset", do not write |
|
|
@@ -3,7 +3,7 @@ output: .claude/skills/mvt-config/SKILL.md
|
|
|
3
3
|
|
|
4
4
|
frontmatter:
|
|
5
5
|
name: mvt-config
|
|
6
|
-
description: "
|
|
6
|
+
description: "Manage MVTT framework configuration interactively. This skill should be used when user wants to change language, output format, or other framework settings."
|
|
7
7
|
|
|
8
8
|
sections:
|
|
9
9
|
- type: inline
|
|
@@ -12,7 +12,7 @@ sections:
|
|
|
12
12
|
|
|
13
13
|
## Purpose
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
Manage MVTT framework configuration interactively. Provide guided setup, direct key-value setting, and a setup wizard for common configurations.
|
|
16
16
|
|
|
17
17
|
- type: shared
|
|
18
18
|
source: sections/role-header.md
|
|
@@ -56,53 +56,41 @@ 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
|
+
|
|
59
62
|
- type: inline
|
|
60
63
|
content: |
|
|
61
64
|
### Step 3: Pre-flight Checks
|
|
62
65
|
- No blocking checks required (config is always accessible)
|
|
63
66
|
|
|
64
|
-
### Step 4: Execute
|
|
65
|
-
Proceed to Execution Flow below.
|
|
66
|
-
|
|
67
67
|
## Configuration Keys
|
|
68
68
|
|
|
69
69
|
### User Preferences
|
|
70
70
|
|
|
71
71
|
| Key | Type | Default | Description |
|
|
72
72
|
|-----|------|---------|-------------|
|
|
73
|
-
| `preferences.
|
|
73
|
+
| `preferences.interaction_language` | enum | `en-US` | Language for interactive output: chat replies, prompts, tables (en-US, zh-CN) |
|
|
74
|
+
| `preferences.document_output_language` | enum | `en-US` | Language for persisted documents: artifacts, project-context.md (falls back to interaction_language) |
|
|
74
75
|
| `preferences.output.no_emojis` | bool | `true` | Disable emojis in output |
|
|
75
76
|
| `preferences.output.data_format` | enum | `yaml` | Data output format (yaml, json) |
|
|
77
|
+
| `preferences.context_routing.relevance_threshold` | int | `70` | AI routing threshold for `/mvt-manage-context add` (0-100) |
|
|
76
78
|
|
|
77
|
-
###
|
|
79
|
+
### Knowledge Settings
|
|
78
80
|
|
|
79
81
|
| Key | Type | Default | Description |
|
|
80
82
|
|-----|------|---------|-------------|
|
|
81
|
-
| `
|
|
82
|
-
| `pattern.selection.auto_detect` | bool | `true` | Auto-detect pattern on init |
|
|
83
|
-
| `pattern.selection.confirm_with_user` | bool | `true` | Confirm pattern with user |
|
|
83
|
+
| `knowledge.shared` | list | `[core, project-context]` | Shared knowledge entries in registry.yaml, loaded by all skills |
|
|
84
84
|
|
|
85
85
|
- type: file
|
|
86
86
|
source: ./business.md
|
|
87
87
|
|
|
88
|
-
- type:
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
Read and use the output template from: `.ai-agents/skills/_templates/config-output.md`
|
|
93
|
-
|
|
94
|
-
If a custom version exists at `.ai-agents/skills/_templates/custom/config-output.md`, use the custom version instead.
|
|
95
|
-
|
|
96
|
-
Every response MUST end with a Suggested Next Steps section.
|
|
88
|
+
- type: shared
|
|
89
|
+
source: sections/session-update.md
|
|
90
|
+
params:
|
|
91
|
+
read_only: true
|
|
97
92
|
|
|
98
93
|
- type: shared
|
|
99
94
|
source: sections/footer-next-steps.md
|
|
100
95
|
params:
|
|
101
|
-
|
|
102
|
-
next_primary_desc: "`show` -- Verify changes"
|
|
103
|
-
next_alternatives:
|
|
104
|
-
- skill: mvt-init
|
|
105
|
-
when: "--refresh -- Re-analyze with new pattern"
|
|
106
|
-
always_show:
|
|
107
|
-
- skill: mvt-status
|
|
108
|
-
desc: "Check current project state"
|
|
96
|
+
current_skill: mvt-config
|