@duypham93/openkit 0.2.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 (178) hide show
  1. package/.opencode/README.md +47 -0
  2. package/.opencode/install-manifest.json +41 -0
  3. package/.opencode/lib/artifact-scaffolder.js +111 -0
  4. package/.opencode/lib/contract-consistency.js +218 -0
  5. package/.opencode/lib/parallel-execution-rules.js +261 -0
  6. package/.opencode/lib/runtime-paths.js +95 -0
  7. package/.opencode/lib/runtime-summary.js +82 -0
  8. package/.opencode/lib/state-guard.js +99 -0
  9. package/.opencode/lib/task-board-rules.js +375 -0
  10. package/.opencode/lib/work-item-store.js +280 -0
  11. package/.opencode/lib/workflow-state-controller.js +1739 -0
  12. package/.opencode/lib/workflow-state-rules.js +331 -0
  13. package/.opencode/opencode.json +93 -0
  14. package/.opencode/package.json +3 -0
  15. package/.opencode/tests/artifact-scaffolder.test.js +733 -0
  16. package/.opencode/tests/multi-work-item-runtime.test.js +369 -0
  17. package/.opencode/tests/parallel-execution-runtime.test.js +259 -0
  18. package/.opencode/tests/session-start-hook.test.js +357 -0
  19. package/.opencode/tests/state-guard.test.js +124 -0
  20. package/.opencode/tests/task-board-rules.test.js +204 -0
  21. package/.opencode/tests/work-item-store.test.js +380 -0
  22. package/.opencode/tests/workflow-behavior.test.js +149 -0
  23. package/.opencode/tests/workflow-contract-consistency.test.js +387 -0
  24. package/.opencode/tests/workflow-state-cli.test.js +1275 -0
  25. package/.opencode/tests/workflow-state-controller.test.js +1038 -0
  26. package/.opencode/work-items/feature-001/state.json +70 -0
  27. package/.opencode/work-items/index.json +13 -0
  28. package/.opencode/workflow-state.js +489 -0
  29. package/.opencode/workflow-state.json +70 -0
  30. package/AGENTS.md +265 -0
  31. package/README.md +401 -0
  32. package/agents/architect-agent.md +63 -0
  33. package/agents/ba-agent.md +56 -0
  34. package/agents/code-reviewer.md +77 -0
  35. package/agents/fullstack-agent.md +115 -0
  36. package/agents/master-orchestrator.md +60 -0
  37. package/agents/pm-agent.md +56 -0
  38. package/agents/qa-agent.md +124 -0
  39. package/agents/tech-lead-agent.md +60 -0
  40. package/assets/install-bundle/README.md +7 -0
  41. package/assets/install-bundle/opencode/README.md +11 -0
  42. package/assets/install-bundle/opencode/agents/ArchitectAgent.md +63 -0
  43. package/assets/install-bundle/opencode/agents/BAAgent.md +56 -0
  44. package/assets/install-bundle/opencode/agents/CodeReviewer.md +77 -0
  45. package/assets/install-bundle/opencode/agents/FullstackAgent.md +115 -0
  46. package/assets/install-bundle/opencode/agents/MasterOrchestrator.md +60 -0
  47. package/assets/install-bundle/opencode/agents/PMAgent.md +56 -0
  48. package/assets/install-bundle/opencode/agents/QAAgent.md +124 -0
  49. package/assets/install-bundle/opencode/agents/TechLeadAgent.md +60 -0
  50. package/assets/install-bundle/opencode/commands/brainstorm.md +44 -0
  51. package/assets/install-bundle/opencode/commands/delivery.md +45 -0
  52. package/assets/install-bundle/opencode/commands/execute-plan.md +44 -0
  53. package/assets/install-bundle/opencode/commands/migrate.md +61 -0
  54. package/assets/install-bundle/opencode/commands/quick-task.md +45 -0
  55. package/assets/install-bundle/opencode/commands/task.md +46 -0
  56. package/assets/install-bundle/opencode/commands/write-plan.md +50 -0
  57. package/assets/install-bundle/opencode/context/core/lane-selection.md +54 -0
  58. package/assets/install-bundle/opencode/skills/brainstorming/SKILL.md +51 -0
  59. package/assets/install-bundle/opencode/skills/code-review/SKILL.md +48 -0
  60. package/assets/install-bundle/opencode/skills/subagent-driven-development/SKILL.md +79 -0
  61. package/assets/install-bundle/opencode/skills/systematic-debugging/SKILL.md +61 -0
  62. package/assets/install-bundle/opencode/skills/test-driven-development/SKILL.md +48 -0
  63. package/assets/install-bundle/opencode/skills/using-skills/SKILL.md +39 -0
  64. package/assets/install-bundle/opencode/skills/verification-before-completion/SKILL.md +137 -0
  65. package/assets/install-bundle/opencode/skills/writing-plans/SKILL.md +68 -0
  66. package/assets/install-bundle/opencode/skills/writing-specs/SKILL.md +47 -0
  67. package/assets/opencode.json.template +11 -0
  68. package/assets/openkit-install.json.template +19 -0
  69. package/bin/openkit.js +9 -0
  70. package/commands/brainstorm.md +44 -0
  71. package/commands/delivery.md +45 -0
  72. package/commands/execute-plan.md +44 -0
  73. package/commands/migrate.md +61 -0
  74. package/commands/quick-task.md +45 -0
  75. package/commands/task.md +46 -0
  76. package/commands/write-plan.md +50 -0
  77. package/context/core/approval-gates.md +146 -0
  78. package/context/core/code-quality.md +42 -0
  79. package/context/core/issue-routing.md +85 -0
  80. package/context/core/lane-selection.md +54 -0
  81. package/context/core/project-config.md +143 -0
  82. package/context/core/session-resume.md +85 -0
  83. package/context/core/workflow-state-schema.md +224 -0
  84. package/context/core/workflow.md +442 -0
  85. package/context/navigation.md +94 -0
  86. package/docs/adr/README.md +6 -0
  87. package/docs/architecture/2026-03-20-task-intake-dashboard.md +54 -0
  88. package/docs/architecture/README.md +7 -0
  89. package/docs/briefs/2026-03-20-task-intake-dashboard.md +48 -0
  90. package/docs/briefs/README.md +7 -0
  91. package/docs/governance/README.md +25 -0
  92. package/docs/governance/adr-policy.md +27 -0
  93. package/docs/governance/definition-of-done.md +17 -0
  94. package/docs/governance/naming-conventions.md +21 -0
  95. package/docs/governance/severity-levels.md +12 -0
  96. package/docs/maintainer/README.md +51 -0
  97. package/docs/operations/README.md +79 -0
  98. package/docs/operations/internal-records/2026-03-24-release-checklist.md +79 -0
  99. package/docs/operations/internal-records/2026-03-24-simplified-install-ux.md +36 -0
  100. package/docs/operations/internal-records/README.md +18 -0
  101. package/docs/operations/runbooks/README.md +23 -0
  102. package/docs/operations/runbooks/openkit-daily-usage.md +288 -0
  103. package/docs/operations/runbooks/workflow-state-smoke-tests.md +302 -0
  104. package/docs/operator/README.md +50 -0
  105. package/docs/plans/2026-03-20-task-intake-dashboard.md +49 -0
  106. package/docs/plans/2026-03-21-openkit-full-delivery-multi-task-runtime.md +521 -0
  107. package/docs/plans/2026-03-23-openkit-global-install-runtime.md +157 -0
  108. package/docs/plans/README.md +7 -0
  109. package/docs/qa/2026-03-20-task-intake-dashboard.md +41 -0
  110. package/docs/qa/README.md +7 -0
  111. package/docs/specs/2026-03-20-task-intake-dashboard.md +50 -0
  112. package/docs/specs/2026-03-21-openkit-full-delivery-multi-task-runtime.md +462 -0
  113. package/docs/specs/README.md +7 -0
  114. package/docs/templates/README.md +36 -0
  115. package/docs/templates/adr-template.md +18 -0
  116. package/docs/templates/architecture-template.md +31 -0
  117. package/docs/templates/implementation-plan-template.md +32 -0
  118. package/docs/templates/migration-baseline-checklist.md +48 -0
  119. package/docs/templates/migration-plan-template.md +52 -0
  120. package/docs/templates/migration-report-template.md +74 -0
  121. package/docs/templates/migration-verify-checklist.md +39 -0
  122. package/docs/templates/product-brief-template.md +32 -0
  123. package/docs/templates/qa-report-template.md +37 -0
  124. package/docs/templates/quick-task-template.md +36 -0
  125. package/docs/templates/spec-template.md +31 -0
  126. package/hooks/hooks.json +16 -0
  127. package/hooks/session-start +162 -0
  128. package/package.json +24 -0
  129. package/registry.json +328 -0
  130. package/skills/brainstorming/SKILL.md +51 -0
  131. package/skills/code-review/SKILL.md +48 -0
  132. package/skills/subagent-driven-development/SKILL.md +79 -0
  133. package/skills/systematic-debugging/SKILL.md +61 -0
  134. package/skills/test-driven-development/SKILL.md +48 -0
  135. package/skills/using-skills/SKILL.md +39 -0
  136. package/skills/verification-before-completion/SKILL.md +137 -0
  137. package/skills/writing-plans/SKILL.md +68 -0
  138. package/skills/writing-specs/SKILL.md +47 -0
  139. package/src/audit/vietnamese-detection.js +259 -0
  140. package/src/cli/commands/detect-vietnamese.js +24 -0
  141. package/src/cli/commands/doctor.js +33 -0
  142. package/src/cli/commands/help.js +33 -0
  143. package/src/cli/commands/init.js +25 -0
  144. package/src/cli/commands/install-global.js +26 -0
  145. package/src/cli/commands/install.js +25 -0
  146. package/src/cli/commands/run.js +63 -0
  147. package/src/cli/commands/uninstall.js +32 -0
  148. package/src/cli/commands/upgrade.js +25 -0
  149. package/src/cli/conflict-output.js +19 -0
  150. package/src/cli/index.js +56 -0
  151. package/src/global/doctor.js +101 -0
  152. package/src/global/ensure-install.js +32 -0
  153. package/src/global/install-state.js +73 -0
  154. package/src/global/launcher.js +51 -0
  155. package/src/global/materialize.js +123 -0
  156. package/src/global/paths.js +85 -0
  157. package/src/global/uninstall.js +25 -0
  158. package/src/global/workspace-state.js +63 -0
  159. package/src/install/asset-manifest.js +284 -0
  160. package/src/install/conflicts.js +43 -0
  161. package/src/install/discovery.js +138 -0
  162. package/src/install/install-state.js +136 -0
  163. package/src/install/materialize.js +158 -0
  164. package/src/install/merge-policy.js +145 -0
  165. package/src/runtime/doctor.js +281 -0
  166. package/src/runtime/launcher.js +49 -0
  167. package/src/runtime/opencode-layering.js +135 -0
  168. package/src/runtime/openkit-managed-summary.js +27 -0
  169. package/tests/cli/openkit-cli.test.js +417 -0
  170. package/tests/global/doctor.test.js +130 -0
  171. package/tests/global/ensure-install.test.js +105 -0
  172. package/tests/install/discovery.test.js +124 -0
  173. package/tests/install/install-state.test.js +346 -0
  174. package/tests/install/materialize.test.js +244 -0
  175. package/tests/install/merge-policy.test.js +177 -0
  176. package/tests/runtime/doctor.test.js +430 -0
  177. package/tests/runtime/launcher.test.js +230 -0
  178. package/tests/runtime/module-boundary.test.js +16 -0
@@ -0,0 +1,68 @@
1
+ ---
2
+ name: writing-plans
3
+ description: "Converts approved architecture and scope into bite-sized implementation plans with validation matched to the workflow mode."
4
+ ---
5
+
6
+ # Skill: Writing Implementation Plans
7
+
8
+ ## Context
9
+
10
+ This skill is used by the Tech Lead Agent. It turns design documents (spec and architecture) into concrete coding steps that the Fullstack Agent can execute.
11
+
12
+ Each plan should be detailed enough that the Fullstack Agent can execute it without guesswork.
13
+
14
+ ## Core Rules of a Good Plan
15
+
16
+ 1. **Bite-sized tasks**: each task should take roughly 2-5 minutes. If a task looks like more than 10 minutes, split it smaller.
17
+ 2. **Atomic steps**: each step should be a complete, testable unit. Do not leave half-finished code behind.
18
+ 3. **Exact file paths**: specify the exact absolute path or repository-relative path for every file to create or edit.
19
+ 4. **Validation flow**: plan validation must match the active workflow mode. Full-delivery logic work should be TDD-first when the repository has suitable test tooling. Migration work should prioritize preserved invariants, blocker-decoupling steps, compatibility checks, staged verification, and targeted tests only where they are truly reliable and helpful. If the repo does not define a standard command yet, the plan must state the missing validation path instead of inventing one.
20
+
21
+ ## Execution Process
22
+
23
+ ### Step 1: Context Gathering
24
+ Make sure you have read:
25
+ - `docs/specs/YYYY-MM-DD-<feature>.md`
26
+ - `docs/architecture/YYYY-MM-DD-<feature>.md`
27
+ - `context/core/code-quality.md`
28
+
29
+ ### Step 2: Write the Plan Document
30
+
31
+ Create `docs/plans/YYYY-MM-DD-<feature>.md` using this structure:
32
+
33
+ ```markdown
34
+ # Implementation Plan: [Feature Name]
35
+
36
+ ## Dependencies
37
+ - Are any additional packages required? (`npm install X`, `pip install Y`)
38
+ - Are any environment variables required?
39
+
40
+ ## Implementation Steps
41
+
42
+ For each task, follow a validation-aware structure:
43
+
44
+ ### [ ] Task 1: [Specific action name, e.g. Init Database Schema]
45
+ - **File**: `path/to/file.ext`
46
+ - **Goal**: [Brief description]
47
+ - **Validation Command**: `[test/build/typecheck/smoke/manual verification command for this step, or an explicit note that no repo-native validation command exists yet]`
48
+ - **Details**:
49
+ - State the baseline or expected change for this step
50
+ - State the implementation or upgrade action
51
+ - State how the result will be verified honestly
52
+
53
+ ### [ ] Task 2: [Next task]
54
+ ...
55
+ ```
56
+
57
+ ### Step 3: Review and Refine
58
+ - Are the tasks small enough?
59
+ - Does any task require changing more than 3 files at once? -> If yes, split it.
60
+ - In full mode, does any logic task skip the "write test first" step without justification? -> Add the test requirement.
61
+ - In migration mode, does the plan mix rewrite work into the migration instead of isolating blockers and proving parity? -> Rewrite the sequence.
62
+ - In migration mode, does the plan rely on fake TDD instead of baseline, compatibility, and regression evidence? -> Rewrite the validation guidance.
63
+ - Does the plan cover all acceptance criteria from the spec?
64
+
65
+ ## Anti-Patterns
66
+ - "Task 1: Build the frontend, Task 2: Build the backend." (Far too large.)
67
+ - No test guidance or test command, and no explicit note that the repo lacks a standard command.
68
+ - A plan that does not specify which files need to be edited.
@@ -0,0 +1,47 @@
1
+ ---
2
+ name: writing-specs
3
+ description: "Converts requirements into structured spec documents with concrete acceptance criteria."
4
+ ---
5
+
6
+ # Skill: Writing Specs
7
+
8
+ ## Context
9
+
10
+ This skill is used by the BA Agent to turn a high-level Product Brief into a detailed low-level spec that is ready for the Architect and the development team.
11
+
12
+ ## Execution Process
13
+
14
+ ### 1. Verification (Input Check)
15
+ - Make sure you already have a Product Brief.
16
+ - If the Product Brief is still vague (for example: "make it faster"), go back to the PM Agent or user and get measurable detail.
17
+
18
+ ### 2. User Stories Breakdown
19
+ Break the feature into user flows (user stories).
20
+ **Required format:** `As a [User Type], I want [Action], so that [Benefit/Value].`
21
+
22
+ ### 3. BDD Acceptance Criteria
23
+ This is the hardest and most important section. Each user story must include Given-When-Then acceptance criteria.
24
+
25
+ **Bad example (too vague):**
26
+ > The submit button should be disabled when the data is invalid.
27
+
28
+ **Good example (Given-When-Then):**
29
+ > **Given** the user is on the "Create New" form
30
+ > **And** the "Email" field is blank or invalid
31
+ > **When** they try to click the "Submit" button
32
+ > **Then** the "Submit" button must be disabled
33
+ > **And** an empty/invalid-format error message appears under the "Email" field
34
+
35
+ ### 4. Edge Cases
36
+ You must include a dedicated section for failure conditions and awkward scenarios:
37
+ - What happens if the network drops mid-request?
38
+ - What happens if the user double-clicks the button?
39
+ - What happens with input that is too long, too short, or contains special characters?
40
+ - Race conditions?
41
+
42
+ ### 5. Document Output
43
+ Create the markdown file at `docs/specs/YYYY-MM-DD-<feature-name>.md`.
44
+
45
+ ## Anti-Patterns to Avoid
46
+ - **Tech leaking**: putting technical implementation decisions in the spec (for example: "Use React `useState` to store the form"). A spec should describe behavior and requirements, not code.
47
+ - **Unmeasurable goals**: "beautiful UI", "fast performance". Replace them with measurable requirements like "responsive on mobile" or "response time < 200ms".
@@ -0,0 +1,11 @@
1
+ {
2
+ "installState": {
3
+ "path": ".openkit/openkit-install.json",
4
+ "schema": "openkit/install-state@1"
5
+ },
6
+ "productSurface": {
7
+ "current": "global-openkit-install",
8
+ "installReadiness": "managed",
9
+ "installationMode": "openkit-managed"
10
+ }
11
+ }
@@ -0,0 +1,19 @@
1
+ {
2
+ "schema": "openkit/install-state@1",
3
+ "stateVersion": 1,
4
+ "kit": {
5
+ "name": "OpenKit",
6
+ "version": "0.1.0"
7
+ },
8
+ "installation": {
9
+ "profile": "openkit-core",
10
+ "status": "installed",
11
+ "installedAt": "1970-01-01T00:00:00.000Z"
12
+ },
13
+ "assets": {
14
+ "managed": [],
15
+ "adopted": []
16
+ },
17
+ "warnings": [],
18
+ "conflicts": []
19
+ }
package/bin/openkit.js ADDED
@@ -0,0 +1,9 @@
1
+ #!/usr/bin/env node
2
+
3
+ import { runCli } from '../src/cli/index.js';
4
+
5
+ const exitCode = await runCli(process.argv.slice(2));
6
+
7
+ if (typeof exitCode === 'number' && exitCode !== 0) {
8
+ process.exit(exitCode);
9
+ }
@@ -0,0 +1,44 @@
1
+ ---
2
+ description: "Starts Migration or Full Delivery design exploration with the brainstorming skill."
3
+ ---
4
+
5
+ # Command: `/brainstorm`
6
+
7
+ Use `/brainstorm` when work is already in `Migration` or `Full Delivery` mode and the team needs to refine design direction before implementation planning.
8
+
9
+ ## Preconditions
10
+
11
+ - The current `mode` must be `full` or `migration`
12
+ - The work needs design clarification, product exploration, architecture framing, or upgrade strategy exploration before plan execution
13
+ - If work is resuming, the current state must be readable before the session continues
14
+
15
+ ## Canonical docs to load
16
+
17
+ - `AGENTS.md`
18
+ - `context/navigation.md`
19
+ - `context/core/workflow.md`
20
+ - `context/core/project-config.md`
21
+ - `.opencode/workflow-state.json` when resuming
22
+ - skill `brainstorming`
23
+
24
+ For operator checks, use the current workflow-state utility surface: `status`, `doctor`, `show`, and `validate`.
25
+
26
+ ## Expected action
27
+
28
+ - Confirm the work is in `Migration` or `Full Delivery` mode before starting brainstorming
29
+ - Use the brainstorming skill to explore the problem, compare approaches, and converge on a design
30
+ - In migration mode, use brainstorming to identify preserved invariants, migration blockers, seams, adapters, and slice boundaries before implementation planning
31
+ - Create or refine the appropriate artifact for the active mode only when the skill outcome requires it
32
+ - Point back to `context/core/workflow.md` for stage order, approvals, and escalation rules instead of restating them here
33
+
34
+ ## Rejection or escalation behavior
35
+
36
+ - If the work is still in the quick lane, stop and escalate into `Migration` or `Full Delivery` before using this command
37
+ - If the request is too incomplete to brainstorm safely, stop and ask for the missing context instead of fabricating direction
38
+ - Do not use this command to imply an alternate workflow or any live parallel execution feature that the repository does not currently document
39
+
40
+ ## Validation guidance
41
+
42
+ - Use `node .opencode/workflow-state.js show` or `node .opencode/workflow-state.js validate` when resumable state needs confirmation
43
+ - Brainstorming output is design and workflow evidence, not app build/lint/test evidence
44
+ - If the repository has no app-native validation commands for the eventual implementation, record that constraint honestly in downstream artifacts
@@ -0,0 +1,45 @@
1
+ ---
2
+ description: "Starts the Full Delivery lane for feature work and higher-risk changes."
3
+ ---
4
+
5
+ # Command: `/delivery`
6
+
7
+ Use `/delivery` when work needs the full lane from the start or when quick or migration work has already escalated.
8
+
9
+ ## Preconditions
10
+
11
+ - The request satisfies one or more full-lane triggers in `context/core/workflow.md`
12
+ - If this is resumed work, escalation context or the current full stage must be read from workflow state before continuing
13
+
14
+ ## Canonical docs to load
15
+
16
+ - `AGENTS.md`
17
+ - `context/navigation.md`
18
+ - `context/core/workflow.md`
19
+ - `context/core/lane-selection.md`
20
+ - `context/core/approval-gates.md`
21
+ - `context/core/project-config.md`
22
+ - `.opencode/workflow-state.json` when resuming
23
+
24
+ For operator checks, use the current workflow-state utility surface: `status`, `doctor`, `show`, and `validate`.
25
+
26
+ ## Expected action
27
+
28
+ - The Master Orchestrator records `mode = full` and `mode_reason`
29
+ - Initialize `full_intake`
30
+ - Route to the PM Agent to begin the Full Delivery chain defined in `context/core/workflow.md`
31
+ - Track approval gates in workflow state before each stage advance
32
+ - Use this lane when the dominant uncertainty is product behavior, requirements, or cross-boundary solution design rather than compatibility modernization
33
+
34
+ ## Rejection or escalation behavior
35
+
36
+ - If the command is entered from an active quick or migration context, preserve escalation metadata while moving into `full_intake`
37
+ - If the command explicitly asks for full mode but the routing profile still shows behavior-preserving modernization with compatibility uncertainty, reject full admission and reroute to migration instead of silently widening the lane
38
+ - If required full-mode context is missing or state is contradictory, stop at intake and report the mismatch instead of skipping a stage
39
+ - Do not create a new lane, new stage, or alternate full-entry chain outside the canonical workflow doc
40
+
41
+ ## Validation guidance
42
+
43
+ - Use `node .opencode/workflow-state.js show` or `node .opencode/workflow-state.js validate` when resumable full-mode state needs confirmation
44
+ - Keep implementation and QA validation honest to the repository's actual tooling
45
+ - Do not overstate automation when the repository still lacks app-native build, lint, or test commands
@@ -0,0 +1,44 @@
1
+ ---
2
+ description: "Executes an approved Full Delivery or Migration implementation plan."
3
+ ---
4
+
5
+ # Command: `/execute-plan`
6
+
7
+ Use `/execute-plan` when an approved Full Delivery or Migration implementation plan is ready to be carried out.
8
+
9
+ ## Preconditions
10
+
11
+ - The current `mode` must be `full` or `migration`
12
+ - An approved plan exists in `docs/plans/` for the current work item
13
+ - Any required upstream approvals for the active mode are already recorded in workflow state
14
+
15
+ ## Canonical docs to load
16
+
17
+ - `AGENTS.md`
18
+ - `context/navigation.md`
19
+ - `context/core/workflow.md`
20
+ - `context/core/project-config.md`
21
+ - `context/core/session-resume.md`
22
+ - `context/core/workflow-state-schema.md`
23
+ - `.opencode/workflow-state.json`
24
+
25
+ For operator checks, use the current workflow-state utility surface: `status`, `doctor`, `show`, and `validate`.
26
+
27
+ ## Expected action
28
+
29
+ - Confirm the current state is compatible with implementation work for the active mode
30
+ - Read the approved plan and execute it without redefining the canonical workflow rules
31
+ - Use the real implementation workflow available in the repository; do not imply live parallel execution support beyond what the checked-in runtime documents today
32
+ - Report the actual validation path taken for each meaningful change
33
+
34
+ ## Rejection or escalation behavior
35
+
36
+ - If the work is still in quick mode, stop and route it into `Migration` or `Full Delivery` before using this command
37
+ - If workflow state is invalid, contradictory, or missing required approvals, stop and correct state or inputs before implementation
38
+ - If the plan is missing, stale, or unapproved, stop and send the work back to the planning step instead of improvising a new plan inline
39
+
40
+ ## Validation guidance
41
+
42
+ - Run `node .opencode/workflow-state.js validate` when you need to confirm workflow-state integrity before execution
43
+ - Use repo-native app build, lint, or test commands only if they actually exist and are documented
44
+ - If the repository still lacks app-native validation tooling, report manual checks or other real evidence instead of inventing automation
@@ -0,0 +1,61 @@
1
+ ---
2
+ description: "Starts the Migration lane for upgrades, framework migrations, and dependency modernization."
3
+ ---
4
+
5
+ # Command: `/migrate`
6
+
7
+ Use `/migrate` when work is primarily a project migration or upgrade effort such as framework version jumps, dependency replacement, legacy API removal, or compatibility remediation.
8
+
9
+ Core migration principle:
10
+
11
+ - preserve behavior first, decouple blockers where necessary, and migrate incrementally instead of rewriting the product
12
+
13
+ ## Preconditions
14
+
15
+ - The request is centered on upgrading or migrating an existing codebase rather than delivering a net-new feature
16
+ - The work needs discovery of the current baseline, compatibility risks, and staged upgrade execution
17
+ - The migration is expected to preserve existing layout, flows, contracts, and core logic unless an explicit exception is documented
18
+ - If work is resuming, the current migration state must be readable before continuing
19
+ - Product requirements are mostly known already, even if the technical upgrade path is still uncertain
20
+
21
+ ## Canonical docs to load
22
+
23
+ - `AGENTS.md`
24
+ - `context/navigation.md`
25
+ - `context/core/workflow.md`
26
+ - `context/core/lane-selection.md`
27
+ - `context/core/approval-gates.md`
28
+ - `context/core/project-config.md`
29
+ - `docs/templates/migration-baseline-checklist.md`
30
+ - `docs/templates/migration-verify-checklist.md`
31
+ - `.opencode/workflow-state.json` when resuming
32
+
33
+ For operator checks, use the current workflow-state utility surface: `status`, `doctor`, `show`, and `validate`.
34
+
35
+ ## Expected action
36
+
37
+ - The Master Orchestrator records `mode = migration` and `mode_reason`
38
+ - Initialize `migration_intake`
39
+ - Route to the migration baseline and strategy stages defined in `context/core/workflow.md`
40
+ - Freeze the preserved invariants before major edits, then identify only the framework-coupled blockers that must be decoupled
41
+ - Use adapters, seams, or compatibility shims when they make the migration safer
42
+ - Use `docs/templates/migration-baseline-checklist.md` during `migration_baseline` and `docs/templates/migration-verify-checklist.md` during `migration_verify`
43
+ - If the team wants one living migration artifact, scaffold `migration_report` during `migration_baseline` or `migration_strategy`
44
+ - Keep validation focused on baseline capture, compatibility evidence, staged execution, and regression checks rather than defaulting to TDD-first execution
45
+
46
+ ## Rejection or escalation behavior
47
+
48
+ - If the request is actually bounded low-risk work, reject migration entry and reroute to the quick lane
49
+ - If the request is actually a net-new feature or requirement-definition problem, reject migration entry and reroute to `full_intake`
50
+ - If the command explicitly asks for migration but the routing profile points to `quick` or `full`, reject migration admission instead of preserving a contradictory lane
51
+ - If migration work uncovers product or requirements ambiguity, preserve escalation metadata while moving into `full_intake`
52
+ - If the proposed approach is effectively a rewrite instead of a behavior-preserving migration, stop and restate the migration slices before continuing
53
+ - If the main uncertainty is product behavior rather than compatibility or modernization, stop using migration and reroute to `full`
54
+
55
+ ## Validation guidance
56
+
57
+ - Prefer real build, test, codemod, type-check, smoke-test, and manual regression evidence from the target project
58
+ - Prefer parity checks against the preserved baseline: screenshots, behavior notes, contracts, smoke paths, and targeted regression evidence
59
+ - Prefer `migration_report` when baseline notes, execution log, and verification evidence need to stay in one continuously updated file
60
+ - If repository-native validation commands do not exist, record the missing validation path and the baseline evidence honestly
61
+ - Do not claim TDD-first validation for migration work unless the migration plan explicitly identifies a safe test-first sub-slice with working tooling
@@ -0,0 +1,45 @@
1
+ ---
2
+ description: "Starts the Quick Task lane for narrow, low-risk work."
3
+ ---
4
+
5
+ # Command: `/quick-task`
6
+
7
+ Use `/quick-task` when the user wants to enter the quick lane directly for bounded small-to-medium work that stays within the quick-lane limits, remains lower risk, and uses a short verification path.
8
+
9
+ ## Preconditions
10
+
11
+ - The request must satisfy quick-lane criteria in `context/core/workflow.md`
12
+ - If work is resuming, the current state must be compatible with continuing quick work or starting a new task
13
+
14
+ ## Canonical docs to load
15
+
16
+ - `AGENTS.md`
17
+ - `context/navigation.md`
18
+ - `context/core/workflow.md`
19
+ - `context/core/lane-selection.md`
20
+ - `context/core/project-config.md`
21
+ - `.opencode/workflow-state.json` when resuming
22
+
23
+ For operator checks, use the current workflow-state utility surface: `status`, `doctor`, `show`, and `validate`.
24
+
25
+ ## Expected action
26
+
27
+ - The Master Orchestrator confirms quick eligibility
28
+ - Record `mode = quick` and `mode_reason`
29
+ - Initialize `quick_intake`, prepare the quick intake context, then advance to `quick_plan`
30
+ - Once the required `quick_plan` context is ready, route into `quick_build` with the Fullstack Agent
31
+ - Create an optional task card only when traceability is genuinely useful
32
+ - Reject quick entry if compatibility or modernization risk is the dominant reason the user asked for the work
33
+
34
+ ## Rejection or escalation behavior
35
+
36
+ - If the request does not meet quick criteria, reject quick entry and reroute through `migration_intake` or `full_intake` based on the canonical workflow rules
37
+ - If the command explicitly asks for quick mode but the routing profile would classify the work as `migration` or `full`, reject quick admission instead of silently keeping the wrong lane
38
+ - If an escalation condition appears during the quick loop, the Master Orchestrator must switch the work into `full_intake`
39
+ - If useful for operator clarity, explain that the work now belongs in Full Delivery without redefining the command surface
40
+
41
+ ## Validation guidance
42
+
43
+ - Keep quick-task validation short and real, following `context/core/project-config.md`
44
+ - If no app-native test or lint command exists, document the manual or artifact-based verification path clearly
45
+ - Use `node .opencode/workflow-state.js validate` only for workflow-state checks, not as a substitute for application testing
@@ -0,0 +1,46 @@
1
+ ---
2
+ description: "Default entry command. Lets the Master Orchestrator classify work into Quick Task, Migration, or Full Delivery."
3
+ ---
4
+
5
+ # Command: `/task`
6
+
7
+ Use `/task` when the user wants the default entrypoint and expects the Master Orchestrator to choose the lane.
8
+
9
+ ## Preconditions
10
+
11
+ - A user request exists with enough information to summarize the initial goal, scope, and risk
12
+ - If the workflow is resuming, the current workflow state must be readable before rerouting
13
+
14
+ ## Canonical docs to load
15
+
16
+ - `AGENTS.md`
17
+ - `context/navigation.md`
18
+ - `context/core/workflow.md`
19
+ - `context/core/lane-selection.md`
20
+ - `context/core/project-config.md`
21
+ - `.opencode/workflow-state.json` when resuming
22
+
23
+ For operator checks, use the current workflow-state utility surface: `status`, `doctor`, `show`, and `validate`.
24
+
25
+ ## Expected action
26
+
27
+ - The Master Orchestrator chooses `quick`, `migration`, or `full` using the canonical workflow rules
28
+ - Record `mode` and `mode_reason` in workflow state
29
+ - If the task enters the quick lane, initialize quick intake context and continue through the canonical quick stage chain
30
+ - If the task enters the migration lane, initialize `migration_intake` and continue through the canonical migration stage chain
31
+ - If the task enters the full lane, initialize `full_intake` and route to the PM agent
32
+ - When choosing migration, prefer a behavior-preserving path that decouples blockers before changing the stack broadly
33
+ - Use the lane tie-breaker from `context/core/workflow.md`: product ambiguity goes to `full`, compatibility uncertainty with preserved behavior goes to `migration`, and only bounded low-risk work goes to `quick`
34
+
35
+ ## Rejection or escalation behavior
36
+
37
+ - If the request is ambiguous because product behavior, requirements, or acceptance are unclear, route it to `Full Delivery` per `context/core/workflow.md`
38
+ - If the request is uncertain mainly because of upgrade or compatibility risk while the target behavior is already known, route it to `Migration`
39
+ - If the request is too incomplete to open even `full_intake`, stop at intake and ask for clarification instead of guessing
40
+ - If the quick lane is not appropriate under `context/core/workflow.md`, route directly to the migration or full lane that best matches the request
41
+
42
+ ## Validation guidance
43
+
44
+ - Use `node .opencode/workflow-state.js status` or `node .opencode/workflow-state.js show` to inspect resumable state before rerouting when needed
45
+ - Use `node .opencode/workflow-state.js validate` if the saved state looks stale or manually edited
46
+ - Do not imply repo-native app build, lint, or test commands exist when this repository has not defined them
@@ -0,0 +1,50 @@
1
+ ---
2
+ description: "Triggers the writing-plans skill to create bite-sized tasks from specs."
3
+ ---
4
+
5
+ # Command: `/write-plan`
6
+
7
+ Use `/write-plan` to create an implementation plan for work currently in `Full Delivery` or `Migration` mode.
8
+
9
+ ## Preconditions
10
+
11
+ - The current `mode` must be `full` or `migration`
12
+ - The required architecture artifact already exists for the current work item
13
+ - If the work is in `full`, the required spec artifact already exists for the current feature
14
+ - The Tech Lead Agent is at the stage where `docs/plans/...` should be created
15
+
16
+ ## Canonical docs to load
17
+
18
+ - `AGENTS.md`
19
+ - `context/navigation.md`
20
+ - `context/core/workflow.md`
21
+ - `context/core/project-config.md`
22
+ - `.opencode/workflow-state.json`
23
+ - `docs/templates/implementation-plan-template.md`
24
+ - `docs/templates/migration-report-template.md` when migration work benefits from one running artifact
25
+ - skill `writing-plans`
26
+
27
+ For operator checks, use the current workflow-state utility surface: `status`, `doctor`, `show`, and `validate`.
28
+
29
+ ## Expected action
30
+
31
+ - Create or update `docs/plans/YYYY-MM-DD-<feature>.md`
32
+ - Keep the plan aligned with the current stage and approval context for the active mode
33
+ - In migration mode, record preserved invariants, seam or adapter steps, and parity checks explicitly
34
+ - In migration mode, recommend scaffolding or updating `migration_report` when baseline, plan, execution, and verification should stay visible in one artifact
35
+ - Record the real validation path, or a missing-validation-path note when the repository has no suitable command
36
+ - Return the plan for review and approval through the canonical workflow for the active mode
37
+
38
+ ## Rejection or escalation behavior
39
+
40
+ - If work is still in quick mode, reject this command and route the task into Migration or Full Delivery first
41
+ - If required architecture input is incomplete, stop and require that upstream artifact before writing the plan
42
+ - If work is in `full` and the spec input is incomplete, stop and require that upstream artifact before writing the plan
43
+ - Do not use this command to open a new full lane implicitly or bypass the approval chain
44
+
45
+ ## Validation guidance
46
+
47
+ - The plan should name the strongest real validation path available in the repository
48
+ - In migration mode, use `migration_report` when handoffs would benefit from a single running narrative instead of scattered notes
49
+ - If no repo-native app build, lint, or test command exists, say that explicitly in the plan instead of guessing a stack command
50
+ - Use `node .opencode/workflow-state.js validate` only to confirm workflow state, not to stand in for implementation verification
@@ -0,0 +1,146 @@
1
+ # Approval Gates
2
+
3
+ This file defines how stage transitions are recorded and approved.
4
+
5
+ For the canonical workflow contract, including lane semantics, stage order, and artifact expectations, use `context/core/workflow.md`.
6
+
7
+ Approval behavior is mode-aware. `Quick Task`, `Migration`, and `Full Delivery` do not share the same gate set.
8
+
9
+ ## Gate States
10
+
11
+ - `pending`: work exists but approval has not been granted
12
+ - `approved`: transition may proceed
13
+ - `rejected`: transition is blocked until feedback is addressed
14
+
15
+ ## Required Fields Per Gate
16
+
17
+ Each gate entry mirrored in `.opencode/workflow-state.json` for the active work item must contain:
18
+
19
+ - `status`
20
+ - `approved_by`
21
+ - `approved_at`
22
+ - `notes`
23
+
24
+ ## Quick Task Gates
25
+
26
+ Quick mode uses one required gate:
27
+
28
+ - `quick_verified`
29
+
30
+ Meaning:
31
+
32
+ - the user request is treated as implicit approval to start quick work unless the task is ambiguous or risky
33
+ - `quick_verified` becomes `approved` only after QA Lite passes
34
+ - `QA Agent` is the approval authority for `quick_verified`
35
+ - the builder may supply evidence and recommended disposition, but cannot self-approve the gate
36
+
37
+ Transition rule:
38
+
39
+ - `quick_verify -> quick_done` requires `quick_verified = approved`
40
+
41
+ `quick_plan` does not add a second quick approval gate. It is a required planning stage, but quick-mode completion still depends on `quick_verified` after QA Lite passes.
42
+
43
+ Readiness rule before `quick_verified` approval:
44
+
45
+ - quick checklist and acceptance bullets are inspectable
46
+ - intended verification path is inspectable
47
+ - QA Lite evidence is inspectable in workflow state or session artifacts
48
+ - unresolved design or requirement issues are escalated instead of approved through
49
+
50
+ ## Migration Gates
51
+
52
+ Migration mode uses four required gates:
53
+
54
+ - `baseline_to_strategy`
55
+ - `strategy_to_upgrade`
56
+ - `upgrade_to_verify`
57
+ - `migration_verified`
58
+
59
+ Meaning:
60
+
61
+ - `baseline_to_strategy` confirms the baseline, compatibility map, and likely breakpoints are inspectable enough for staged planning
62
+ - `strategy_to_upgrade` confirms the staged upgrade sequence, rollback checkpoints, and validation path are ready for execution
63
+ - `upgrade_to_verify` confirms upgrade execution evidence is inspectable enough for regression and compatibility QA
64
+ - `migration_verified` becomes `approved` only after regression, smoke, and compatibility verification are judged sufficient
65
+
66
+ Approval authorities:
67
+
68
+ - `baseline_to_strategy`: `Tech Lead Agent`
69
+ - `strategy_to_upgrade`: `Fullstack Agent`
70
+ - `upgrade_to_verify`: `QA Agent`
71
+ - `migration_verified`: `QA Agent`
72
+
73
+ Transition rules:
74
+
75
+ - `migration_baseline -> migration_strategy` uses `baseline_to_strategy`
76
+ - `migration_strategy -> migration_upgrade` uses `strategy_to_upgrade`
77
+ - `migration_upgrade -> migration_verify` uses `upgrade_to_verify`
78
+ - `migration_verify -> migration_done` uses `migration_verified`
79
+
80
+ Readiness rule before migration approvals:
81
+
82
+ - current baseline and target upgrade intent are inspectable
83
+ - staged execution notes and rollback checkpoints are inspectable
84
+ - validation evidence uses real project commands or honest manual evidence
85
+ - requirement ambiguity is escalated to full delivery instead of being approved through migration
86
+
87
+ ## Full Delivery Gates
88
+
89
+ Full mode keeps the explicit handoff chain:
90
+
91
+ - `pm_to_ba`
92
+ - `ba_to_architect`
93
+ - `architect_to_tech_lead`
94
+ - `tech_lead_to_fullstack`
95
+ - `fullstack_to_qa`
96
+ - `qa_to_done`
97
+
98
+ Approval authorities:
99
+
100
+ - `pm_to_ba`: `BA Agent`
101
+ - `ba_to_architect`: `Architect Agent`
102
+ - `architect_to_tech_lead`: `Tech Lead Agent`
103
+ - `tech_lead_to_fullstack`: `Fullstack Agent`
104
+ - `fullstack_to_qa`: `QA Agent`
105
+ - `qa_to_done`: `MasterOrchestrator`
106
+
107
+ Transition rules:
108
+
109
+ - `full_brief -> full_spec` uses `pm_to_ba`
110
+ - `full_spec -> full_architecture` uses `ba_to_architect`
111
+ - `full_architecture -> full_plan` uses `architect_to_tech_lead`
112
+ - `full_plan -> full_implementation` uses `tech_lead_to_fullstack`
113
+ - `full_implementation -> full_qa` uses `fullstack_to_qa`
114
+ - `full_qa -> full_done` uses `qa_to_done`
115
+
116
+ Readiness checklist for every full-delivery gate:
117
+
118
+ - the outgoing stage artifact or evidence exists and is inspectable
119
+ - unresolved assumptions, risks, and open questions are called out in notes
120
+ - the receiving role has enough detail to begin without reconstructing missing intent
121
+ - the approver records approval notes or rejection notes in workflow state
122
+
123
+ Boundary-specific handoff focus:
124
+
125
+ - `pm_to_ba`: problem statement, goals, constraints, and product unknowns are clear
126
+ - `ba_to_architect`: scope, behaviors, and acceptance expectations are clear
127
+ - `architect_to_tech_lead`: design decisions, boundaries, and dependencies are clear
128
+ - `tech_lead_to_fullstack`: execution steps, sequencing, and validation expectations are clear
129
+ - `fullstack_to_qa`: implementation evidence, changed surfaces, and known limitations are clear
130
+ - `qa_to_done`: verification outcome, remaining issue status, and closure recommendation are clear
131
+
132
+ ## Operational Rule
133
+
134
+ Do not advance the active work item stage, and do not refresh `.opencode/workflow-state.json`, until the matching gate for the active mode is `approved`.
135
+
136
+ Do not mark a gate `approved` when the evidence is missing, not inspectable, or relies on unstated conversation context.
137
+
138
+ ## Escalation Rule
139
+
140
+ When quick or migration work escalates to full delivery:
141
+
142
+ - do not try to reuse quick or migration gates as full-delivery approvals
143
+ - record the escalation metadata in state
144
+ - initialize the full-delivery approval chain with pending values
145
+
146
+ This escalation behavior remains unchanged in the current live contract.