@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.
Files changed (145) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +131 -147
  3. package/dist/build/assembler.d.ts.map +1 -1
  4. package/dist/build/assembler.js +2 -0
  5. package/dist/build/assembler.js.map +1 -1
  6. package/dist/build/plan-validator.d.ts +26 -0
  7. package/dist/build/plan-validator.d.ts.map +1 -0
  8. package/dist/build/plan-validator.js +225 -0
  9. package/dist/build/plan-validator.js.map +1 -0
  10. package/dist/build/section-loader.d.ts.map +1 -1
  11. package/dist/build/section-loader.js +45 -9
  12. package/dist/build/section-loader.js.map +1 -1
  13. package/dist/cli.d.ts.map +1 -1
  14. package/dist/cli.js +2 -11
  15. package/dist/cli.js.map +1 -1
  16. package/dist/commands/doctor.d.ts.map +1 -1
  17. package/dist/commands/doctor.js +0 -1
  18. package/dist/commands/doctor.js.map +1 -1
  19. package/dist/commands/install.d.ts +1 -4
  20. package/dist/commands/install.d.ts.map +1 -1
  21. package/dist/commands/install.js +18 -14
  22. package/dist/commands/install.js.map +1 -1
  23. package/dist/commands/migrate.d.ts +18 -0
  24. package/dist/commands/migrate.d.ts.map +1 -0
  25. package/dist/commands/migrate.js +163 -0
  26. package/dist/commands/migrate.js.map +1 -0
  27. package/dist/commands/update.d.ts.map +1 -1
  28. package/dist/commands/update.js +35 -2
  29. package/dist/commands/update.js.map +1 -1
  30. package/dist/fs/core-manifest.d.ts +17 -0
  31. package/dist/fs/core-manifest.d.ts.map +1 -0
  32. package/dist/fs/core-manifest.js +76 -0
  33. package/dist/fs/core-manifest.js.map +1 -0
  34. package/dist/fs/install-manifest.d.ts +1 -2
  35. package/dist/fs/install-manifest.d.ts.map +1 -1
  36. package/dist/fs/install-manifest.js +1 -2
  37. package/dist/fs/install-manifest.js.map +1 -1
  38. package/dist/fs/materialize.d.ts.map +1 -1
  39. package/dist/fs/materialize.js +23 -3
  40. package/dist/fs/materialize.js.map +1 -1
  41. package/dist/types/core-manifest.d.ts +12 -0
  42. package/dist/types/core-manifest.d.ts.map +1 -0
  43. package/dist/types/core-manifest.js +2 -0
  44. package/dist/types/core-manifest.js.map +1 -0
  45. package/dist/types/registry.d.ts +13 -5
  46. package/dist/types/registry.d.ts.map +1 -1
  47. package/install-manifest.yaml +31 -27
  48. package/package.json +57 -57
  49. package/registry.yaml +192 -209
  50. package/sources/defaults/config.yaml +27 -30
  51. package/sources/defaults/project-context.yaml +15 -26
  52. package/sources/defaults/session.yaml +31 -23
  53. package/sources/knowledge/core/manifest.yaml +4 -45
  54. package/sources/sections/activation-load-config.md +11 -5
  55. package/sources/sections/activation-load-context.md +26 -11
  56. package/sources/sections/activation-preflight.md +14 -4
  57. package/sources/sections/footer-next-steps.md +35 -9
  58. package/sources/sections/output-language-constraint.md +11 -0
  59. package/sources/sections/role-header.md +13 -13
  60. package/sources/sections/session-update.md +47 -0
  61. package/sources/skills/mvt-analyze/business.md +69 -33
  62. package/sources/skills/mvt-analyze/manifest.yaml +90 -89
  63. package/sources/skills/mvt-analyze-code/business.md +82 -35
  64. package/sources/skills/mvt-analyze-code/manifest.yaml +34 -26
  65. package/sources/skills/mvt-check-context/business.md +89 -42
  66. package/sources/skills/mvt-check-context/manifest.yaml +10 -21
  67. package/sources/skills/mvt-cleanup/business.md +80 -31
  68. package/sources/skills/mvt-cleanup/manifest.yaml +85 -93
  69. package/sources/skills/mvt-config/business.md +94 -26
  70. package/sources/skills/mvt-config/manifest.yaml +15 -27
  71. package/sources/skills/mvt-create-skill/business.md +224 -111
  72. package/sources/skills/mvt-create-skill/manifest.yaml +31 -15
  73. package/sources/skills/mvt-design/business.md +116 -34
  74. package/sources/skills/mvt-design/manifest.yaml +22 -31
  75. package/sources/skills/mvt-fix/business.md +103 -28
  76. package/sources/skills/mvt-fix/manifest.yaml +8 -22
  77. package/sources/skills/mvt-help/business.md +74 -70
  78. package/sources/skills/mvt-help/manifest.yaml +16 -10
  79. package/sources/skills/mvt-implement/business.md +91 -32
  80. package/sources/skills/mvt-implement/manifest.yaml +17 -33
  81. package/sources/skills/mvt-init/business.md +164 -49
  82. package/sources/skills/mvt-init/manifest.yaml +36 -28
  83. package/sources/skills/mvt-manage-context/business.md +175 -0
  84. package/sources/skills/mvt-manage-context/manifest.yaml +123 -0
  85. package/sources/skills/mvt-plan-dev/business.md +75 -0
  86. package/sources/skills/mvt-plan-dev/manifest.yaml +91 -0
  87. package/sources/skills/mvt-quick-dev/business.md +99 -0
  88. package/sources/skills/mvt-quick-dev/manifest.yaml +69 -0
  89. package/sources/skills/mvt-refactor/business.md +104 -33
  90. package/sources/skills/mvt-refactor/manifest.yaml +17 -32
  91. package/sources/skills/mvt-resume/business.md +137 -0
  92. package/sources/skills/mvt-resume/manifest.yaml +71 -0
  93. package/sources/skills/mvt-review/business.md +112 -49
  94. package/sources/skills/mvt-review/manifest.yaml +15 -34
  95. package/sources/skills/mvt-status/business.md +71 -24
  96. package/sources/skills/mvt-status/manifest.yaml +18 -26
  97. package/sources/skills/mvt-sync-context/business.md +148 -23
  98. package/sources/skills/mvt-sync-context/manifest.yaml +51 -39
  99. package/sources/skills/mvt-template/business.md +96 -49
  100. package/sources/skills/mvt-template/manifest.yaml +13 -21
  101. package/sources/skills/mvt-test/business.md +104 -36
  102. package/sources/skills/mvt-test/manifest.yaml +14 -23
  103. package/sources/skills/mvt-update-plan/business.md +72 -0
  104. package/sources/skills/mvt-update-plan/manifest.yaml +132 -0
  105. package/sources/templates/analyze-output/body.md +8 -31
  106. package/sources/templates/analyze-output/manifest.yaml +11 -11
  107. package/sources/templates/design-output/body.md +17 -50
  108. package/sources/templates/design-output/manifest.yaml +11 -11
  109. package/sources/templates/implement-output/body.md +6 -27
  110. package/sources/templates/implement-output/manifest.yaml +11 -11
  111. package/sources/templates/project-context/body.md +13 -0
  112. package/sources/templates/project-context/manifest.yaml +12 -0
  113. package/sources/templates/review-output/body.md +6 -40
  114. package/sources/templates/review-output/manifest.yaml +11 -11
  115. package/sources/templates/test-output/body.md +4 -28
  116. package/sources/templates/test-output/manifest.yaml +11 -11
  117. package/sources/knowledge/core/review-principles.md +0 -51
  118. package/sources/knowledge/patterns/clean-architecture/manifest.yaml +0 -66
  119. package/sources/knowledge/patterns/clean-architecture/review-checklist.md +0 -230
  120. package/sources/knowledge/patterns/ddd/manifest.yaml +0 -83
  121. package/sources/knowledge/patterns/ddd/review-checklist.md +0 -226
  122. package/sources/knowledge/patterns/ddd/tactical-patterns.md +0 -12
  123. package/sources/knowledge/patterns/frontend-react/manifest.yaml +0 -44
  124. package/sources/knowledge/patterns/frontend-react/review-checklist.md +0 -78
  125. package/sources/knowledge/patterns/manifest.yaml +0 -113
  126. package/sources/skills/mvt-add-context/business.md +0 -47
  127. package/sources/skills/mvt-add-context/manifest.yaml +0 -83
  128. package/sources/templates/analyze-code-output/body.md +0 -44
  129. package/sources/templates/analyze-code-output/manifest.yaml +0 -11
  130. package/sources/templates/cleanup-output/body.md +0 -9
  131. package/sources/templates/cleanup-output/manifest.yaml +0 -11
  132. package/sources/templates/config-output/body.md +0 -11
  133. package/sources/templates/config-output/manifest.yaml +0 -11
  134. package/sources/templates/context-check-output/body.md +0 -32
  135. package/sources/templates/context-check-output/manifest.yaml +0 -11
  136. package/sources/templates/fix-output/body.md +0 -30
  137. package/sources/templates/fix-output/manifest.yaml +0 -11
  138. package/sources/templates/init-output/body.md +0 -34
  139. package/sources/templates/init-output/manifest.yaml +0 -11
  140. package/sources/templates/refactor-output/body.md +0 -32
  141. package/sources/templates/refactor-output/manifest.yaml +0 -11
  142. package/sources/templates/status-output/body.md +0 -36
  143. package/sources/templates/status-output/manifest.yaml +0 -11
  144. package/sources/templates/sync-context-output/body.md +0 -16
  145. 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 old changes, and maintain workspace health. Use when workspace has accumulated old artifacts or to reduce context token footprint."
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/activation-preflight.md
56
- params:
57
- checks:
58
- - order: "1"
59
- field: "project not initialized"
60
- level: "REQUIRED"
61
- message: "Project must be initialized (session.yaml exists)"
62
-
63
- - type: inline
64
- content: |
65
- ### Step 4: Execute
66
- Proceed to Execution Flow below.
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: inline
80
- content: |
81
- ## Output Format
82
-
83
- Read and use the output template from: `.ai-agents/skills/_templates/cleanup-output.md`
84
-
85
- If a custom version exists at `.ai-agents/skills/_templates/custom/cleanup-output.md`, use the custom version instead.
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
- ### Interactive Menu (Default)
4
- 1. Read current settings from `config.yaml`
5
- 2. Display configuration menu with categories and current values
6
- 3. Wait for user to select a category (1-5)
7
- 4. Show category detail view with editable settings
8
- 5. Apply changes after user confirmation
9
-
10
- ### Direct Set (`set {key} {value}`)
11
- 1. Validate key exists -- if not, show available keys
12
- 2. Validate value type -- if wrong, show expected type
13
- 3. Preview the change (old -> new)
14
- 4. Ask user to confirm
15
- 5. Apply and write `config.yaml`
16
-
17
- ### Guided Wizard (`wizard`)
18
- 1. Step 1: Language Preference
19
- 2. Step 2: Output Style (emojis, data format)
20
- 3. Step 3: Architecture Pattern
21
- 4. Summary Preview -> User confirms -> Apply all changes
22
-
23
- ### Reset (`reset`)
24
- 1. Show all settings that will be reset
25
- 2. Ask user confirmation
26
- 3. Write default values to `config.yaml`
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: "Interactive configuration management for framework settings. Use when user wants to change language, output format, architecture pattern, or other framework settings."
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
- Interactive configuration management for MVTT framework settings. Provides guided setup, direct key-value setting, and a setup wizard for common configurations.
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.language` | enum | `en-US` | Output language for all responses and documents (en-US, zh-CN) |
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
- ### Pattern Settings
79
+ ### Knowledge Settings
78
80
 
79
81
  | Key | Type | Default | Description |
80
82
  |-----|------|---------|-------------|
81
- | `pattern.active` | enum | `` | Active architecture pattern |
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: inline
89
- content: |
90
- ## Output Format
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
- next_primary: mvt-config
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