@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.
- package/README.md +194 -193
- package/dist/commands/migrate.d.ts +0 -2
- package/dist/commands/migrate.d.ts.map +1 -1
- package/dist/commands/migrate.js +0 -45
- package/dist/commands/migrate.js.map +1 -1
- package/package.json +1 -1
- package/registry.yaml +6 -0
- package/sources/sections/output-language-constraint.md +11 -11
- package/sources/sections/session-update.md +47 -47
- package/sources/skills/mvt-analyze/business.md +7 -7
- package/sources/skills/mvt-analyze-code/manifest.yaml +96 -96
- package/sources/skills/mvt-bug-detect/business.md +101 -0
- package/sources/skills/mvt-bug-detect/manifest.yaml +84 -0
- package/sources/skills/mvt-check-context/manifest.yaml +63 -63
- package/sources/skills/mvt-config/manifest.yaml +96 -96
- package/sources/skills/mvt-create-skill/business.md +81 -74
- package/sources/skills/mvt-create-skill/manifest.yaml +91 -95
- package/sources/skills/mvt-design/manifest.yaml +96 -96
- package/sources/skills/mvt-fix/business.md +37 -8
- package/sources/skills/mvt-fix/manifest.yaml +85 -72
- package/sources/skills/mvt-help/manifest.yaml +67 -67
- package/sources/skills/mvt-implement/manifest.yaml +80 -80
- package/sources/skills/mvt-init/manifest.yaml +101 -101
- package/sources/skills/mvt-manage-context/business.md +175 -175
- package/sources/skills/mvt-manage-context/manifest.yaml +123 -123
- package/sources/skills/mvt-plan-dev/manifest.yaml +91 -91
- package/sources/skills/mvt-quick-dev/manifest.yaml +69 -69
- package/sources/skills/mvt-refactor/manifest.yaml +86 -86
- package/sources/skills/mvt-resume/manifest.yaml +71 -71
- package/sources/skills/mvt-review/manifest.yaml +87 -87
- package/sources/skills/mvt-status/manifest.yaml +66 -66
- package/sources/skills/mvt-sync-context/business.md +150 -150
- package/sources/skills/mvt-sync-context/manifest.yaml +96 -96
- package/sources/skills/mvt-template/manifest.yaml +63 -63
- package/sources/skills/mvt-test/manifest.yaml +102 -102
- package/sources/skills/mvt-update-plan/business.md +72 -72
- package/sources/skills/mvt-update-plan/manifest.yaml +132 -132
- package/sources/templates/analyze-output/body.md +15 -15
- package/sources/templates/design-output/body.md +17 -17
- package/sources/templates/implement-output/body.md +11 -11
- package/sources/templates/review-output/body.md +11 -11
- package/sources/templates/test-output/body.md +7 -7
- package/dist/fs/protection.d.ts +0 -15
- package/dist/fs/protection.d.ts.map +0 -1
- package/dist/fs/protection.js +0 -16
- 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
|
|
30
|
-
- `
|
|
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,
|
|
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.,
|
|
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
|
|
89
|
-
2. Generate `
|
|
90
|
-
3.
|
|
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
|
|
97
|
+
- Final session update step.
|
|
97
98
|
- `## Edge Cases & Errors` table with at least 3 rows.
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
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
|
|
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 |
|
|
138
|
-
| Standard skeleton |
|
|
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
|
|
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
|
|
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
|
|
166
|
+
## Generated SKILL.md Structure
|
|
166
167
|
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
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
|
-
|
|
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
|
-
- **
|
|
74
|
-
- **
|
|
75
|
-
- **
|
|
76
|
-
- **
|
|
77
|
-
- **
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
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
|