@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,47 +1,47 @@
|
|
|
1
|
-
{{?read_only}}
|
|
2
|
-
## State Update
|
|
3
|
-
|
|
4
|
-
This skill is read-only and does NOT modify `.ai-agents/workspace/session.yaml`. No state mutation, no `skill_history` append, no `recent_actions` append.
|
|
5
|
-
{{/read_only}}
|
|
6
|
-
{{^read_only}}
|
|
7
|
-
## State Update (Required)
|
|
8
|
-
|
|
9
|
-
After execution, update `.ai-agents/workspace/session.yaml` with the following fields.
|
|
10
|
-
|
|
11
|
-
### Mandatory (every skill must set)
|
|
12
|
-
|
|
13
|
-
- `session.last_command`: Set to the current skill command (e.g., `"/mvt-analyze"`)
|
|
14
|
-
- `skill_history`: Append entry:
|
|
15
|
-
```yaml
|
|
16
|
-
- command: "/{skill-name}"
|
|
17
|
-
completed_at: "{current timestamp ISO 8601}"
|
|
18
|
-
summary: "{one-line summary of what was accomplished}"
|
|
19
|
-
change_id: "{active_change.id if set, otherwise empty string}"
|
|
20
|
-
```
|
|
21
|
-
Keep max 10 entries. If exceeds, drop the oldest. The `change_id` field enables `/mvt-resume` to filter history per change when multiple changes are in flight.
|
|
22
|
-
- `recent_actions`: Append one-line summary with format:
|
|
23
|
-
`[{YYYY-MM-DD HH:MM}] /{command}: {one-line summary}`
|
|
24
|
-
Keep max 5 entries. If exceeds, drop the oldest.
|
|
25
|
-
{{#update_active_change}}
|
|
26
|
-
|
|
27
|
-
### Conditional (set only when applicable)
|
|
28
|
-
|
|
29
|
-
- `active_change.id`: Set when this skill creates a new change
|
|
30
|
-
- `active_change.title`: Set when this skill creates a new change
|
|
31
|
-
- `active_change.created_at`: Set when this skill creates a new change
|
|
32
|
-
{{/update_active_change}}
|
|
33
|
-
{{#update_initialized_at}}
|
|
34
|
-
|
|
35
|
-
### Conditional (set only when applicable)
|
|
36
|
-
|
|
37
|
-
- `session.initialized_at`: Set to current timestamp when this skill initializes the project
|
|
38
|
-
{{/update_initialized_at}}
|
|
39
|
-
|
|
40
|
-
### Forbidden
|
|
41
|
-
|
|
42
|
-
- Do NOT update fields not listed above
|
|
43
|
-
- Do NOT overwrite `active_change` unless this skill creates a new change
|
|
44
|
-
- Do NOT modify `skill_history` entries other than appending a new one
|
|
45
|
-
- Do NOT modify `recent_changes` -- it is owned by `/mvt-plan-dev` and `/mvt-update-plan`
|
|
46
|
-
- Do NOT modify `active_change.plan_path` or `active_change.has_plan` -- these are owned by `/mvt-plan-dev`
|
|
47
|
-
{{/read_only}}
|
|
1
|
+
{{?read_only}}
|
|
2
|
+
## State Update
|
|
3
|
+
|
|
4
|
+
This skill is read-only and does NOT modify `.ai-agents/workspace/session.yaml`. No state mutation, no `skill_history` append, no `recent_actions` append.
|
|
5
|
+
{{/read_only}}
|
|
6
|
+
{{^read_only}}
|
|
7
|
+
## State Update (Required)
|
|
8
|
+
|
|
9
|
+
After execution, update `.ai-agents/workspace/session.yaml` with the following fields.
|
|
10
|
+
|
|
11
|
+
### Mandatory (every skill must set)
|
|
12
|
+
|
|
13
|
+
- `session.last_command`: Set to the current skill command (e.g., `"/mvt-analyze"`)
|
|
14
|
+
- `skill_history`: Append entry:
|
|
15
|
+
```yaml
|
|
16
|
+
- command: "/{skill-name}"
|
|
17
|
+
completed_at: "{current timestamp ISO 8601}"
|
|
18
|
+
summary: "{one-line summary of what was accomplished}"
|
|
19
|
+
change_id: "{active_change.id if set, otherwise empty string}"
|
|
20
|
+
```
|
|
21
|
+
Keep max 10 entries. If exceeds, drop the oldest. The `change_id` field enables `/mvt-resume` to filter history per change when multiple changes are in flight.
|
|
22
|
+
- `recent_actions`: Append one-line summary with format:
|
|
23
|
+
`[{YYYY-MM-DD HH:MM}] /{command}: {one-line summary}`
|
|
24
|
+
Keep max 5 entries. If exceeds, drop the oldest.
|
|
25
|
+
{{#update_active_change}}
|
|
26
|
+
|
|
27
|
+
### Conditional (set only when applicable)
|
|
28
|
+
|
|
29
|
+
- `active_change.id`: Set when this skill creates a new change
|
|
30
|
+
- `active_change.title`: Set when this skill creates a new change
|
|
31
|
+
- `active_change.created_at`: Set when this skill creates a new change
|
|
32
|
+
{{/update_active_change}}
|
|
33
|
+
{{#update_initialized_at}}
|
|
34
|
+
|
|
35
|
+
### Conditional (set only when applicable)
|
|
36
|
+
|
|
37
|
+
- `session.initialized_at`: Set to current timestamp when this skill initializes the project
|
|
38
|
+
{{/update_initialized_at}}
|
|
39
|
+
|
|
40
|
+
### Forbidden
|
|
41
|
+
|
|
42
|
+
- Do NOT update fields not listed above
|
|
43
|
+
- Do NOT overwrite `active_change` unless this skill creates a new change
|
|
44
|
+
- Do NOT modify `skill_history` entries other than appending a new one
|
|
45
|
+
- Do NOT modify `recent_changes` -- it is owned by `/mvt-plan-dev` and `/mvt-update-plan`
|
|
46
|
+
- Do NOT modify `active_change.plan_path` or `active_change.has_plan` -- these are owned by `/mvt-plan-dev`
|
|
47
|
+
{{/read_only}}
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
- Extract business rules and constraints
|
|
11
11
|
- Note assumptions made
|
|
12
12
|
|
|
13
|
-
### Step
|
|
13
|
+
### Step 3: Assess Complexity (Quick Path Detection)
|
|
14
14
|
- **What**: evaluate whether this requirement qualifies as a simple change suitable for the quick development path via `/mvt-quick-dev`.
|
|
15
15
|
- **How**: check each criterion in the table below. ALL criteria must pass for the quick path to be offered.
|
|
16
16
|
|
|
@@ -40,30 +40,30 @@
|
|
|
40
40
|
- Scope: ✗ touches auth middleware, user model, login UI, OAuth callback handler, config (5+ files)
|
|
41
41
|
- No new concepts: ✗ introduces external IdP and OAuth callback contract
|
|
42
42
|
- No integration concerns: ✗ new external dependency (Google IdP)
|
|
43
|
-
→ Proceed with standard analysis flow (Steps
|
|
43
|
+
→ Proceed with standard analysis flow (Steps 4-6).
|
|
44
44
|
|
|
45
45
|
- **Branches**:
|
|
46
46
|
|
|
47
47
|
| Condition | Action |
|
|
48
48
|
|-----------|--------|
|
|
49
49
|
| ALL criteria pass | Ask user: "This appears to be a simple change (1-3 files, no architectural impact). Use /mvt-quick-dev for faster execution? (y / n / show-criteria)" |
|
|
50
|
-
| ANY criterion fails | Proceed with standard analysis flow (Steps
|
|
50
|
+
| ANY criterion fails | Proceed with standard analysis flow (Steps 4-6) |
|
|
51
51
|
| Ambiguous (2-3 criteria unclear) | Proceed with standard analysis; do NOT offer quick path |
|
|
52
52
|
|
|
53
53
|
- **On user choice**:
|
|
54
54
|
- "y" -- Do NOT write an analysis artifact. Summarize the requirement understanding in conversation and recommend `/mvt-quick-dev` directly. Set `active_change` if one doesn't exist, so `/mvt-quick-dev` can reference the current work context.
|
|
55
|
-
- "n" -- Continue with full analysis flow (Steps
|
|
55
|
+
- "n" -- Continue with full analysis flow (Steps 4-6).
|
|
56
56
|
- "show-criteria" -- Display the assessment results (pass/fail per criterion), then re-prompt with y/n.
|
|
57
57
|
|
|
58
|
-
### Step
|
|
58
|
+
### Step 4: Detect Ambiguities
|
|
59
59
|
- Check for unclear requirements
|
|
60
60
|
- Check for missing information
|
|
61
61
|
- Check for conflicting requirements
|
|
62
62
|
|
|
63
|
-
### Step
|
|
63
|
+
### Step 5: Generate Clarification Questions
|
|
64
64
|
- If ambiguities found -> List each with specific question, prioritized by impact
|
|
65
65
|
- If no ambiguities -> Skip this step
|
|
66
66
|
|
|
67
|
-
### Step
|
|
67
|
+
### Step 6: Update Workspace
|
|
68
68
|
1. Generate change-id: `{YYYYMMDD}-{slug}` format (e.g., `20260425-user-authentication`)
|
|
69
69
|
2. Write artifact: `.ai-agents/workspace/artifacts/{change-id}/analysis.md`
|
|
@@ -1,96 +1,96 @@
|
|
|
1
|
-
name: mvt-analyze-code
|
|
2
|
-
output: .claude/skills/mvt-analyze-code/SKILL.md
|
|
3
|
-
|
|
4
|
-
frontmatter:
|
|
5
|
-
name: mvt-analyze-code
|
|
6
|
-
description: "Analyze existing code to generate project-context.md with terms, modules, layers, and business rules. This skill should be used when user wants to understand an existing codebase, generate documentation for legacy code, onboard to a new project, or extract requirements from source code."
|
|
7
|
-
|
|
8
|
-
sections:
|
|
9
|
-
- type: inline
|
|
10
|
-
content: |
|
|
11
|
-
# MVT Analyze Code
|
|
12
|
-
|
|
13
|
-
## Purpose
|
|
14
|
-
|
|
15
|
-
Analyze existing code to generate the project-context.md file, which describes the project's terms, modules, layer structure, business rules, and API overview. This is an independent operation that does not create a change-id.
|
|
16
|
-
|
|
17
|
-
- type: shared
|
|
18
|
-
source: sections/role-header.md
|
|
19
|
-
params:
|
|
20
|
-
role: Analyst
|
|
21
|
-
role_desc: "a Code Analysis Expert"
|
|
22
|
-
decision_rules:
|
|
23
|
-
- rule: "Source code exists -> Proceed with codebase scanning"
|
|
24
|
-
- rule: "No source code found -> Warn user and suggest checking project path"
|
|
25
|
-
- rule: "Multiple frameworks detected -> List all and prompt for primary confirmation"
|
|
26
|
-
- rule: "Custom template exists -> Use it instead of default template"
|
|
27
|
-
boundaries:
|
|
28
|
-
- scope: "make architecture decisions"
|
|
29
|
-
skill: "/mvt-design"
|
|
30
|
-
- scope: "recommend technologies"
|
|
31
|
-
skill: "/mvt-design"
|
|
32
|
-
- scope: "write implementation code"
|
|
33
|
-
skill: "/mvt-implement"
|
|
34
|
-
|
|
35
|
-
- type: inline
|
|
36
|
-
content: |
|
|
37
|
-
## Variants
|
|
38
|
-
|
|
39
|
-
| Variant | Description |
|
|
40
|
-
|---------|-------------|
|
|
41
|
-
| `/mvt-analyze-code` | Analyze the first (or only) project |
|
|
42
|
-
| `/mvt-analyze-code --all` | Analyze all projects in the workspace |
|
|
43
|
-
| `/mvt-analyze-code {name}` | Analyze a specific project by name |
|
|
44
|
-
|
|
45
|
-
- type: shared
|
|
46
|
-
source: sections/activation-load-context.md
|
|
47
|
-
params:
|
|
48
|
-
extended_context:
|
|
49
|
-
- "Scan project source directories for analysis"
|
|
50
|
-
- ".ai-agents/skills/_templates/project-context.md -- Default template for output structure"
|
|
51
|
-
- ".ai-agents/skills/_templates/custom/project-context.md -- Custom template (if exists)"
|
|
52
|
-
|
|
53
|
-
- type: shared
|
|
54
|
-
source: sections/activation-load-config.md
|
|
55
|
-
|
|
56
|
-
- type: shared
|
|
57
|
-
source: sections/output-language-constraint.md
|
|
58
|
-
|
|
59
|
-
- type: shared
|
|
60
|
-
source: sections/activation-preflight.md
|
|
61
|
-
params:
|
|
62
|
-
checks:
|
|
63
|
-
- order: "1"
|
|
64
|
-
field: "session.initialized_at"
|
|
65
|
-
level: "WARN"
|
|
66
|
-
message: "Session not initialized. Run `/mvt-init` first."
|
|
67
|
-
- order: "2"
|
|
68
|
-
field: "projects[] in project-context.yaml"
|
|
69
|
-
level: "WARN"
|
|
70
|
-
message: "No projects registered. Run `/mvt-init` first."
|
|
71
|
-
|
|
72
|
-
- type: inline
|
|
73
|
-
content: |
|
|
74
|
-
### Independent Operation Rules
|
|
75
|
-
- This is an independent operation -- no workflow prerequisites required
|
|
76
|
-
- Does NOT create a change-id
|
|
77
|
-
- Output is written to `.ai-agents/knowledge/project/_generated/project-context.md`
|
|
78
|
-
|
|
79
|
-
- type: file
|
|
80
|
-
source: ./business.md
|
|
81
|
-
|
|
82
|
-
- type: inline
|
|
83
|
-
content: |
|
|
84
|
-
## Artifact Structure
|
|
85
|
-
Read the document structure template from: `.ai-agents/skills/_templates/project-context.md`
|
|
86
|
-
If a custom version exists at `.ai-agents/skills/_templates/custom/project-context.md`, use the custom version instead.
|
|
87
|
-
The template defines section headings only. Generate content for each section based on code analysis results.
|
|
88
|
-
Write the artifact to: `.ai-agents/knowledge/project/_generated/project-context.md`
|
|
89
|
-
|
|
90
|
-
- type: shared
|
|
91
|
-
source: sections/session-update.md
|
|
92
|
-
|
|
93
|
-
- type: shared
|
|
94
|
-
source: sections/footer-next-steps.md
|
|
95
|
-
params:
|
|
96
|
-
current_skill: mvt-analyze-code
|
|
1
|
+
name: mvt-analyze-code
|
|
2
|
+
output: .claude/skills/mvt-analyze-code/SKILL.md
|
|
3
|
+
|
|
4
|
+
frontmatter:
|
|
5
|
+
name: mvt-analyze-code
|
|
6
|
+
description: "Analyze existing code to generate project-context.md with terms, modules, layers, and business rules. This skill should be used when user wants to understand an existing codebase, generate documentation for legacy code, onboard to a new project, or extract requirements from source code."
|
|
7
|
+
|
|
8
|
+
sections:
|
|
9
|
+
- type: inline
|
|
10
|
+
content: |
|
|
11
|
+
# MVT Analyze Code
|
|
12
|
+
|
|
13
|
+
## Purpose
|
|
14
|
+
|
|
15
|
+
Analyze existing code to generate the project-context.md file, which describes the project's terms, modules, layer structure, business rules, and API overview. This is an independent operation that does not create a change-id.
|
|
16
|
+
|
|
17
|
+
- type: shared
|
|
18
|
+
source: sections/role-header.md
|
|
19
|
+
params:
|
|
20
|
+
role: Analyst
|
|
21
|
+
role_desc: "a Code Analysis Expert"
|
|
22
|
+
decision_rules:
|
|
23
|
+
- rule: "Source code exists -> Proceed with codebase scanning"
|
|
24
|
+
- rule: "No source code found -> Warn user and suggest checking project path"
|
|
25
|
+
- rule: "Multiple frameworks detected -> List all and prompt for primary confirmation"
|
|
26
|
+
- rule: "Custom template exists -> Use it instead of default template"
|
|
27
|
+
boundaries:
|
|
28
|
+
- scope: "make architecture decisions"
|
|
29
|
+
skill: "/mvt-design"
|
|
30
|
+
- scope: "recommend technologies"
|
|
31
|
+
skill: "/mvt-design"
|
|
32
|
+
- scope: "write implementation code"
|
|
33
|
+
skill: "/mvt-implement"
|
|
34
|
+
|
|
35
|
+
- type: inline
|
|
36
|
+
content: |
|
|
37
|
+
## Variants
|
|
38
|
+
|
|
39
|
+
| Variant | Description |
|
|
40
|
+
|---------|-------------|
|
|
41
|
+
| `/mvt-analyze-code` | Analyze the first (or only) project |
|
|
42
|
+
| `/mvt-analyze-code --all` | Analyze all projects in the workspace |
|
|
43
|
+
| `/mvt-analyze-code {name}` | Analyze a specific project by name |
|
|
44
|
+
|
|
45
|
+
- type: shared
|
|
46
|
+
source: sections/activation-load-context.md
|
|
47
|
+
params:
|
|
48
|
+
extended_context:
|
|
49
|
+
- "Scan project source directories for analysis"
|
|
50
|
+
- ".ai-agents/skills/_templates/project-context.md -- Default template for output structure"
|
|
51
|
+
- ".ai-agents/skills/_templates/custom/project-context.md -- Custom template (if exists)"
|
|
52
|
+
|
|
53
|
+
- type: shared
|
|
54
|
+
source: sections/activation-load-config.md
|
|
55
|
+
|
|
56
|
+
- type: shared
|
|
57
|
+
source: sections/output-language-constraint.md
|
|
58
|
+
|
|
59
|
+
- type: shared
|
|
60
|
+
source: sections/activation-preflight.md
|
|
61
|
+
params:
|
|
62
|
+
checks:
|
|
63
|
+
- order: "1"
|
|
64
|
+
field: "session.initialized_at"
|
|
65
|
+
level: "WARN"
|
|
66
|
+
message: "Session not initialized. Run `/mvt-init` first."
|
|
67
|
+
- order: "2"
|
|
68
|
+
field: "projects[] in project-context.yaml"
|
|
69
|
+
level: "WARN"
|
|
70
|
+
message: "No projects registered. Run `/mvt-init` first."
|
|
71
|
+
|
|
72
|
+
- type: inline
|
|
73
|
+
content: |
|
|
74
|
+
### Independent Operation Rules
|
|
75
|
+
- This is an independent operation -- no workflow prerequisites required
|
|
76
|
+
- Does NOT create a change-id
|
|
77
|
+
- Output is written to `.ai-agents/knowledge/project/_generated/project-context.md`
|
|
78
|
+
|
|
79
|
+
- type: file
|
|
80
|
+
source: ./business.md
|
|
81
|
+
|
|
82
|
+
- type: inline
|
|
83
|
+
content: |
|
|
84
|
+
## Artifact Structure
|
|
85
|
+
Read the document structure template from: `.ai-agents/skills/_templates/project-context.md`
|
|
86
|
+
If a custom version exists at `.ai-agents/skills/_templates/custom/project-context.md`, use the custom version instead.
|
|
87
|
+
The template defines section headings only. Generate content for each section based on code analysis results.
|
|
88
|
+
Write the artifact to: `.ai-agents/knowledge/project/_generated/project-context.md`
|
|
89
|
+
|
|
90
|
+
- type: shared
|
|
91
|
+
source: sections/session-update.md
|
|
92
|
+
|
|
93
|
+
- type: shared
|
|
94
|
+
source: sections/footer-next-steps.md
|
|
95
|
+
params:
|
|
96
|
+
current_skill: mvt-analyze-code
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
## Execution Flow
|
|
2
|
+
|
|
3
|
+
### Step 1: Receive & Complete Input
|
|
4
|
+
- Read the user-provided bug description (free text, possibly with stack trace, error message, or reproduction steps).
|
|
5
|
+
- Assess input completeness using the table below:
|
|
6
|
+
|
|
7
|
+
| Input Situation | Action |
|
|
8
|
+
|-----------------|--------|
|
|
9
|
+
| No input provided | Present a structured template and wait. Template fields: **Error message**, **Reproduction steps**, **Expected behavior**, **Actual behavior**, **Environment** |
|
|
10
|
+
| Only error message | Ask: trigger conditions, runtime environment, recent changes |
|
|
11
|
+
| Only behavioral description (no error) | Ask: any error message available, whether it reproduces reliably, affected scope |
|
|
12
|
+
| Stack trace present | Sufficient — proceed to Step 2 |
|
|
13
|
+
| Reproduction steps + error message | Sufficient — proceed to Step 2 |
|
|
14
|
+
|
|
15
|
+
- When asking for clarification, be specific. Do NOT ask "can you provide more details?" — instead, name the exact missing dimension (e.g., "What error message do you see when this happens?").
|
|
16
|
+
|
|
17
|
+
### Step 2: Signal Extraction & Localization
|
|
18
|
+
- Extract concrete signals from the bug description: error message text, stack trace frames, file paths, function/class names, input data.
|
|
19
|
+
- For each signal, locate matching code (Grep / Glob).
|
|
20
|
+
- Build a candidate file list with one-line justification per file.
|
|
21
|
+
- Read recent git state (`git diff HEAD`, `git log -n 10 --oneline`) to surface recent changes that may correlate with the issue.
|
|
22
|
+
|
|
23
|
+
### Step 3: Reproduction Verification
|
|
24
|
+
|
|
25
|
+
| Condition | Action |
|
|
26
|
+
|-----------|--------|
|
|
27
|
+
| Reproduction steps provided → successfully reproduced | Mark as `Verified`, capture observed vs expected behavior |
|
|
28
|
+
| Reproduction steps provided → cannot reproduce | Mark as `Unverified`, continue with static analysis only |
|
|
29
|
+
| No reproduction steps, but signals are concrete (stack trace + paths) | Continue with static analysis, mark as `Static-only` |
|
|
30
|
+
| No reproduction steps, signals are vague | STOP — ask user for: minimal reproduction, exact error, environment, last-known-good version |
|
|
31
|
+
|
|
32
|
+
### Step 4: Root Cause Analysis
|
|
33
|
+
- Generate 1-5 candidate root cause hypotheses based on the dominant signal:
|
|
34
|
+
|
|
35
|
+
| Dominant Signal | Hypothesis Sources |
|
|
36
|
+
|-----------------|--------------------|
|
|
37
|
+
| Stack trace | Top frame in user code, recently changed code in any frame, null/undefined origin, type mismatch at boundary |
|
|
38
|
+
| Error message | Exact-string search in repo, typed exception class hierarchy, library docs for that error |
|
|
39
|
+
| Recent git diff | Files changed in last N commits intersecting with localized files, commit messages mentioning related modules |
|
|
40
|
+
| Behavioral description (no error) | Module boundary mismatches, off-by-one / null-handling, async/race, state leakage, configuration drift |
|
|
41
|
+
|
|
42
|
+
- Each hypothesis must be written as: `<claim> -- evidence: <pointer> -- check: <how to verify>`.
|
|
43
|
+
- Verify hypotheses from cheapest check to most expensive. Eliminate hypotheses that fail their checks.
|
|
44
|
+
- If ALL hypotheses are eliminated — STOP, surface findings, request more info from user. Do NOT fabricate new hypotheses silently.
|
|
45
|
+
|
|
46
|
+
### Step 5: Impact Assessment & Classification
|
|
47
|
+
|
|
48
|
+
**Bug Confirmation Status:**
|
|
49
|
+
|
|
50
|
+
| Status | Meaning |
|
|
51
|
+
|--------|---------|
|
|
52
|
+
| Confirmed | Root cause verified, bug definitely exists |
|
|
53
|
+
| Likely | Evidence is strong but cannot fully rule out other possibilities |
|
|
54
|
+
| NotABug | Actual behavior matches expected behavior / business rules — not a bug |
|
|
55
|
+
| Inconclusive | Insufficient evidence, requires human judgment |
|
|
56
|
+
|
|
57
|
+
**Severity:**
|
|
58
|
+
|
|
59
|
+
| Level | Definition |
|
|
60
|
+
|-------|------------|
|
|
61
|
+
| Critical | Data loss, security vulnerability, core functionality broken |
|
|
62
|
+
| High | Major feature broken but temporary workaround exists |
|
|
63
|
+
| Medium | Minor feature broken or usability issue |
|
|
64
|
+
| Low | Edge case issue, no significant impact on main flow |
|
|
65
|
+
|
|
66
|
+
**Impact Scope:**
|
|
67
|
+
- List affected modules/files with one-line description each.
|
|
68
|
+
- List affected user scenarios / business flows.
|
|
69
|
+
- Search for similar patterns elsewhere in the codebase (same root cause may exist in other locations).
|
|
70
|
+
|
|
71
|
+
### Step 6: Present Diagnosis
|
|
72
|
+
- Output the diagnosis in conversation using this format:
|
|
73
|
+
|
|
74
|
+
```
|
|
75
|
+
Bug Detection Result
|
|
76
|
+
─────────────────────
|
|
77
|
+
Status: <Confirmed | Likely | NotABug | Inconclusive>
|
|
78
|
+
Severity: <Critical | High | Medium | Low>
|
|
79
|
+
Root Cause: <one paragraph>
|
|
80
|
+
Confidence: <reasoning for the status judgment>
|
|
81
|
+
Impact: <affected modules and scenarios>
|
|
82
|
+
Affected: <file list with line ranges>
|
|
83
|
+
Similar: <other locations that may have the same root cause>
|
|
84
|
+
─────────────────────
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
- For `NotABug`: explain why the current behavior is expected, and suggest `/mvt-analyze` if the requirement itself needs revision.
|
|
88
|
+
- For `Inconclusive`: summarize what was found and what remains unknown, so the user or `/mvt-fix` can act with full awareness.
|
|
89
|
+
|
|
90
|
+
### Step 7: (session update handled by shared section)
|
|
91
|
+
|
|
92
|
+
## Edge Cases & Errors
|
|
93
|
+
|
|
94
|
+
| Case | Handling |
|
|
95
|
+
|------|----------|
|
|
96
|
+
| Bug is intermittent / racy | Mark reproduction as "flaky", state confidence level explicitly, suggest adding instrumentation rather than speculative analysis |
|
|
97
|
+
| Root cause is in a third-party dependency | Document the upstream issue, note that local workaround would be the only fix option |
|
|
98
|
+
| Bug description describes expected behavior (NotABug) | Explain clearly with evidence from code/business rules, do NOT proceed to suggest fixes |
|
|
99
|
+
| Multiple independent bugs described in one input | Analyze each separately, present multiple diagnosis blocks |
|
|
100
|
+
| User provides a URL or external reference | Note it but do NOT fetch external resources; work only with local code and the description text |
|
|
101
|
+
| `active_change` is missing | Run without change context (shortcut mode); omit change-id references in output |
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
name: mvt-bug-detect
|
|
2
|
+
output: .claude/skills/mvt-bug-detect/SKILL.md
|
|
3
|
+
|
|
4
|
+
frontmatter:
|
|
5
|
+
name: mvt-bug-detect
|
|
6
|
+
description: "Analyze and detect bugs by investigating root cause, assessing severity and impact scope. Produces a structured diagnosis in conversation without applying fixes. This skill should be used when user suspects a bug, wants to understand a problem before fixing, or needs impact analysis."
|
|
7
|
+
|
|
8
|
+
sections:
|
|
9
|
+
- type: inline
|
|
10
|
+
content: |
|
|
11
|
+
# MVT Bug Detect
|
|
12
|
+
|
|
13
|
+
## Purpose
|
|
14
|
+
|
|
15
|
+
Investigate suspected bugs: confirm whether the bug exists, identify root cause, assess severity and impact scope, and produce a structured diagnosis. This skill does NOT apply fixes — it provides analysis to help the user understand the problem and decide on next steps.
|
|
16
|
+
|
|
17
|
+
- type: shared
|
|
18
|
+
source: sections/role-header.md
|
|
19
|
+
params:
|
|
20
|
+
role: Analyst
|
|
21
|
+
role_desc: "a Bug Investigation Specialist"
|
|
22
|
+
decision_rules:
|
|
23
|
+
- rule: "Bug description provided -> Analyze and investigate"
|
|
24
|
+
- rule: "Input too vague -> Prompt for specific details with structured template"
|
|
25
|
+
- rule: "No input -> Provide input template and wait"
|
|
26
|
+
- rule: "Root cause confirmed -> Assess impact and produce diagnosis"
|
|
27
|
+
- rule: "Multiple possible causes -> List hypotheses with evidence, verify each"
|
|
28
|
+
- rule: "Bug does not exist (expected behavior) -> Report clearly, suggest /mvt-analyze if requirement gap"
|
|
29
|
+
- rule: "Evidence insufficient -> Report findings, request more info, do NOT fabricate hypotheses"
|
|
30
|
+
boundaries:
|
|
31
|
+
- scope: "apply fixes"
|
|
32
|
+
skill: "/mvt-fix"
|
|
33
|
+
- scope: "design architecture"
|
|
34
|
+
skill: "/mvt-design"
|
|
35
|
+
- scope: "review code quality"
|
|
36
|
+
skill: "/mvt-review"
|
|
37
|
+
|
|
38
|
+
- type: shared
|
|
39
|
+
source: sections/activation-load-context.md
|
|
40
|
+
params:
|
|
41
|
+
extended_context:
|
|
42
|
+
- "Related source files (load based on bug description signals)"
|
|
43
|
+
|
|
44
|
+
- type: shared
|
|
45
|
+
source: sections/activation-load-config.md
|
|
46
|
+
|
|
47
|
+
- type: shared
|
|
48
|
+
source: sections/output-language-constraint.md
|
|
49
|
+
|
|
50
|
+
- type: inline
|
|
51
|
+
content: |
|
|
52
|
+
### Shortcut Operation Rules
|
|
53
|
+
- Can execute at any time without checking workflow prerequisites
|
|
54
|
+
- Do NOT update `progress` (this is a shortcut operation, not a workflow phase)
|
|
55
|
+
- Do NOT write any artifact — diagnosis is presented in conversation only
|
|
56
|
+
- Do NOT modify any source code — this skill is read-only analysis
|
|
57
|
+
|
|
58
|
+
- type: file
|
|
59
|
+
source: ./business.md
|
|
60
|
+
|
|
61
|
+
- type: shared
|
|
62
|
+
source: sections/session-update.md
|
|
63
|
+
|
|
64
|
+
- type: shared
|
|
65
|
+
source: sections/footer-next-steps.md
|
|
66
|
+
params:
|
|
67
|
+
current_skill: mvt-bug-detect
|
|
68
|
+
conditional_suggestions:
|
|
69
|
+
conditions:
|
|
70
|
+
- condition: "bug confirmed, fix is straightforward"
|
|
71
|
+
primary: "mvt-fix"
|
|
72
|
+
primary_desc: "Fix this bug"
|
|
73
|
+
- condition: "bug confirmed, fix requires architecture change"
|
|
74
|
+
primary: "mvt-design"
|
|
75
|
+
primary_desc: "Design architectural solution first"
|
|
76
|
+
alternatives:
|
|
77
|
+
- skill: "mvt-fix"
|
|
78
|
+
desc: "Apply a minimal workaround"
|
|
79
|
+
- condition: "not a bug (expected behavior)"
|
|
80
|
+
primary: "mvt-analyze"
|
|
81
|
+
primary_desc: "Re-analyze the underlying requirement"
|
|
82
|
+
- condition: "inconclusive, needs deeper code understanding"
|
|
83
|
+
primary: "mvt-analyze-code"
|
|
84
|
+
primary_desc: "Deep-dive into the codebase"
|
|
@@ -1,63 +1,63 @@
|
|
|
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 < 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
|