@uoyo/mvtt 2.0.0-beta.0

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 (163) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +209 -0
  3. package/dist/build/assembler.d.ts +6 -0
  4. package/dist/build/assembler.d.ts.map +1 -0
  5. package/dist/build/assembler.js +32 -0
  6. package/dist/build/assembler.js.map +1 -0
  7. package/dist/build/section-loader.d.ts +4 -0
  8. package/dist/build/section-loader.d.ts.map +1 -0
  9. package/dist/build/section-loader.js +55 -0
  10. package/dist/build/section-loader.js.map +1 -0
  11. package/dist/build/validator.d.ts +6 -0
  12. package/dist/build/validator.d.ts.map +1 -0
  13. package/dist/build/validator.js +77 -0
  14. package/dist/build/validator.js.map +1 -0
  15. package/dist/cli.d.ts +2 -0
  16. package/dist/cli.d.ts.map +1 -0
  17. package/dist/cli.js +49 -0
  18. package/dist/cli.js.map +1 -0
  19. package/dist/commands/build.d.ts +5 -0
  20. package/dist/commands/build.d.ts.map +1 -0
  21. package/dist/commands/build.js +46 -0
  22. package/dist/commands/build.js.map +1 -0
  23. package/dist/commands/doctor.d.ts +2 -0
  24. package/dist/commands/doctor.d.ts.map +1 -0
  25. package/dist/commands/doctor.js +79 -0
  26. package/dist/commands/doctor.js.map +1 -0
  27. package/dist/commands/install.d.ts +5 -0
  28. package/dist/commands/install.d.ts.map +1 -0
  29. package/dist/commands/install.js +63 -0
  30. package/dist/commands/install.js.map +1 -0
  31. package/dist/commands/shared.d.ts +2 -0
  32. package/dist/commands/shared.d.ts.map +1 -0
  33. package/dist/commands/shared.js +2 -0
  34. package/dist/commands/shared.js.map +1 -0
  35. package/dist/commands/uninstall.d.ts +2 -0
  36. package/dist/commands/uninstall.d.ts.map +1 -0
  37. package/dist/commands/uninstall.js +56 -0
  38. package/dist/commands/uninstall.js.map +1 -0
  39. package/dist/commands/update.d.ts +5 -0
  40. package/dist/commands/update.d.ts.map +1 -0
  41. package/dist/commands/update.js +59 -0
  42. package/dist/commands/update.js.map +1 -0
  43. package/dist/fs/hash.d.ts +3 -0
  44. package/dist/fs/hash.d.ts.map +1 -0
  45. package/dist/fs/hash.js +10 -0
  46. package/dist/fs/hash.js.map +1 -0
  47. package/dist/fs/install-manifest.d.ts +16 -0
  48. package/dist/fs/install-manifest.d.ts.map +1 -0
  49. package/dist/fs/install-manifest.js +29 -0
  50. package/dist/fs/install-manifest.js.map +1 -0
  51. package/dist/fs/materialize.d.ts +14 -0
  52. package/dist/fs/materialize.d.ts.map +1 -0
  53. package/dist/fs/materialize.js +116 -0
  54. package/dist/fs/materialize.js.map +1 -0
  55. package/dist/fs/protection.d.ts +15 -0
  56. package/dist/fs/protection.d.ts.map +1 -0
  57. package/dist/fs/protection.js +16 -0
  58. package/dist/fs/protection.js.map +1 -0
  59. package/dist/index.d.ts +3 -0
  60. package/dist/index.d.ts.map +1 -0
  61. package/dist/index.js +17 -0
  62. package/dist/index.js.map +1 -0
  63. package/dist/types/manifest.d.ts +21 -0
  64. package/dist/types/manifest.d.ts.map +1 -0
  65. package/dist/types/manifest.js +2 -0
  66. package/dist/types/manifest.js.map +1 -0
  67. package/dist/types/registry.d.ts +25 -0
  68. package/dist/types/registry.d.ts.map +1 -0
  69. package/dist/types/registry.js +2 -0
  70. package/dist/types/registry.js.map +1 -0
  71. package/dist/util/color.d.ts +9 -0
  72. package/dist/util/color.d.ts.map +1 -0
  73. package/dist/util/color.js +13 -0
  74. package/dist/util/color.js.map +1 -0
  75. package/dist/util/package.d.ts +3 -0
  76. package/dist/util/package.d.ts.map +1 -0
  77. package/dist/util/package.js +13 -0
  78. package/dist/util/package.js.map +1 -0
  79. package/install-manifest.yaml +27 -0
  80. package/package.json +57 -0
  81. package/registry.yaml +209 -0
  82. package/sources/defaults/config.yaml +30 -0
  83. package/sources/defaults/project-context.yaml +26 -0
  84. package/sources/defaults/session.yaml +23 -0
  85. package/sources/knowledge/core/manifest.yaml +47 -0
  86. package/sources/knowledge/core/review-principles.md +51 -0
  87. package/sources/knowledge/patterns/clean-architecture/manifest.yaml +66 -0
  88. package/sources/knowledge/patterns/clean-architecture/review-checklist.md +230 -0
  89. package/sources/knowledge/patterns/ddd/manifest.yaml +83 -0
  90. package/sources/knowledge/patterns/ddd/review-checklist.md +226 -0
  91. package/sources/knowledge/patterns/ddd/tactical-patterns.md +12 -0
  92. package/sources/knowledge/patterns/frontend-react/manifest.yaml +44 -0
  93. package/sources/knowledge/patterns/frontend-react/review-checklist.md +78 -0
  94. package/sources/knowledge/patterns/manifest.yaml +113 -0
  95. package/sources/sections/activation-load-config.md +5 -0
  96. package/sources/sections/activation-load-context.md +11 -0
  97. package/sources/sections/activation-preflight.md +4 -0
  98. package/sources/sections/footer-next-steps.md +9 -0
  99. package/sources/sections/role-header.md +13 -0
  100. package/sources/skills/mvt-add-context/business.md +47 -0
  101. package/sources/skills/mvt-add-context/manifest.yaml +83 -0
  102. package/sources/skills/mvt-analyze/business.md +33 -0
  103. package/sources/skills/mvt-analyze/manifest.yaml +89 -0
  104. package/sources/skills/mvt-analyze-code/business.md +35 -0
  105. package/sources/skills/mvt-analyze-code/manifest.yaml +88 -0
  106. package/sources/skills/mvt-check-context/business.md +42 -0
  107. package/sources/skills/mvt-check-context/manifest.yaml +74 -0
  108. package/sources/skills/mvt-cleanup/business.md +31 -0
  109. package/sources/skills/mvt-cleanup/manifest.yaml +93 -0
  110. package/sources/skills/mvt-config/business.md +26 -0
  111. package/sources/skills/mvt-config/manifest.yaml +108 -0
  112. package/sources/skills/mvt-create-skill/business.md +111 -0
  113. package/sources/skills/mvt-create-skill/manifest.yaml +79 -0
  114. package/sources/skills/mvt-design/business.md +34 -0
  115. package/sources/skills/mvt-design/manifest.yaml +105 -0
  116. package/sources/skills/mvt-fix/business.md +28 -0
  117. package/sources/skills/mvt-fix/manifest.yaml +86 -0
  118. package/sources/skills/mvt-help/business.md +70 -0
  119. package/sources/skills/mvt-help/manifest.yaml +61 -0
  120. package/sources/skills/mvt-implement/business.md +32 -0
  121. package/sources/skills/mvt-implement/manifest.yaml +96 -0
  122. package/sources/skills/mvt-init/business.md +49 -0
  123. package/sources/skills/mvt-init/manifest.yaml +93 -0
  124. package/sources/skills/mvt-refactor/business.md +33 -0
  125. package/sources/skills/mvt-refactor/manifest.yaml +101 -0
  126. package/sources/skills/mvt-review/business.md +49 -0
  127. package/sources/skills/mvt-review/manifest.yaml +106 -0
  128. package/sources/skills/mvt-status/business.md +24 -0
  129. package/sources/skills/mvt-status/manifest.yaml +74 -0
  130. package/sources/skills/mvt-sync-context/business.md +25 -0
  131. package/sources/skills/mvt-sync-context/manifest.yaml +84 -0
  132. package/sources/skills/mvt-template/business.md +49 -0
  133. package/sources/skills/mvt-template/manifest.yaml +71 -0
  134. package/sources/skills/mvt-test/business.md +36 -0
  135. package/sources/skills/mvt-test/manifest.yaml +111 -0
  136. package/sources/templates/analyze-code-output/body.md +44 -0
  137. package/sources/templates/analyze-code-output/manifest.yaml +11 -0
  138. package/sources/templates/analyze-output/body.md +38 -0
  139. package/sources/templates/analyze-output/manifest.yaml +11 -0
  140. package/sources/templates/cleanup-output/body.md +9 -0
  141. package/sources/templates/cleanup-output/manifest.yaml +11 -0
  142. package/sources/templates/config-output/body.md +11 -0
  143. package/sources/templates/config-output/manifest.yaml +11 -0
  144. package/sources/templates/context-check-output/body.md +32 -0
  145. package/sources/templates/context-check-output/manifest.yaml +11 -0
  146. package/sources/templates/design-output/body.md +50 -0
  147. package/sources/templates/design-output/manifest.yaml +11 -0
  148. package/sources/templates/fix-output/body.md +30 -0
  149. package/sources/templates/fix-output/manifest.yaml +11 -0
  150. package/sources/templates/implement-output/body.md +32 -0
  151. package/sources/templates/implement-output/manifest.yaml +11 -0
  152. package/sources/templates/init-output/body.md +34 -0
  153. package/sources/templates/init-output/manifest.yaml +11 -0
  154. package/sources/templates/refactor-output/body.md +32 -0
  155. package/sources/templates/refactor-output/manifest.yaml +11 -0
  156. package/sources/templates/review-output/body.md +45 -0
  157. package/sources/templates/review-output/manifest.yaml +11 -0
  158. package/sources/templates/status-output/body.md +36 -0
  159. package/sources/templates/status-output/manifest.yaml +11 -0
  160. package/sources/templates/sync-context-output/body.md +16 -0
  161. package/sources/templates/sync-context-output/manifest.yaml +11 -0
  162. package/sources/templates/test-output/body.md +31 -0
  163. package/sources/templates/test-output/manifest.yaml +11 -0
@@ -0,0 +1,78 @@
1
+ # React Code Review Checklist
2
+
3
+ ## Component Structure
4
+
5
+ - [ ] Component has single responsibility
6
+ - [ ] Component is properly typed (TypeScript)
7
+ - [ ] Props interface is defined and documented
8
+ - [ ] Default values provided where appropriate
9
+ - [ ] Component handles loading states
10
+ - [ ] Component handles error states
11
+
12
+ ## React Best Practices
13
+
14
+ - [ ] Keys are used correctly in lists (not index)
15
+ - [ ] useEffect dependencies are complete
16
+ - [ ] Cleanup functions provided in effects
17
+ - [ ] State updates are immutable
18
+ - [ ] useCallback/useMemo used appropriately (not prematurely)
19
+ - [ ] No direct DOM manipulation
20
+
21
+ ## Performance
22
+
23
+ - [ ] No unnecessary re-renders
24
+ - [ ] Large lists are virtualized if needed
25
+ - [ ] Images are optimized
26
+ - [ ] Code splitting applied for large features
27
+ - [ ] Lazy loading used where appropriate
28
+
29
+ ## State Management
30
+
31
+ - [ ] State is as local as possible
32
+ - [ ] Derived state is computed, not stored
33
+ - [ ] Context is not overused
34
+ - [ ] Server state uses proper solution (React Query/SWR)
35
+
36
+ ## Hooks
37
+
38
+ - [ ] Custom hooks follow naming convention (use*)
39
+ - [ ] Hooks are at top level of component
40
+ - [ ] Custom hooks return stable references
41
+ - [ ] Hook dependencies are correct
42
+
43
+ ## Accessibility
44
+
45
+ - [ ] Semantic HTML elements used
46
+ - [ ] ARIA attributes where needed
47
+ - [ ] Focus management considered
48
+ - [ ] Keyboard navigation works
49
+ - [ ] Screen reader tested
50
+
51
+ ## Error Handling
52
+
53
+ - [ ] Error boundaries used appropriately
54
+ - [ ] API errors are handled
55
+ - [ ] User sees meaningful error messages
56
+ - [ ] Errors are logged appropriately
57
+
58
+ ## Code Quality
59
+
60
+ - [ ] No console.log in production code
61
+ - [ ] No commented out code
62
+ - [ ] Consistent formatting
63
+ - [ ] Meaningful variable names
64
+ - [ ] No magic numbers/strings
65
+
66
+ ## Testing
67
+
68
+ - [ ] Critical paths are tested
69
+ - [ ] User interactions tested
70
+ - [ ] Edge cases covered
71
+ - [ ] Accessibility tested
72
+
73
+ ## Security
74
+
75
+ - [ ] No XSS vulnerabilities (dangerouslySetInnerHTML avoided)
76
+ - [ ] User input is sanitized
77
+ - [ ] Sensitive data not in client bundle
78
+ - [ ] Environment variables used correctly
@@ -0,0 +1,113 @@
1
+ patterns:
2
+ id: patterns
3
+ name: Architecture Patterns
4
+ version: "1.0"
5
+ description: Collection of architecture patterns for software design
6
+
7
+ loading:
8
+ priority: 2
9
+ auto_load: false
10
+ load_rule: "Load patterns/{active}/* based on config.yaml pattern.active"
11
+
12
+ available:
13
+ - id: ddd
14
+ name: Domain-Driven Design
15
+ path: ddd/
16
+ manifest: ddd/manifest.yaml
17
+ description: Tactical and strategic patterns for complex domain modeling
18
+ suitable_for:
19
+ - complex-domain
20
+ - enterprise-application
21
+ - bounded-contexts
22
+ files:
23
+ - tactical-patterns.md
24
+ - review-checklist.md
25
+
26
+ - id: clean-architecture
27
+ name: Clean Architecture
28
+ path: clean-architecture/
29
+ manifest: clean-architecture/manifest.yaml
30
+ description: Dependency inversion and layer separation patterns
31
+ suitable_for:
32
+ - enterprise-application
33
+ - long-term-project
34
+ - multi-interface-system
35
+ files:
36
+ - review-checklist.md
37
+
38
+ - id: frontend-react
39
+ name: Frontend (React)
40
+ path: frontend-react/
41
+ manifest: frontend-react/manifest.yaml
42
+ description: Modern React frontend application patterns
43
+ suitable_for:
44
+ - web-app
45
+ - spa
46
+ - pwa
47
+ - next.js
48
+ frameworks:
49
+ - react
50
+ - next.js
51
+ - remix
52
+ files:
53
+ - overview.md
54
+ - component-patterns.md
55
+ - review-checklist.md
56
+
57
+ # Custom patterns will be added here during #init analyze
58
+ # Example:
59
+ # custom:
60
+ # - id: my-custom-pattern
61
+ # name: My Custom Pattern
62
+ # path: my-custom-pattern/
63
+ # generated: true
64
+ # generated_at: "2026-03-08T12:00:00Z"
65
+
66
+ custom: []
67
+
68
+ discovery:
69
+ description: |
70
+ To discover available patterns:
71
+ 1. List subdirectories of knowledge/patterns/
72
+ 2. Each subdirectory is a pattern pack
73
+ 3. Read {pattern}/manifest.yaml for pattern details
74
+
75
+ to_add_pattern: |
76
+ 1. Create knowledge/patterns/{pattern}/ directory
77
+ 2. Add manifest.yaml with pattern metadata
78
+ 3. Add pattern documentation files
79
+ 4. Register in config.yaml under pattern.available
80
+ 5. Add to this file's available or custom list
81
+
82
+ pattern_selection_guide:
83
+ description: |
84
+ During #init, analyze project and suggest appropriate pattern:
85
+
86
+ decision_tree: |
87
+ 1. Is this a frontend web application?
88
+ → If React/Next.js/Remix: suggest frontend-react
89
+ → If Vue/Svelte: suggest generic (or add more patterns)
90
+
91
+ 2. Is this a CLI tool, library, or simple service?
92
+ → Suggest generic
93
+
94
+ 3. Does the domain have complex business rules?
95
+ → Suggest DDD
96
+
97
+ 4. Is this a long-term enterprise application?
98
+ → Suggest Clean Architecture or DDD
99
+
100
+ 5. Uncertain or unique architecture?
101
+ → Offer "analyze" option to create custom pattern
102
+
103
+ user_options:
104
+ - id: yes
105
+ description: Accept recommended pattern
106
+ - id: "{pattern_id}"
107
+ description: Select specific pattern by ID
108
+ - id: analyze
109
+ description: Analyze project and create custom pattern
110
+ - id: generic
111
+ description: Use generic pattern
112
+ - id: none
113
+ description: Proceed without architecture pattern
@@ -0,0 +1,5 @@
1
+ ### Step 2: Load Config & Apply Preferences (Config Foundation)
2
+ Read `.ai-agents/config.yaml` and enforce the following throughout this entire session:
3
+ - `preferences.language` → Use this language for ALL output (responses, artifact content, comments)
4
+ - `preferences.output.no_emojis` → If true, never use emojis
5
+ - `preferences.output.data_format` → Use this format for data sections in artifacts
@@ -0,0 +1,11 @@
1
+ ## Activation Protocol
2
+
3
+ ### Step 1: Load Context (Context Foundation)
4
+ Load the following files as foundational context:
5
+ - `.ai-agents/workspace/session.yaml` -- Current workflow state
6
+ - `.ai-agents/workspace/project-context.yaml` -- Project domain data
7
+
8
+ Extended context for this skill:
9
+ {{#extended_context}}
10
+ - {{.}}
11
+ {{/extended_context}}
@@ -0,0 +1,4 @@
1
+ ### Step 3: Pre-flight Checks
2
+ {{#checks}}
3
+ {{order}}. If `{{field}}` is empty → {{level}}: "{{message}}"
4
+ {{/checks}}
@@ -0,0 +1,9 @@
1
+ ## Suggested Next Steps
2
+ After completion, suggest:
3
+ - `/{{next_primary}}` -- {{next_primary_desc}}
4
+ {{#next_alternatives}}
5
+ - `/{{skill}}` -- {{when}}
6
+ {{/next_alternatives}}
7
+ {{#always_show}}
8
+ - `/{{skill}}` -- {{desc}}
9
+ {{/always_show}}
@@ -0,0 +1,13 @@
1
+ ## Role
2
+
3
+ You are the **{{role}}** -- {{role_desc}}.
4
+
5
+ ### Decision Rules
6
+ {{#decision_rules}}
7
+ - {{rule}}
8
+ {{/decision_rules}}
9
+
10
+ ### Boundaries
11
+ {{#boundaries}}
12
+ - Do NOT {{scope}} -> Suggest `{{skill}}`
13
+ {{/boundaries}}
@@ -0,0 +1,47 @@
1
+ ## Execution Flow
2
+
3
+ ### Step 1: Assess Current State
4
+ - Read project-context.yaml and evaluate completeness:
5
+ - Project name empty -> Mark as "not initialized"
6
+ - Requirements empty -> Mark as "no requirements"
7
+ - Architecture empty -> Mark as "no architecture"
8
+ - Read config.yaml:
9
+ - Check `pattern.active`
10
+ - Calculate and display context completeness percentage
11
+
12
+ ### Step 2: Guided Information Collection
13
+ Based on what is missing, guide the user through relevant sections:
14
+
15
+ **If not initialized** (project basics):
16
+ - Project name, type, description
17
+ - Tech stack (language, framework, build tool, test framework)
18
+ - Suggest running `/mvt-init` for automatic detection
19
+
20
+ **If no requirements** (requirements & background):
21
+ - Main features and goals
22
+ - User roles and use cases
23
+ - Known constraints and limitations
24
+
25
+ **If no architecture** (architecture info):
26
+ - Architecture pattern (DDD / Clean Architecture / etc.)
27
+ - Module structure
28
+ - Key technical decisions
29
+
30
+ **Supplementary information** (always available):
31
+ - Project-specific coding standards
32
+ - Team conventions
33
+ - Third-party integration details
34
+
35
+ ### Step 3: Write Context
36
+ Based on information collected:
37
+ 1. Update `.ai-agents/workspace/project-context.yaml` (matching fields)
38
+ 2. Update `.ai-agents/workspace/session.yaml` (if initialization changed)
39
+ 3. If coding standards provided -> Write to `.ai-agents/knowledge/principle/`
40
+ 4. If project knowledge provided -> Write to `.ai-agents/knowledge/project/`
41
+ 5. Update `config.yaml` `pattern.active` if user confirmed architecture pattern
42
+
43
+ ### Step 4: Verification Report
44
+ - Show updated context summary
45
+ - Display completeness change (before vs after)
46
+ - If context is large -> Suggest running `/mvt-check-context`
47
+ - Suggest next steps
@@ -0,0 +1,83 @@
1
+ name: mvt-add-context
2
+ output: .claude/skills/mvt-add-context/SKILL.md
3
+
4
+ frontmatter:
5
+ name: mvt-add-context
6
+ description: "Interactively add or update project context information to the MVTT workspace. Use when user wants to manually add project details, requirements, architecture info, coding standards, or team conventions."
7
+
8
+ sections:
9
+ - type: inline
10
+ content: |
11
+ # MVT Context Add
12
+
13
+ ## Purpose
14
+
15
+ Guide users through adding or updating project context information in the MVTT workspace. This is a user-driven, interactive process complementary to `/mvt-sync-context` (which is code-driven and automatic).
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: "Project not initialized -> Suggest `/mvt-init` first, but allow manual context entry"
24
+ - rule: "Missing project basics -> Guide through project info collection"
25
+ - rule: "Missing requirements -> Guide through requirements entry"
26
+ - rule: "Missing architecture -> Guide through architecture info"
27
+ - rule: "User provides coding standards -> Write to knowledge/principle/"
28
+ - rule: "User provides project knowledge -> Write to knowledge/project/"
29
+ boundaries:
30
+ - scope: "analyze code automatically"
31
+ skill: "/mvt-sync-context or /mvt-analyze-code"
32
+ - scope: "make architecture decisions"
33
+ skill: "/mvt-design"
34
+ - scope: "write implementation code"
35
+ skill: "/mvt-implement"
36
+
37
+ - type: shared
38
+ source: sections/activation-load-context.md
39
+
40
+ - type: shared
41
+ source: sections/activation-load-config.md
42
+
43
+ - type: inline
44
+ content: |
45
+ ### Step 3: Pre-flight Checks
46
+ - No blocking checks required.
47
+
48
+ ### Step 4: Execute
49
+ Proceed to Execution Flow below.
50
+
51
+ - type: file
52
+ source: ./business.md
53
+
54
+ - type: inline
55
+ content: |
56
+ ## Output Format
57
+
58
+ No external template -- output is inline:
59
+
60
+ ```markdown
61
+ ## Context Updated
62
+
63
+ ### Completeness
64
+ - **Before**: {pct_before}%
65
+ - **After**: {pct_after}%
66
+
67
+ ### Changes Made
68
+ | Section | Status | Details |
69
+ |---------|--------|---------|
70
+ | Project Info | {Updated/Unchanged} | {summary} |
71
+ | Requirements | {Updated/Unchanged} | {summary} |
72
+ | Architecture | {Updated/Unchanged} | {summary} |
73
+ | Knowledge | {Updated/Unchanged} | {summary} |
74
+
75
+ ### Files Modified
76
+ - {list of modified files}
77
+
78
+ ---
79
+ **Suggested Next Steps**:
80
+ - `/mvt-check-context` -- Analyze context load if context is large
81
+ - `/mvt-analyze` -- Start requirements analysis
82
+ - `/mvt-status` -- View current project status
83
+ ```
@@ -0,0 +1,33 @@
1
+ ## Execution Flow
2
+
3
+ ### Step 1: Load Requirements
4
+ - If file path provided as argument -> Read that file
5
+ - If requirements exist in `.ai-agents/workspace/requirements/` -> List files, ask user to select
6
+ - Otherwise -> Use requirements text from user message
7
+
8
+ ### Step 2: Extract Information
9
+ - Identify features and functionality
10
+ - Identify actors and stakeholders
11
+ - Extract business rules and constraints
12
+ - Note assumptions made
13
+
14
+ ### Step 3: Detect Ambiguities
15
+ - Check for unclear requirements
16
+ - Check for missing information
17
+ - Check for conflicting requirements
18
+
19
+ ### Step 4: Generate Clarification Questions
20
+ - If ambiguities found -> List each with specific question, prioritized by impact
21
+ - If no ambiguities -> Skip this step
22
+
23
+ ### Step 5: Update Workspace
24
+ 1. Generate change-id: `{YYYYMMDD}-{slug}` format (e.g., `20260425-user-authentication`)
25
+ 2. Update `.ai-agents/workspace/session.yaml`:
26
+ - Set `active_change.id` and `active_change.title`
27
+ - Set `active_change.created_at`
28
+ - Set `progress.analyze: done`
29
+ - Set `session.last_command: "/mvt-analyze"`
30
+ - Append one-line summary to `recent_actions` (keep max 3)
31
+ 3. Update `.ai-agents/workspace/project-context.yaml`:
32
+ - Write to `requirements` section (features, actors, business_rules, clarifications)
33
+ 4. Write artifact: `.ai-agents/workspace/artifacts/{change-id}/analysis.md`
@@ -0,0 +1,89 @@
1
+ name: mvt-analyze
2
+ output: .claude/skills/mvt-analyze/SKILL.md
3
+
4
+ frontmatter:
5
+ name: mvt-analyze
6
+ description: "Analyze requirements documents and extract domain concepts. Use when user wants to analyze requirements, extract features, or start the analysis phase of development workflow."
7
+
8
+ sections:
9
+ - type: inline
10
+ content: |
11
+ # MVT Analyze
12
+
13
+ ## Purpose
14
+
15
+ Analyze requirements and extract domain concepts as the foundation for architecture design and implementation. This is the first phase in the full workflow: analyze -> design -> implement -> review -> test.
16
+
17
+ - type: shared
18
+ source: sections/role-header.md
19
+ params:
20
+ role: Analyst
21
+ role_desc: "a Requirements Analysis Expert"
22
+ decision_rules:
23
+ - rule: "Clear requirements -> Proceed with structured analysis"
24
+ - rule: "Ambiguities found -> Stop and ask clarification first"
25
+ - rule: "Multiple interpretations -> List all, ask user to choose"
26
+ - rule: "Conflicts detected -> Highlight explicitly, ask for resolution"
27
+ - rule: "Vague requirements -> Request specific examples"
28
+ boundaries:
29
+ - scope: "make architecture decisions"
30
+ skill: "/mvt-design"
31
+ - scope: "recommend technologies"
32
+ skill: "/mvt-design"
33
+ - scope: "write implementation code"
34
+ skill: "/mvt-implement"
35
+
36
+ - type: shared
37
+ source: sections/activation-load-context.md
38
+ params:
39
+ extended_context:
40
+ - ".ai-agents/workspace/requirements/ -- Existing requirements files (if exists)"
41
+
42
+ - type: shared
43
+ source: sections/activation-load-config.md
44
+
45
+ - type: shared
46
+ source: sections/activation-preflight.md
47
+ params:
48
+ checks:
49
+ - order: "1"
50
+ field: "session.initialized_at"
51
+ level: "WARN"
52
+ message: 'Session not initialized. Run `/mvt-init` first.'
53
+ - order: "2"
54
+ field: "project.name"
55
+ level: "WARN"
56
+ message: 'Project not initialized. Run `/mvt-init` first.'
57
+ - order: "3"
58
+ field: "pattern.active"
59
+ level: "Continue"
60
+ message: "analysis does not require pattern, but add warning and suggest `/mvt-init`."
61
+
62
+ - type: inline
63
+ content: |
64
+ ### Step 4: Execute
65
+ Proceed to Execution Flow below.
66
+
67
+ - type: file
68
+ source: ./business.md
69
+
70
+ - type: inline
71
+ content: |
72
+ ## Output Format
73
+
74
+ Read and use the output template from: `.ai-agents/skills/_templates/analyze-output.md`
75
+
76
+ If a custom version exists at `.ai-agents/skills/_templates/custom/analyze-output.md`, use the custom version instead.
77
+
78
+ Fill the template placeholders with the analysis results.
79
+
80
+ Every response MUST end with a Suggested Next Steps section.
81
+
82
+ - type: shared
83
+ source: sections/footer-next-steps.md
84
+ params:
85
+ next_primary: mvt-design
86
+ next_primary_desc: "Create architecture design based on this analysis"
87
+ always_show:
88
+ - skill: mvt-status
89
+ desc: "Check current workflow progress"
@@ -0,0 +1,35 @@
1
+ ## Execution Flow
2
+
3
+ ### Step 1: Scan Codebase
4
+ - Scan source directories (src/, lib/, app/, etc.)
5
+ - Identify entry points
6
+ - Map module/directory structure
7
+
8
+ ### Step 2: Extract Entities
9
+ - Find domain entities and models
10
+ - Identify value objects
11
+ - Map relationships between entities
12
+
13
+ ### Step 3: Extract Services
14
+ - Find service classes and modules
15
+ - Identify API endpoints
16
+ - Map dependency graph between services
17
+
18
+ ### Step 4: Analyze Architecture
19
+ - Detect architecture pattern (DDD, Clean Architecture, MVC, etc.)
20
+ - Assess confidence level
21
+ - Identify layer boundaries
22
+
23
+ ### Step 5: Infer Requirements
24
+ - Generate feature list from code functionality
25
+ - Identify business rules from logic
26
+ - Document inferred requirements with confidence levels
27
+
28
+ ### Step 6: Update Workspace
29
+ 1. Update `.ai-agents/workspace/project-context.yaml`:
30
+ - Write detected architecture to `architecture` section
31
+ - Write discovered modules, entities, services
32
+ 2. Write artifact: `.ai-agents/workspace/artifacts/code-analysis/{timestamp}-analysis.md`
33
+ 3. Update `.ai-agents/workspace/session.yaml`:
34
+ - Set `session.last_command: "/mvt-analyze-code"`
35
+ - Append one-line summary to `recent_actions` (keep max 3)
@@ -0,0 +1,88 @@
1
+ name: mvt-analyze-code
2
+ output: .claude/skills/mvt-analyze-code/SKILL.md
3
+
4
+ frontmatter:
5
+ name: mvt-analyze-code
6
+ description: "Reverse-analyze existing code to generate context and infer requirements. Use when user wants to understand an existing codebase, generate documentation for legacy code, or onboard to a new project."
7
+
8
+ sections:
9
+ - type: inline
10
+ content: |
11
+ # MVT Analyze Code
12
+
13
+ ## Purpose
14
+
15
+ Reverse-analyze existing code to generate context, discover architecture, and infer requirements. Unlike `/mvt-analyze` which works from requirements documents, this skill works from source code. 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 Requirements 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: "Ambiguous architecture -> Present detected pattern with confidence level"
26
+ - rule: "Multiple frameworks detected -> List all and ask user to confirm primary"
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: shared
36
+ source: sections/activation-load-context.md
37
+ params:
38
+ extended_context:
39
+ - "Scan project source directories for analysis"
40
+
41
+ - type: shared
42
+ source: sections/activation-load-config.md
43
+
44
+ - type: shared
45
+ source: sections/activation-preflight.md
46
+ params:
47
+ checks:
48
+ - order: "1"
49
+ field: "session.initialized_at"
50
+ level: "WARN"
51
+ message: 'Session not initialized. Run `/mvt-init` first.'
52
+
53
+ - type: inline
54
+ content: |
55
+ ### Independent Operation Rules
56
+ - This is an independent operation -- no workflow prerequisites required
57
+ - Does NOT create a change-id
58
+ - Artifacts stored under `.ai-agents/workspace/artifacts/code-analysis/` instead of a change-id directory
59
+
60
+ ### Step 4: Execute
61
+ Proceed to Execution Flow below.
62
+
63
+ - type: file
64
+ source: ./business.md
65
+
66
+ - type: inline
67
+ content: |
68
+ ## Output Format
69
+
70
+ Read and use the output template from: `.ai-agents/skills/_templates/analyze-code-output.md`
71
+
72
+ If a custom version exists at `.ai-agents/skills/_templates/custom/analyze-code-output.md`, use the custom version instead.
73
+
74
+ Fill the template placeholders with the analysis results.
75
+
76
+ Every response MUST end with a Suggested Next Steps section.
77
+
78
+ - type: shared
79
+ source: sections/footer-next-steps.md
80
+ params:
81
+ next_primary: mvt-analyze
82
+ next_primary_desc: "Add requirements on top of discovered structure"
83
+ next_alternatives:
84
+ - skill: mvt-design
85
+ when: "Design new features for existing architecture"
86
+ always_show:
87
+ - skill: mvt-status
88
+ desc: "Check current project state"
@@ -0,0 +1,42 @@
1
+ ## Execution Flow
2
+
3
+ ### Step 1: Scan Context Files
4
+ Scan all files that MVTT may load during operation:
5
+
6
+ **Core files** (always loaded):
7
+ - `.ai-agents/workspace/session.yaml`
8
+ - `.ai-agents/workspace/project-context.yaml`
9
+ - `.ai-agents/config.yaml`
10
+
11
+ **Knowledge files** (loaded per config):
12
+ - `.ai-agents/knowledge/core/`
13
+ - `.ai-agents/knowledge/patterns/{active}/`
14
+ - `.ai-agents/knowledge/principle/`
15
+ - `.ai-agents/knowledge/project/`
16
+
17
+ **Artifact files**:
18
+ - `.ai-agents/workspace/artifacts/` (all subdirectories)
19
+
20
+ **Skill files**:
21
+ - `.claude/skills/mvt-*/SKILL.md` (all skill definitions)
22
+
23
+ ### Step 2: Estimate Token Consumption
24
+ - Calculate approximate tokens for each file: `characters / 4`
25
+ - Group by category:
26
+ - Core (session + context + config)
27
+ - Knowledge (knowledge/)
28
+ - Artifacts (artifacts/)
29
+ - Skills (skills/)
30
+ - Sum totals per category and overall
31
+
32
+ ### Step 3: Assess and Recommend
33
+ - Determine health status based on total tokens
34
+ - Identify Top 5 largest files
35
+ - Generate optimization recommendations:
36
+ - Oversized project-context.yaml -> Suggest trimming
37
+ - Too many old artifacts -> Suggest `/mvt-cleanup`
38
+ - Unused knowledge files -> Suggest removal or lazy_load
39
+ - Redundant information -> Suggest consolidation
40
+ - Each recommendation should be specific and actionable
41
+
42
+ ### Step 4: Generate Report