@uoyo/mvtt 2.0.0-beta.1 → 2.0.0-beta.2

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 (46) hide show
  1. package/README.md +194 -193
  2. package/dist/commands/migrate.d.ts +0 -2
  3. package/dist/commands/migrate.d.ts.map +1 -1
  4. package/dist/commands/migrate.js +0 -45
  5. package/dist/commands/migrate.js.map +1 -1
  6. package/package.json +1 -1
  7. package/registry.yaml +6 -0
  8. package/sources/sections/output-language-constraint.md +11 -11
  9. package/sources/sections/session-update.md +47 -47
  10. package/sources/skills/mvt-analyze/business.md +7 -7
  11. package/sources/skills/mvt-analyze-code/manifest.yaml +96 -96
  12. package/sources/skills/mvt-bug-detect/business.md +101 -0
  13. package/sources/skills/mvt-bug-detect/manifest.yaml +84 -0
  14. package/sources/skills/mvt-check-context/manifest.yaml +63 -63
  15. package/sources/skills/mvt-config/manifest.yaml +96 -96
  16. package/sources/skills/mvt-create-skill/business.md +81 -74
  17. package/sources/skills/mvt-create-skill/manifest.yaml +91 -95
  18. package/sources/skills/mvt-design/manifest.yaml +96 -96
  19. package/sources/skills/mvt-fix/business.md +37 -8
  20. package/sources/skills/mvt-fix/manifest.yaml +85 -72
  21. package/sources/skills/mvt-help/manifest.yaml +67 -67
  22. package/sources/skills/mvt-implement/manifest.yaml +80 -80
  23. package/sources/skills/mvt-init/manifest.yaml +101 -101
  24. package/sources/skills/mvt-manage-context/business.md +175 -175
  25. package/sources/skills/mvt-manage-context/manifest.yaml +123 -123
  26. package/sources/skills/mvt-plan-dev/manifest.yaml +91 -91
  27. package/sources/skills/mvt-quick-dev/manifest.yaml +69 -69
  28. package/sources/skills/mvt-refactor/manifest.yaml +86 -86
  29. package/sources/skills/mvt-resume/manifest.yaml +71 -71
  30. package/sources/skills/mvt-review/manifest.yaml +87 -87
  31. package/sources/skills/mvt-status/manifest.yaml +66 -66
  32. package/sources/skills/mvt-sync-context/business.md +150 -150
  33. package/sources/skills/mvt-sync-context/manifest.yaml +96 -96
  34. package/sources/skills/mvt-template/manifest.yaml +63 -63
  35. package/sources/skills/mvt-test/manifest.yaml +102 -102
  36. package/sources/skills/mvt-update-plan/business.md +72 -72
  37. package/sources/skills/mvt-update-plan/manifest.yaml +132 -132
  38. package/sources/templates/analyze-output/body.md +15 -15
  39. package/sources/templates/design-output/body.md +17 -17
  40. package/sources/templates/implement-output/body.md +11 -11
  41. package/sources/templates/review-output/body.md +11 -11
  42. package/sources/templates/test-output/body.md +7 -7
  43. package/dist/fs/protection.d.ts +0 -15
  44. package/dist/fs/protection.d.ts.map +0 -1
  45. package/dist/fs/protection.js +0 -16
  46. package/dist/fs/protection.js.map +0 -1
@@ -1,96 +1,96 @@
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: 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
@@ -26,8 +26,8 @@ The `name` and `description` in YAML frontmatter determine when Claude will use
26
26
 
27
27
  ### Step 1: Load Inputs
28
28
  - **Recommended**:
29
- - One existing skill manifest under `sources/skills/<existing>/manifest.yaml` (or `.ai-agents/skills/<existing>/`) as a structural reference.
30
- - `sources/sections/` -- the catalog of shared sections this new skill can reuse (role-header, activation-load-context, activation-load-config, output-language-constraint, activation-preflight, session-update, footer-next-steps).
29
+ - One existing skill's SKILL.md under `.claude/skills/<existing>/SKILL.md` as a structural reference (to extract shared section patterns like Activation Protocol, State Update, Next Steps).
30
+ - `registry.yaml` -- to check for name collisions and understand skill categories.
31
31
 
32
32
  ### Step 2: Understand Usage with Concrete Examples
33
33
  Skip only when usage patterns are already crystal clear.
@@ -67,12 +67,12 @@ If the user is unsure on any field, propose a default and ask for confirmation r
67
67
  | Knowledge | (declared in registry) | Loaded via Activation Protocol; share across skills or manage via `/mvt-manage-context` | `knowledge/principle/coding-standards/` |
68
68
  | Output template | `_templates/` | Persisted document that needs a stable structure | `_templates/{name}-output.md` |
69
69
 
70
- - **Reuse vs new**: before declaring a new shared resource, grep `sources/sections/` and existing knowledge entries -- prefer reusing what is already there.
70
+ - **Reuse vs new**: before declaring a new shared resource, check existing skills' SKILL.md files and knowledge entries -- prefer reusing patterns that already exist.
71
71
  - **Output of this step**: a checklist `(name | category | purpose | path)` shown to user.
72
72
 
73
73
  ### Step 5: Design the Skill
74
74
  - **What**: produce a one-page outline before generating any file.
75
- - **How**: load an existing skill (e.g., `sources/skills/mvt-analyze/manifest.yaml`) as a structural reference, then fill in:
75
+ - **How**: load an existing skill's SKILL.md (e.g., `.claude/skills/mvt-fix/SKILL.md`) as a structural reference, then fill in:
76
76
 
77
77
  | Aspect | Decision |
78
78
  |--------|----------|
@@ -85,19 +85,20 @@ If the user is unsure on any field, propose a default and ask for confirmation r
85
85
  | Output | What gets written to disk (artifact path + template) OR pure conversation output |
86
86
 
87
87
  ### Step 6: Generate Skill Files
88
- 1. Create source directory: `sources/skills/{name}/` (or `.claude/skills/{name}/` if working directly in an installed workspace).
89
- 2. Generate `manifest.yaml` using the standard structure (see Generated Manifest Structure below). The manifest MUST reuse shared sections wherever applicable; do not inline content that already exists as a shared section.
90
- 3. Generate `business.md` containing the Execution Flow. Follow the **standard skeleton** used across all MVTT skills:
88
+ 1. Create skill directory: `.claude/skills/{name}/`.
89
+ 2. Generate a complete `SKILL.md` file (see Generated SKILL.md Structure below). This file must be fully self-contained there is no assembler or build step to resolve shared section references. All content must be inlined directly into the SKILL.md.
90
+ 3. For standard sections (Activation Protocol, Load Config, Language Constraint, Pre-flight, State Update, Next Steps), copy them verbatim from this document's own SKILL.md and substitute only the skill-specific values (role, decision rules, boundaries, pre-flight checks, next-skill suggestions). Do NOT paraphrase standard sections copy character-for-character to ensure consistency.
91
+ 4. For skill-specific sections (frontmatter, Purpose, Execution Flow, Edge Cases & Errors), generate fresh content following the skeleton below.
91
92
  - `## Execution Flow`
92
93
  - `### Step 1: Load Inputs` -- list required and recommended files, plus fallback rules.
93
94
  - Skill-specific main steps (1-5 of them), each with **What / How / Branches** sub-structure when there is real branching.
94
95
  - `### Step N: User Confirmation` -- only when destructive or non-obvious; describe trigger conditions.
95
96
  - `### Step N+1: Write Artifacts` -- only when the skill persists files; specify path, template, required content.
96
- - Final session update step (delegated to shared section).
97
+ - Final session update step.
97
98
  - `## Edge Cases & Errors` table with at least 3 rows.
98
- 4. If an output template was decided in Step 4, create `_templates/{name}-output.md` with **headings only** (this is a document structure, not a conversation reply template).
99
- 5. If scripts / references / assets are needed, create them in the skill directory.
100
- 6. SKILL.md word budget: aim for the assembled body to be under ~5k words. Push reference material to `references/`.
99
+ 5. If an output template was decided in Step 4, create `.ai-agents/skills/_templates/{name}-output.md` with **headings only** (this is a document structure, not a conversation reply template). If a custom version directory exists at `_templates/custom/`, note that users can override there.
100
+ 6. If scripts / references / assets are needed, create them under the skill directory.
101
+ 7. SKILL.md word budget: aim for the body to be under ~5k words. Push reference material to `references/`.
101
102
 
102
103
  ### Step 7: Register in Registry (MANDATORY)
103
104
  Append the skill entry to `.ai-agents/registry.yaml` > `skills` section:
@@ -127,16 +128,16 @@ Walk this checklist; any failed item must be fixed before declaring success.
127
128
 
128
129
  | Check | Pass criterion |
129
130
  |-------|----------------|
130
- | Frontmatter present | `name` and `description` exist in the manifest's `frontmatter:` block |
131
+ | Frontmatter present | `name` and `description` exist in SKILL.md YAML frontmatter |
131
132
  | Description quality | Third-person, includes what + when, distinguishes from neighbors |
132
133
  | Writing style | Imperative/infinitive throughout; no "you" / "your" |
133
134
  | Naming uniqueness | No collision with another entry in `registry.yaml` |
134
135
  | `custom: true` | Set in registry entry |
136
+ | Standard sections present | SKILL.md contains Role, Activation Protocol, Execution Flow, Edge Cases & Errors, State Update, Suggested Next Steps |
135
137
  | Knowledge files exist | Every file referenced in `knowledge:` resolves on disk |
136
138
  | Template path correct | If `template:` set, file exists at that path; the template is headings-only |
137
- | Word budget | Assembled SKILL.md body under ~5k words (run a quick `wc` if available) |
138
- | Standard skeleton | business.md contains Load Inputs, main steps with branches, Edge Cases & Errors |
139
- | Build green | If running inside the framework repo, `npm run build` succeeds |
139
+ | Word budget | SKILL.md body under ~5k words (run a quick `wc` if available) |
140
+ | Standard skeleton | Execution Flow contains Load Inputs, main steps with branches, Edge Cases & Errors |
140
141
 
141
142
  Show the user how to invoke: `/{name}`.
142
143
 
@@ -156,69 +157,75 @@ Tell the user the iteration loop:
156
157
  | Skill name collides with an existing registry entry | STOP at Step 3; ask user to rename; do not generate any file |
157
158
  | User wants the skill to mutate `session.yaml` fields beyond `skill_history` | Surface that ownership rules forbid this (e.g., `recent_changes` is owned by `/mvt-plan-dev`/`/mvt-update-plan`); recommend redesign |
158
159
  | Output template is requested but the skill is conversation-only (no persisted file) | Refuse to create a template; explain that templates are for document structure, not conversation replies |
159
- | User asks to skip the registry registration step | Refuse; an unregistered skill is invisible to `/mvt-help`, `/mvt-status`, and the assembler. Registration is non-negotiable |
160
+ | User asks to skip the registry registration step | Refuse; an unregistered skill is invisible to `/mvt-help`, `/mvt-status`, and `/mvt-resume`. Registration is non-negotiable |
160
161
  | Skill duplicates an existing skill's responsibility | Surface the overlap (cite the existing skill's description); propose merging or sub-classing as a variant rather than creating a duplicate |
161
162
  | User provides a non-third-person description ("Use this skill when you need...") | Rewrite to third-person before saving; show the rewrite for confirmation |
162
- | Generated manifest references a shared section that does not exist | Abort with the missing section path; do NOT invent a new section silently -- recommend creating it via a separate change |
163
+ | Generated SKILL.md is missing a standard section (e.g., State Update, Next Steps) | Abort generation; inform user which section is missing; read an existing SKILL.md for the correct structure |
163
164
  | `registry.yaml` parse fails after append | Restore from a pre-append backup; surface the error; do not leave the registry corrupt |
164
165
 
165
- ## Generated Manifest Structure
166
+ ## Generated SKILL.md Structure
166
167
 
167
- ```yaml
168
- name: {name}
169
- output: .claude/skills/{name}/SKILL.md
170
-
171
- frontmatter:
172
- name: {name}
173
- description: "{third-person description with trigger keywords}"
174
-
175
- sections:
176
- - type: inline
177
- content: |
178
- # {Title}
179
-
180
- ## Purpose
181
-
182
- {concise purpose statement}
183
-
184
- - type: shared
185
- source: sections/role-header.md
186
- params:
187
- role: {Agent Role}
188
- role_desc: "{role description}"
189
- decision_rules:
190
- {generated rules}
191
- boundaries:
192
- {generated boundaries}
193
-
194
- - type: shared
195
- source: sections/activation-load-context.md
196
- params:
197
- extended_context:
198
- {if needed, list additional context sources}
199
-
200
- - type: shared
201
- source: sections/activation-load-config.md
202
-
203
- - type: shared
204
- source: sections/output-language-constraint.md
205
-
206
- - type: shared
207
- source: sections/activation-preflight.md
208
- params:
209
- checks:
210
- {if needed, list preflight checks}
211
-
212
- - type: file
213
- source: ./business.md
214
-
215
- - type: shared
216
- source: sections/session-update.md
217
-
218
- - type: shared
219
- source: sections/footer-next-steps.md
220
- params:
221
- current_skill: {name}
168
+ The generated SKILL.md consists of two parts: **skill-specific sections** (generated fresh) and **standard sections** (copied from this document with skill-specific values replaced).
169
+
170
+ ### Skill-specific sections (generate fresh)
171
+
172
+ ```markdown
173
+ ---
174
+ name: '{name}'
175
+ description: '{third-person description with trigger keywords}'
176
+ ---
177
+
178
+ # {Title}
179
+
180
+ ## Purpose
181
+
182
+ {concise purpose statement}
183
+
184
+ ## Role
185
+
186
+ You are the **{Agent Role}** -- {role description}.
187
+
188
+ ### Decision Rules
189
+ {generated rules, one per line, verb-first}
190
+
191
+ ### Boundaries
192
+ - Do NOT {scope} (use `/{skill}` instead)
193
+ {repeat for each boundary}
194
+
195
+ ## Execution Flow
196
+
197
+ ### Step 1: Load Inputs
198
+ {required and recommended inputs, plus fallback rules}
199
+
200
+ {skill-specific steps 2-N}
201
+
202
+ ### Step N: User Confirmation
203
+ {only when destructive or non-obvious; describe trigger conditions}
204
+
205
+ ### Step N+1: Write Artifacts
206
+ {only when the skill persists files; specify path, template, required content}
207
+ {if shortcut/conversation-only: "No artifact -- results are conversation-only."}
208
+
209
+ {final session update step if not shortcut, or shortcut operation rules}
210
+
211
+ ## Edge Cases & Errors
212
+
213
+ | Case | Handling |
214
+ |------|----------|
215
+ {at least 3 rows}
222
216
  ```
223
217
 
224
- Note: State Update and Suggested Next Steps are handled by shared sections (`sections/session-update.md` and `sections/footer-next-steps.md`) and must be referenced from the manifest, not duplicated as inline content.
218
+ ### Standard sections (copy from this document)
219
+
220
+ Copy the following sections verbatim from this document (the assembled SKILL.md you are currently reading), replacing only the skill-specific values indicated:
221
+
222
+ | Section | Source in this document | What to replace |
223
+ |---------|----------------------|-----------------|
224
+ | Activation Protocol | `## Activation Protocol` | Add `extended_context` entries if the skill needs additional context sources; otherwise copy as-is |
225
+ | Load Config | Load Config step within Activation Protocol | Copy as-is |
226
+ | Output Language Constraint | Output Language Constraint step within Activation Protocol | Copy as-is |
227
+ | Pre-flight Checks | Pre-flight Checks step within Activation Protocol | Replace `checks` table with skill-specific checks; if none required, use a single INFO row |
228
+ | State Update | `## State Update (Required)` | Replace `/{name}` with the new skill's command; include `active_change` conditional block only if the skill creates changes; include `Shortcut Operation Rules` only if category is `shortcut` |
229
+ | Suggested Next Steps | `## Suggested Next Steps` | Replace `current_skill` with the new skill name; replace conditional suggestions with skill-appropriate ones |
230
+
231
+ **Important**: Do NOT paraphrase or rewrite the standard sections. Copy them character-for-character from this document and only substitute the skill-specific values. This ensures consistency across all MVTT skills.
@@ -1,95 +1,91 @@
1
- name: mvt-create-skill
2
- output: .claude/skills/mvt-create-skill/SKILL.md
3
-
4
- frontmatter:
5
- name: mvt-create-skill
6
- description: "Create custom MVTT skills through interactive guided workflow. This skill should be used when user wants to create a new skill, extend the framework with custom functionality, or build project-specific automation."
7
-
8
- sections:
9
- - type: inline
10
- content: |
11
- # MVT Create Skill
12
-
13
- ## Purpose
14
-
15
- Guide users through designing and creating custom MVTT-compliant skills. Follows a structured process: understand use cases, plan reusable resources, design the skill, generate files, and validate. Generates properly structured SKILL.md files with optional bundled resources (scripts, references, assets), manifest.yaml, and registry entries -- ensuring compatibility with the MVTT framework.
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: "User provides skill name -> Validate and proceed with design"
24
- - rule: "Name conflicts with existing skill -> Warn and ask for alternative"
25
- - rule: "Skill needs output template -> Create template in `_templates/` and update manifest"
26
- - rule: "Skill needs state updates -> Include session.yaml update rules"
27
- - rule: "Skill needs bundled resources -> Plan scripts/references/assets in Step 3"
28
- - rule: "Usage patterns unclear -> Ask for concrete examples before proceeding"
29
- boundaries:
30
- - scope: "Generated skills must follow MVTT SKILL.md standard structure"
31
- skill: "(constraint)"
32
- - scope: "Skill names may use `mvt-` prefix or a project-specific prefix (e.g., `app-`, `proj-`)"
33
- skill: "(constraint)"
34
- - scope: "All custom skills MUST be registered in `registry.yaml` with `custom: true`"
35
- skill: "(to prevent overwrite during framework updates)"
36
- - scope: "Description field must use third-person with effective trigger keywords"
37
- skill: "(constraint)"
38
- - scope: "SKILL.md body target <5k words; move detailed content to references/"
39
- skill: "(progressive disclosure)"
40
-
41
- - type: shared
42
- source: sections/activation-load-context.md
43
- params:
44
- extended_context:
45
- - "Load one existing SKILL.md as structural reference (e.g., `.claude/skills/mvt-status/SKILL.md`)"
46
-
47
- - type: shared
48
- source: sections/activation-load-config.md
49
-
50
- - type: shared
51
- source: sections/output-language-constraint.md
52
-
53
- - type: inline
54
- content: |
55
- ### Step 3: Pre-flight Checks
56
- - No blocking checks required.
57
-
58
- - type: file
59
- source: ./business.md
60
-
61
- - type: inline
62
- content: |
63
- ## Output Format
64
-
65
- No external template -- output is the generated skill files plus a creation summary:
66
-
67
- ```markdown
68
- ## Custom Skill Created
69
-
70
- - **Skill**: `/{name}`
71
- - **Agent**: {agent role}
72
- - **Location**: `.claude/skills/{name}/SKILL.md`
73
- - **Manifest**: Generated with shared sections
74
- - **Registry**: `registry.yaml` (custom: true)
75
- - **Template**: {created/none}
76
- - **Resources**: {scripts/references/assets listing, or none}
77
- - **Knowledge**: {per-skill entries / shared only}
78
- - **Context Budget**: SKILL.md body ~{N} words
79
-
80
- Use `/{name}` to invoke the new skill.
81
-
82
- ### Iteration
83
- 1. Use `/{name}` on real tasks
84
- 2. Notice struggles or inefficiencies
85
- 3. Update SKILL.md or bundled resources as needed
86
- 4. Use `/mvt-create-skill` to refine, or edit skill files directly
87
- ```
88
-
89
- - type: shared
90
- source: sections/session-update.md
91
-
92
- - type: shared
93
- source: sections/footer-next-steps.md
94
- params:
95
- current_skill: mvt-create-skill
1
+ name: mvt-create-skill
2
+ output: .claude/skills/mvt-create-skill/SKILL.md
3
+
4
+ frontmatter:
5
+ name: mvt-create-skill
6
+ description: "Create custom MVTT skills through interactive guided workflow. This skill should be used when user wants to create a new skill, extend the framework with custom functionality, or build project-specific automation."
7
+
8
+ sections:
9
+ - type: inline
10
+ content: |
11
+ # MVT Create Skill
12
+
13
+ ## Purpose
14
+
15
+ Guide users through designing and creating custom MVTT-compliant skills. Follows a structured process: understand use cases, plan reusable resources, design the skill, generate files, and validate. Generates properly structured SKILL.md files with optional bundled resources (scripts, references, assets), manifest.yaml, and registry entries -- ensuring compatibility with the MVTT framework.
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: "User provides skill name -> Validate and proceed with design"
24
+ - rule: "Name conflicts with existing skill -> Warn and ask for alternative"
25
+ - rule: "Skill needs output template -> Create template in `_templates/` and update manifest"
26
+ - rule: "Skill needs state updates -> Include session.yaml update rules"
27
+ - rule: "Skill needs bundled resources -> Plan scripts/references/assets in Step 3"
28
+ - rule: "Usage patterns unclear -> Ask for concrete examples before proceeding"
29
+ boundaries:
30
+ - scope: "Generated skills must follow MVTT SKILL.md standard structure"
31
+ skill: "(constraint)"
32
+ - scope: "Skill names may use `mvt-` prefix or a project-specific prefix (e.g., `app-`, `proj-`)"
33
+ skill: "(constraint)"
34
+ - scope: "All custom skills MUST be registered in `registry.yaml` with `custom: true`"
35
+ skill: "(to prevent overwrite during framework updates)"
36
+ - scope: "Description field must use third-person with effective trigger keywords"
37
+ skill: "(constraint)"
38
+ - scope: "SKILL.md body target <5k words; move detailed content to references/"
39
+ skill: "(progressive disclosure)"
40
+
41
+ - type: shared
42
+ source: sections/activation-load-context.md
43
+ params:
44
+ extended_context:
45
+ - "Load one existing SKILL.md as structural reference (e.g., `.claude/skills/mvt-status/SKILL.md`)"
46
+
47
+ - type: shared
48
+ source: sections/activation-load-config.md
49
+
50
+ - type: shared
51
+ source: sections/output-language-constraint.md
52
+
53
+ - type: inline
54
+ content: |
55
+ ### Step 3: Pre-flight Checks
56
+ - No blocking checks required.
57
+
58
+ - type: file
59
+ source: ./business.md
60
+
61
+ - type: inline
62
+ content: |
63
+ ## Output Format
64
+
65
+ No external template -- output is the generated skill files plus a creation summary:
66
+
67
+ ```markdown
68
+ ## Custom Skill Created
69
+
70
+ - **Skill**: `/{name}`
71
+ - **Agent**: {agent role}
72
+ - **Location**: `.claude/skills/{name}/SKILL.md`
73
+ - **Registry**: `registry.yaml` (custom: true)
74
+ - **Template**: {created/none}
75
+ - **Resources**: {scripts/references/assets listing, or none}
76
+ - **Knowledge**: {per-skill entries / shared only}
77
+ - **Context Budget**: SKILL.md body ~{N} words
78
+
79
+ Use `/{name}` to invoke the new skill.
80
+
81
+ ### Iteration
82
+ 1. Use `/{name}` on real tasks
83
+ 2. Notice struggles or inefficiencies
84
+ 3. Update SKILL.md or bundled resources as needed
85
+ 4. Use `/mvt-create-skill` to refine, or edit skill files directly
86
+ ```
87
+
88
+ - type: shared
89
+ source: sections/footer-next-steps.md
90
+ params:
91
+ current_skill: mvt-create-skill