@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.
Files changed (84) hide show
  1. package/README.md +184 -193
  2. package/dist/build/section-loader.d.ts.map +1 -1
  3. package/dist/build/section-loader.js +18 -8
  4. package/dist/build/section-loader.js.map +1 -1
  5. package/dist/fs/materialize.d.ts.map +1 -1
  6. package/dist/fs/materialize.js +5 -0
  7. package/dist/fs/materialize.js.map +1 -1
  8. package/dist/scripts/session-update.cjs +7568 -0
  9. package/install-manifest.yaml +2 -0
  10. package/package.json +3 -2
  11. package/registry.yaml +6 -0
  12. package/sources/defaults/config.yaml +7 -7
  13. package/sources/defaults/session.yaml +9 -16
  14. package/sources/scripts/session-update.js +351 -0
  15. package/sources/sections/activation-load-context.md +4 -0
  16. package/sources/sections/footer-next-steps.md +1 -1
  17. package/sources/sections/output-language-constraint.md +11 -11
  18. package/sources/sections/session-update.md +115 -47
  19. package/sources/skills/mvt-analyze/business.md +7 -7
  20. package/sources/skills/mvt-analyze/manifest.yaml +1 -0
  21. package/sources/skills/mvt-analyze-code/manifest.yaml +110 -96
  22. package/sources/skills/mvt-bug-detect/business.md +99 -0
  23. package/sources/skills/mvt-bug-detect/manifest.yaml +84 -0
  24. package/sources/skills/mvt-check-context/business.md +3 -5
  25. package/sources/skills/mvt-check-context/manifest.yaml +70 -63
  26. package/sources/skills/mvt-cleanup/business.md +49 -23
  27. package/sources/skills/mvt-cleanup/manifest.yaml +15 -10
  28. package/sources/skills/mvt-config/business.md +1 -2
  29. package/sources/skills/mvt-config/manifest.yaml +103 -96
  30. package/sources/skills/mvt-create-skill/business.md +84 -76
  31. package/sources/skills/mvt-create-skill/manifest.yaml +107 -95
  32. package/sources/skills/mvt-design/business.md +3 -6
  33. package/sources/skills/mvt-design/manifest.yaml +109 -96
  34. package/sources/skills/mvt-fix/business.md +39 -9
  35. package/sources/skills/mvt-fix/manifest.yaml +88 -72
  36. package/sources/skills/mvt-help/business.md +2 -4
  37. package/sources/skills/mvt-help/manifest.yaml +75 -67
  38. package/sources/skills/mvt-implement/business.md +4 -5
  39. package/sources/skills/mvt-implement/manifest.yaml +93 -80
  40. package/sources/skills/mvt-init/business.md +2 -2
  41. package/sources/skills/mvt-init/manifest.yaml +102 -101
  42. package/sources/skills/mvt-manage-context/business.md +186 -175
  43. package/sources/skills/mvt-manage-context/manifest.yaml +134 -123
  44. package/sources/skills/mvt-plan-dev/business.md +101 -20
  45. package/sources/skills/mvt-plan-dev/manifest.yaml +90 -91
  46. package/sources/skills/mvt-quick-dev/business.md +2 -1
  47. package/sources/skills/mvt-quick-dev/manifest.yaml +84 -69
  48. package/sources/skills/mvt-refactor/business.md +2 -1
  49. package/sources/skills/mvt-refactor/manifest.yaml +104 -86
  50. package/sources/skills/mvt-resume/business.md +28 -68
  51. package/sources/skills/mvt-resume/manifest.yaml +81 -71
  52. package/sources/skills/mvt-review/business.md +3 -3
  53. package/sources/skills/mvt-review/manifest.yaml +108 -87
  54. package/sources/skills/mvt-status/business.md +14 -18
  55. package/sources/skills/mvt-status/manifest.yaml +74 -66
  56. package/sources/skills/mvt-sync-context/business.md +155 -150
  57. package/sources/skills/mvt-sync-context/manifest.yaml +99 -96
  58. package/sources/skills/mvt-template/business.md +0 -2
  59. package/sources/skills/mvt-template/manifest.yaml +68 -63
  60. package/sources/skills/mvt-test/business.md +3 -3
  61. package/sources/skills/mvt-test/manifest.yaml +115 -102
  62. package/sources/skills/mvt-update-plan/business.md +83 -72
  63. package/sources/skills/mvt-update-plan/manifest.yaml +124 -132
  64. package/sources/templates/analyze-output/body.md +15 -15
  65. package/sources/templates/design-output/body.md +17 -17
  66. package/sources/templates/implement-output/body.md +11 -11
  67. package/sources/templates/review-output/body.md +11 -11
  68. package/sources/templates/test-output/body.md +7 -7
  69. package/dist/build/plan-validator.d.ts +0 -26
  70. package/dist/build/plan-validator.d.ts.map +0 -1
  71. package/dist/build/plan-validator.js +0 -225
  72. package/dist/build/plan-validator.js.map +0 -1
  73. package/dist/commands/build.d.ts +0 -5
  74. package/dist/commands/build.d.ts.map +0 -1
  75. package/dist/commands/build.js +0 -46
  76. package/dist/commands/build.js.map +0 -1
  77. package/dist/commands/migrate.d.ts +0 -18
  78. package/dist/commands/migrate.d.ts.map +0 -1
  79. package/dist/commands/migrate.js +0 -163
  80. package/dist/commands/migrate.js.map +0 -1
  81. package/dist/fs/protection.d.ts +0 -15
  82. package/dist/fs/protection.d.ts.map +0 -1
  83. package/dist/fs/protection.js +0 -16
  84. package/dist/fs/protection.js.map +0 -1
@@ -1,63 +1,70 @@
1
- name: mvt-check-context
2
- output: .claude/skills/mvt-check-context/SKILL.md
3
-
4
- frontmatter:
5
- name: mvt-check-context
6
- description: "Analyze context token load and provide optimization recommendations. This skill should be used when user wants to check how much context MVTT loads, identify large files, or optimize workspace size for better performance."
7
-
8
- sections:
9
- - type: inline
10
- content: |
11
- # MVT Context Check
12
-
13
- ## Purpose
14
-
15
- Analyze the total context information that MVTT loads at runtime, estimate token consumption, assess health status, and provide actionable optimization recommendations.
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: "Total tokens < 5,000 -> Report as \"Good\""
24
- - rule: "Total tokens 5,000-15,000 -> Report as \"Moderate\""
25
- - rule: "Total tokens 15,000-30,000 -> Report as \"High\", suggest optimizations"
26
- - rule: "Total tokens > 30,000 -> Report as \"Overloaded\", strongly recommend cleanup"
27
- boundaries:
28
- - scope: "modify any files"
29
- skill: "(Only analyze and recommend)"
30
- - scope: "clean up artifacts"
31
- skill: "/mvt-cleanup"
32
- - scope: "modify context"
33
- skill: "/mvt-manage-context"
34
-
35
- - type: shared
36
- source: sections/activation-load-context.md
37
- params:
38
- extended_context:
39
- - ".ai-agents/config.yaml -- Framework configuration (to be scanned for size)"
40
-
41
- - type: shared
42
- source: sections/activation-load-config.md
43
-
44
- - type: shared
45
- source: sections/output-language-constraint.md
46
-
47
- - type: inline
48
- content: |
49
- ### Step 3: Pre-flight Checks
50
- - No blocking checks required.
51
-
52
- - type: file
53
- source: ./business.md
54
-
55
- - type: shared
56
- source: sections/session-update.md
57
- params:
58
- read_only: true
59
-
60
- - type: shared
61
- source: sections/footer-next-steps.md
62
- params:
63
- current_skill: mvt-check-context
1
+ name: mvt-check-context
2
+ output: .claude/skills/mvt-check-context/SKILL.md
3
+
4
+ frontmatter:
5
+ name: mvt-check-context
6
+ description: "Analyze context token load and provide optimization recommendations. This skill should be used when user wants to check how much context MVTT loads, identify large files, or optimize workspace size for better performance."
7
+
8
+ sections:
9
+ - type: inline
10
+ content: |
11
+ # MVT Context Check
12
+
13
+ ## Purpose
14
+
15
+ Analyze the total context information that MVTT loads at runtime, estimate token consumption, assess health status, and provide actionable optimization recommendations.
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: "Total tokens <= 12,000 -> Report as \"Healthy\""
24
+ - rule: "Total tokens 12,001-25,000 -> Report as \"Borderline\", suggest optimizations"
25
+ - rule: "Total tokens > 25,000 -> Report as \"Oversized\", strongly recommend cleanup"
26
+ boundaries:
27
+ - scope: "modify any files"
28
+ skill: "(Only analyze and recommend)"
29
+ - scope: "clean up artifacts"
30
+ skill: "/mvt-cleanup"
31
+ - scope: "modify context"
32
+ skill: "/mvt-manage-context"
33
+
34
+ - type: shared
35
+ source: sections/activation-load-context.md
36
+ params:
37
+ extended_context:
38
+ - ".ai-agents/config.yaml -- Framework configuration (to be scanned for size)"
39
+
40
+ - type: shared
41
+ source: sections/activation-load-config.md
42
+
43
+ - type: inline
44
+ content: |
45
+ ### Step 4: Pre-flight Checks
46
+ - No blocking checks required.
47
+
48
+ - type: file
49
+ source: ./business.md
50
+
51
+ - type: shared
52
+ source: sections/session-update.md
53
+ params:
54
+ read_only: true
55
+
56
+ - type: shared
57
+ source: sections/footer-next-steps.md
58
+ params:
59
+ current_skill: mvt-check-context
60
+ conditional_suggestions:
61
+ conditions:
62
+ - condition: "context oversized or borderline"
63
+ primary: mvt-cleanup
64
+ primary_desc: "Archive old artifacts to reduce context"
65
+ alternatives:
66
+ - skill: mvt-manage-context
67
+ desc: "Move per-skill knowledge to reduce shared load"
68
+ - condition: "context healthy"
69
+ primary: mvt-status
70
+ primary_desc: "Check overall project status"
@@ -3,33 +3,42 @@
3
3
  ### Step 1: Load Inputs
4
4
  - **Fallback**: if `session.yaml` is missing, refuse to clean -- without state we can't tell what is in-progress vs completed; recommend `/mvt-init` and stop.
5
5
 
6
- ### Step 2: Inventory Artifacts
6
+ ### Step 2: Pre-Archive Sync Check
7
+
8
+ For each `changes[]` entry with `status: done`:
9
+ 1. Compare `session.last_synced_at` with the change's `updated_at`.
10
+ 2. If `last_synced_at` is empty OR `last_synced_at` < `updated_at`, mark the change as **⚠️ unsynced**.
11
+ 3. Collect all unsynced change-ids into a warning list for display in Step 6.
12
+
13
+ This check ensures `/mvt-sync-context` has processed a change's knowledge before cleanup archives it. Once archived, the original artifact files (`analysis.md`, `design.md`, `implementation.md`) are no longer accessible to sync-context.
14
+
15
+ ### Step 3: Inventory Artifacts
7
16
  - **What**: produce a per-change-id inventory with size and last-modified data.
8
17
  - **How**:
9
- 1. Walk `.ai-agents/workspace/artifacts/` and group files by their parent change-id directory.
18
+ 1. Walk `.ai-agents/workspace/artifacts/` and group files by their parent change-id directory. **Exclude the `_archived/` subdirectory** from the walk — it contains previously archived changes and is not subject to re-inventory.
10
19
  2. For each file: characters, estimated tokens (`chars / 4`), last-modified (mtime).
11
20
  3. For each change-id directory, sum tokens and file count.
12
21
  4. Mark each change-id as `active | in-recent-changes | unindexed | legacy-pattern`:
13
22
  - `active` if it matches `session.active_change.id`.
14
- - `in-recent-changes` if it appears in `session.recent_changes[]` (any status).
23
+ - `in-recent-changes` if it appears in `session.changes[]` (any status).
15
24
  - `unindexed` if neither condition holds and it sits under `artifacts/`.
16
25
  - `legacy-pattern` if the directory is `knowledge/patterns/` or matches other legacy markers.
17
26
 
18
- ### Step 3: Apply Cleanup Rules
27
+ ### Step 4: Apply Cleanup Rules
19
28
  - **What**: compute Cleanup Candidates from the inventory.
20
- - **How**: run the rules table (defined in the shared section above) plus the additions below. A single change-id may match multiple rows; collect all proposed actions.
29
+ - **How**: run the rules table below. A single change-id may match multiple rows; collect all proposed actions.
21
30
 
22
31
  | Source | Rule | Proposed action |
23
32
  |--------|------|-----------------|
24
- | `recent_changes[]` entry with `status: completed` AND any task in plan is older than the active change's start | Summarize: collapse multi-file artifacts into a single `summary.md`, keep the plan.yaml verbatim, archive the rest under `artifacts/{id}/_archive/` |
33
+ | `changes[]` entry with `status: done` AND any task in plan is older than the active change's start | Summarize: generate a `summary.md` from the change's artifacts, then move the **entire** `artifacts/{id}/` directory (including `summary.md`) to `artifacts/_archived/{id}/` |
25
34
  | Change-id directory marked `unindexed` | List for user review (do NOT auto-archive -- could be in-flight work the user just hasn't registered) |
26
- | `skill_history` entries beyond the most recent 10 | Collapse into a single summary entry inside session.yaml (rule from Cleanup Rules table) |
35
+ | `history` entries beyond the most recent N (from `config.yaml > preferences.history_limits.history`, default 20) | Truncate via `session-update.cjs --truncate-history <N>` |
27
36
  | Directory `knowledge/patterns/` exists | Flag for deletion (legacy pattern data; no replacement) |
28
37
  | Empty change-id directories (zero files inside) | Propose deletion of the directory itself |
29
38
 
30
39
  - For each candidate, compute: `current size (tokens)` -> `projected size (tokens)`, expected savings.
31
40
 
32
- ### Step 4: Present Cleanup Plan
41
+ ### Step 5: Present Cleanup Plan
33
42
  - Render the plan as a table:
34
43
 
35
44
  | Item | Category | Current Size | Action | Result |
@@ -40,41 +49,58 @@
40
49
  - Below the table, list any items marked `review-only` (unindexed) with a one-line note: user must decide manually.
41
50
  - If `--dry-run` is set, STOP here. Print "(dry run -- no changes applied)" and exit cleanly.
42
51
 
43
- ### Step 5: Confirm Before Destructive Steps
52
+ ### Step 6: Confirm Before Destructive Steps
44
53
  - **Always require confirmation** if the plan includes any of:
45
54
  - File deletion (legacy patterns, empty dirs).
46
55
  - `summarize` action (collapses multi-file content).
47
- - `archive` action (moves files into `_archive/`).
48
- - Confirmation format: a single prompt `Apply cleanup plan? (y / n / show-details)`. `show-details` prints the per-file actions, then re-asks.
56
+ - `archive` action (moves entire change-id directory into `artifacts/_archived/`).
57
+ - If the Step 2 warning list is non-empty, prepend it to the confirmation prompt:
58
+ > ⚠️ The following changes have NOT been synced by `/mvt-sync-context`. Archiving them will permanently lose their knowledge for aggregation:
59
+ > - {change-id}: {title}
60
+ > Options: `y` = archive anyway, `n` = cancel, `sync-first` = abort and run `/mvt-sync-context` first, `show-details` = per-file breakdown.
61
+ - If no unsynced warnings, use the standard prompt: `Apply cleanup plan? (y / n / show-details)`. `show-details` prints the per-file actions, then re-asks.
62
+ - User chooses `sync-first` → stop cleanup, print "Run `/mvt-sync-context` first, then re-run `/mvt-cleanup`." and exit.
49
63
  - Do NOT silently delete. Do NOT skip confirmation when `--dry-run` is absent.
50
64
 
51
- ### Step 6: Execute the Plan
65
+ ### Step 7: Execute the Plan
52
66
  - **What**: apply the confirmed actions.
53
67
  - **How**:
54
- 1. **Summarize action**: read the full set of files in the change-id directory; produce a `summary.md` with: title, change-id, status, key decisions (list each ADR/decision title), final outcomes, list of original files. Then move originals to `_archive/`.
55
- 2. **Archive action**: move files into `_archive/` under the same change-id directory, preserving relative paths.
68
+ 1. **Summarize action**: read the full set of files in the change-id directory; produce a `summary.md` with: title, change-id, status, key decisions (list each ADR/decision title), final outcomes, list of original files. Write `summary.md` into the change-id directory, then move the **entire** `artifacts/{id}/` directory to `artifacts/_archived/{id}/` (summary.md travels with it).
69
+ 2. **Archive action** (no summarize): move the **entire** `artifacts/{id}/` directory to `artifacts/_archived/{id}/`. No internal path restructuring needed.
56
70
  3. **Delete action**: remove only the items explicitly marked for deletion in the confirmed plan; never recurse beyond what was listed.
57
- 4. **Stale skill_history collapse**: rewrite `session.yaml`'s `skill_history` keeping the most recent 10 detailed entries plus one rolled-up entry summarizing the older ones (count + earliest/latest date).
71
+ 4. **Stale history truncation**: call `session-update.cjs --truncate-history <N>` where N is from `config.yaml > preferences.history_limits.history` (default 20).
58
72
  5. All file mutations atomic where possible (write-temp + rename, copy-then-delete for moves).
59
73
  6. If any single action fails, STOP further actions; report what completed, what failed, and leave a recoverable state (do not partially overwrite a file with truncated content).
60
74
 
61
- ### Step 7: Report Result
62
- - Print the actually-applied actions (may differ from the plan if Step 6 stopped early).
75
+ ### Step 8: Report Result
76
+ - Print the actually-applied actions (may differ from the plan if Step 7 stopped early).
63
77
  - Show new totals: files cleaned, tokens saved.
64
78
  - Recommend `/mvt-check-context` to validate the post-cleanup state if savings exceed ~5k tokens.
65
79
 
66
- ### Step 8: (session update handled by shared section)
67
- - This skill mutates `session.skill_history` directly in Step 6 (collapse). The standard `skill_history` append from the shared section still applies; the collapse runs BEFORE the append so the new entry is preserved at full detail.
80
+ ### Step 9: Session Update Parameter Selection
81
+
82
+ Based on the actual cleanup actions performed, choose the appropriate session-update parameter combination:
83
+
84
+ | Actual cleanup action | session-update parameters |
85
+ |----------------------|---------------------------|
86
+ | Closed `active_change` (all plan tasks completed) | `--close-change --truncate-history <N>` |
87
+ | Only truncated history / archived old changes (active_change still in progress) | `--truncate-history <N>` (**do NOT** pass `--close-change`) |
88
+ | `--dry-run` mode (no modifications made) | **Do NOT call** session-update script; only record history |
89
+
90
+ N is read from `config.yaml > preferences.history_limits.history` (default 20).
91
+
92
+ ### Step 10: State Update
93
+ Apply the State Update rules defined in the **State Update** section below.
68
94
 
69
95
  ## Edge Cases & Errors
70
96
 
71
97
  | Case | Handling |
72
98
  |------|----------|
73
99
  | `active_change.id` directory matches a "stale completed" rule | Skip cleanup of the active change; never archive in-progress work |
74
- | `--dry-run` set | Stop after Step 4; do not request confirmation; do not modify any file |
100
+ | `--dry-run` set | Stop after Step 5; do not request confirmation; do not modify any file |
75
101
  | Plan would archive ALL artifacts (workspace becomes empty) | Require an extra confirmation: `This will archive every artifact. Continue? (y/n)` |
76
- | User aborts at Step 5 confirmation | Report "no changes applied" |
77
- | `_archive/` already exists with content from a prior run | Preserve existing `_archive/` content; new archives are added alongside |
102
+ | User aborts at Step 6 confirmation | Report "no changes applied" |
103
+ | `artifacts/_archived/{id}/` already exists from a prior run | Preserve existing content; merge or skip with a note — do not overwrite |
78
104
  | File targeted for action no longer exists (concurrent removal) | Skip with a note; do not error out the whole run |
79
105
  | Unindexed change-id directory contains only `plan.yaml` | List as review-only; suggest user runs `/mvt-update-plan` or registers it via `/mvt-plan-dev` instead of cleaning |
80
- | `session.yaml.bak` present from a previous failed run | Overwrite during Step 6 collapse (only the most recent backup is useful) |
106
+ | `session.yaml.bak` present from a previous failed run | Overwrite during Step 7 collapse (only the most recent backup is useful) |
@@ -63,23 +63,28 @@ sections:
63
63
  level: "REQUIRED"
64
64
  message: "Project must be initialized (session.yaml exists)"
65
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
66
  - type: file
77
67
  source: ./business.md
78
68
 
79
69
  - type: shared
80
70
  source: sections/session-update.md
71
+ params:
72
+ current_skill: mvt-cleanup
73
+ truncate_history: true
74
+ close_change: true
81
75
 
82
76
  - type: shared
83
77
  source: sections/footer-next-steps.md
84
78
  params:
85
79
  current_skill: mvt-cleanup
80
+ conditional_suggestions:
81
+ conditions:
82
+ - condition: "cleanup freed significant tokens"
83
+ primary: mvt-check-context
84
+ primary_desc: "Validate post-cleanup context health"
85
+ - condition: "active change still in progress"
86
+ primary: mvt-resume
87
+ primary_desc: "Resume work on the active change"
88
+ - condition: "no active changes remain"
89
+ primary: mvt-analyze
90
+ primary_desc: "Start a new feature"
@@ -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.
@@ -1,96 +1,103 @@
1
- name: mvt-config
2
- output: .claude/skills/mvt-config/SKILL.md
3
-
4
- frontmatter:
5
- name: mvt-config
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
-
8
- sections:
9
- - type: inline
10
- content: |
11
- # MVT Config
12
-
13
- ## Purpose
14
-
15
- Manage MVTT framework configuration interactively. Provide guided setup, direct key-value setting, and a setup wizard for common configurations.
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 -> Show interactive configuration menu"
24
- - rule: "`show` argument -> Display all current settings"
25
- - rule: "`set {key} {value}` -> Validate and apply the specific setting"
26
- - rule: "`wizard` argument -> Start guided setup flow"
27
- - rule: "`reset` argument -> Reset all settings to defaults after confirmation"
28
- - rule: "Invalid key -> Show available keys and exit"
29
- - rule: "Invalid value type -> Show expected type and exit"
30
- boundaries:
31
- - scope: "analyze requirements"
32
- skill: "/mvt-analyze"
33
- - scope: "design architecture"
34
- skill: "/mvt-design"
35
- - scope: "write implementation code"
36
- skill: "/mvt-implement"
37
-
38
- - type: inline
39
- content: |
40
- ## Variants
41
-
42
- | Variant | Description |
43
- |---------|-------------|
44
- | `/mvt-config` | Show interactive configuration menu |
45
- | `/mvt-config show` | Display all current settings |
46
- | `/mvt-config set {key} {value}` | Set a specific configuration value |
47
- | `/mvt-config wizard` | Start guided setup wizard |
48
- | `/mvt-config reset` | Reset all settings to defaults |
49
-
50
- - type: shared
51
- source: sections/activation-load-context.md
52
- params:
53
- extended_context:
54
- - ".ai-agents/config.yaml -- Current configuration (this skill's primary target)"
55
-
56
- - type: shared
57
- source: sections/activation-load-config.md
58
-
59
- - type: shared
60
- source: sections/output-language-constraint.md
61
-
62
- - type: inline
63
- content: |
64
- ### Step 3: Pre-flight Checks
65
- - No blocking checks required (config is always accessible)
66
-
67
- ## Configuration Keys
68
-
69
- ### User Preferences
70
-
71
- | Key | Type | Default | Description |
72
- |-----|------|---------|-------------|
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) |
75
- | `preferences.output.no_emojis` | bool | `true` | Disable emojis in output |
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) |
78
-
79
- ### Knowledge Settings
80
-
81
- | Key | Type | Default | Description |
82
- |-----|------|---------|-------------|
83
- | `knowledge.shared` | list | `[core, project-context]` | Shared knowledge entries in registry.yaml, loaded by all skills |
84
-
85
- - type: file
86
- source: ./business.md
87
-
88
- - type: shared
89
- source: sections/session-update.md
90
- params:
91
- read_only: true
92
-
93
- - type: shared
94
- source: sections/footer-next-steps.md
95
- params:
96
- current_skill: mvt-config
1
+ name: mvt-config
2
+ output: .claude/skills/mvt-config/SKILL.md
3
+
4
+ frontmatter:
5
+ name: mvt-config
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
+
8
+ sections:
9
+ - type: inline
10
+ content: |
11
+ # MVT Config
12
+
13
+ ## Purpose
14
+
15
+ Manage MVTT framework configuration interactively. Provide guided setup, direct key-value setting, and a setup wizard for common configurations.
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 -> Show interactive configuration menu"
24
+ - rule: "`show` argument -> Display all current settings"
25
+ - rule: "`set {key} {value}` -> Validate and apply the specific setting"
26
+ - rule: "`wizard` argument -> Start guided setup flow"
27
+ - rule: "`reset` argument -> Reset all settings to defaults after confirmation"
28
+ - rule: "Invalid key -> Show available keys and exit"
29
+ - rule: "Invalid value type -> Show expected type and exit"
30
+ boundaries:
31
+ - scope: "analyze requirements"
32
+ skill: "/mvt-analyze"
33
+ - scope: "design architecture"
34
+ skill: "/mvt-design"
35
+ - scope: "write implementation code"
36
+ skill: "/mvt-implement"
37
+
38
+ - type: inline
39
+ content: |
40
+ ## Variants
41
+
42
+ | Variant | Description |
43
+ |---------|-------------|
44
+ | `/mvt-config` | Show interactive configuration menu |
45
+ | `/mvt-config show` | Display all current settings |
46
+ | `/mvt-config set {key} {value}` | Set a specific configuration value |
47
+ | `/mvt-config wizard` | Start guided setup wizard |
48
+ | `/mvt-config reset` | Reset all settings to defaults |
49
+
50
+ - type: shared
51
+ source: sections/activation-load-context.md
52
+ params:
53
+ extended_context:
54
+ - ".ai-agents/config.yaml -- Current configuration (this skill's primary target)"
55
+
56
+ - type: shared
57
+ source: sections/activation-load-config.md
58
+
59
+ - type: inline
60
+ content: |
61
+ ### Step 4: Pre-flight Checks
62
+ - No blocking checks required (config is always accessible)
63
+
64
+ ## Configuration Keys
65
+
66
+ ### User Preferences
67
+
68
+ | Key | Type | Default | Description |
69
+ |-----|------|---------|-------------|
70
+ | `preferences.interaction_language` | enum | `en-US` | Language for interactive output: chat replies, prompts, tables (en-US, zh-CN) |
71
+ | `preferences.document_output_language` | enum | `en-US` | Language for persisted documents: artifacts, project-context.md (falls back to interaction_language) |
72
+ | `preferences.output.no_emojis` | bool | `true` | Disable emojis in output |
73
+ | `preferences.output.data_format` | enum | `yaml` | Data output format (yaml, json) |
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) |
77
+
78
+ ### Knowledge Settings
79
+
80
+ | Key | Type | Default | Description |
81
+ |-----|------|---------|-------------|
82
+ | `knowledge.shared` | list | `[core, project-context]` | Shared knowledge entries in registry.yaml, loaded by all skills |
83
+
84
+ - type: file
85
+ source: ./business.md
86
+
87
+ - type: shared
88
+ source: sections/session-update.md
89
+ params:
90
+ read_only: true
91
+
92
+ - type: shared
93
+ source: sections/footer-next-steps.md
94
+ params:
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"