oh-my-opencode-lite 0.1.1 → 0.1.3
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 +48 -22
- package/dist/agents/prompt-utils.d.ts +3 -0
- package/dist/background/background-manager.d.ts +12 -6
- package/dist/cli/index.js +9 -3
- package/dist/config/loader.d.ts +2 -2
- package/dist/config/schema.d.ts +0 -31
- package/dist/delegation/delegation-manager.d.ts +8 -2
- package/dist/delegation/project-id.d.ts +10 -1
- package/dist/hooks/auto-update-checker/index.d.ts +2 -1
- package/dist/hooks/index.d.ts +0 -1
- package/dist/hooks/phase-reminder/index.d.ts +1 -1
- package/dist/hooks/thoth-mem/protocol.d.ts +2 -1
- package/dist/index.js +691 -558
- package/dist/mcp/websearch.d.ts +0 -4
- package/oh-my-opencode-lite.schema.json +0 -37
- package/package.json +4 -4
- package/src/skills/_shared/openspec-convention.md +21 -3
- package/src/skills/_shared/persistence-contract.md +80 -11
- package/src/skills/_shared/thoth-mem-convention.md +66 -7
- package/src/skills/cartography/SKILL.md +160 -160
- package/src/skills/executing-plans/SKILL.md +36 -27
- package/src/skills/plan-reviewer/SKILL.md +11 -3
- package/src/skills/requirements-interview/SKILL.md +197 -0
- package/src/skills/sdd-apply/SKILL.md +18 -21
- package/src/skills/sdd-archive/SKILL.md +14 -9
- package/src/skills/sdd-design/SKILL.md +0 -1
- package/src/skills/sdd-init/SKILL.md +157 -0
- package/src/skills/sdd-propose/SKILL.md +4 -3
- package/src/skills/sdd-spec/SKILL.md +1 -2
- package/src/skills/sdd-tasks/SKILL.md +11 -7
- package/src/skills/sdd-verify/SKILL.md +27 -19
- package/src/skills/brainstorming/SKILL.md +0 -120
|
@@ -36,14 +36,20 @@ rules per mode.
|
|
|
36
36
|
## Prerequisites
|
|
37
37
|
|
|
38
38
|
- `change-name`
|
|
39
|
+
- `pipeline-type` (`accelerated` or `full`)
|
|
39
40
|
- Assigned task numbers or phase range
|
|
40
|
-
-
|
|
41
|
+
- Task artifact
|
|
42
|
+
- Spec and design artifacts (full pipeline only)
|
|
43
|
+
- Proposal artifact (accelerated pipeline — used as the acceptance reference)
|
|
41
44
|
|
|
42
45
|
## Workflow
|
|
43
46
|
|
|
44
47
|
1. Read the shared conventions.
|
|
45
|
-
2. Recover
|
|
46
|
-
`~/.config/opencode/skills/_shared/persistence-contract.md
|
|
48
|
+
2. Recover artifacts with the retrieval protocol in
|
|
49
|
+
`~/.config/opencode/skills/_shared/persistence-contract.md`:
|
|
50
|
+
- **Always**: recover `tasks`
|
|
51
|
+
- **Full pipeline**: recover `spec` and `design`
|
|
52
|
+
- **Accelerated pipeline**: recover `proposal` (used as the acceptance reference)
|
|
47
53
|
3. Read the affected code before editing anything.
|
|
48
54
|
4. Execute only the assigned checklist items.
|
|
49
55
|
5. In modes that include thoth-mem, persist an implementation progress report
|
|
@@ -65,32 +71,24 @@ rules per mode.
|
|
|
65
71
|
|
|
66
72
|
## Response Format
|
|
67
73
|
|
|
68
|
-
Return a structured result to the orchestrator:
|
|
74
|
+
Return a structured result to the orchestrator using the Task Result envelope:
|
|
69
75
|
|
|
70
76
|
**Status**: completed | failed | partial
|
|
71
77
|
**Task**: {task reference}
|
|
72
|
-
|
|
73
|
-
**
|
|
74
|
-
**
|
|
75
|
-
**
|
|
76
|
-
**
|
|
78
|
+
|
|
79
|
+
**What was done**: concrete list of changes
|
|
80
|
+
**Files changed**: paths with descriptions
|
|
81
|
+
**Verification**: check results (passed/failed)
|
|
82
|
+
**Issues**: problems encountered with severity
|
|
83
|
+
**Failure/Skip reason**: if applicable
|
|
77
84
|
|
|
78
85
|
Progress tracking (checkbox state updates) is managed by the orchestrator
|
|
79
86
|
via the `executing-plans` skill. Do not update task checkboxes yourself.
|
|
80
87
|
|
|
81
|
-
## Output Format
|
|
82
|
-
|
|
83
|
-
Return:
|
|
84
|
-
|
|
85
|
-
- `Change`
|
|
86
|
-
- `Completed Tasks`: assigned items completed or partially completed
|
|
87
|
-
- `Files Changed`: concise table or bullets
|
|
88
|
-
- `Progress Topic Key`: `sdd/{change-name}/apply-progress` when applicable
|
|
89
|
-
- `Remaining Work`: next known pending work or blockers
|
|
90
|
-
|
|
91
88
|
## Rules
|
|
92
89
|
|
|
93
|
-
- Read
|
|
90
|
+
- Read the acceptance contract before implementing: specs in full pipeline,
|
|
91
|
+
proposal in accelerated pipeline.
|
|
94
92
|
- Follow the design unless you explicitly report a justified deviation.
|
|
95
93
|
- Update only the tasks assigned in the current batch.
|
|
96
94
|
- Persist the progress artifact whenever the selected mode includes thoth-mem.
|
|
@@ -98,4 +96,3 @@ Return:
|
|
|
98
96
|
`~/.config/opencode/skills/_shared/persistence-contract.md`.
|
|
99
97
|
- Return structured execution evidence to the orchestrator so it can manage task
|
|
100
98
|
state correctly.
|
|
101
|
-
- Never reference engram.
|
|
@@ -35,22 +35,27 @@ rules per mode.
|
|
|
35
35
|
## Prerequisites
|
|
36
36
|
|
|
37
37
|
- `change-name`
|
|
38
|
-
-
|
|
39
|
-
- Design artifact
|
|
38
|
+
- `pipeline-type` (`accelerated` or `full`)
|
|
40
39
|
- Tasks artifact
|
|
41
40
|
- Verify report artifact
|
|
41
|
+
- Spec artifact (full pipeline only)
|
|
42
|
+
- Design artifact (full pipeline only)
|
|
43
|
+
- Proposal artifact (always — used for audit trail)
|
|
42
44
|
|
|
43
45
|
## Workflow
|
|
44
46
|
|
|
45
47
|
1. Read the shared conventions.
|
|
46
|
-
2. Recover
|
|
47
|
-
|
|
48
|
-
|
|
48
|
+
2. Recover artifacts through the retrieval protocol in
|
|
49
|
+
`~/.config/opencode/skills/_shared/persistence-contract.md`:
|
|
50
|
+
- **Always**: recover `proposal`, `tasks`, and `verify-report`
|
|
51
|
+
- **Full pipeline only**: recover `spec` and `design`
|
|
49
52
|
3. Refuse to archive if the verification report still contains unresolved
|
|
50
53
|
critical failures.
|
|
51
|
-
4. If the selected mode includes OpenSpec
|
|
54
|
+
4. If the selected mode includes OpenSpec and the pipeline is full, merge
|
|
55
|
+
every change spec from
|
|
52
56
|
`openspec/changes/{change-name}/specs/{domain}/spec.md` into
|
|
53
|
-
`openspec/specs/{domain}/spec.md`.
|
|
57
|
+
`openspec/specs/{domain}/spec.md`. In accelerated pipeline, skip the
|
|
58
|
+
spec merge (no delta specs exist).
|
|
54
59
|
5. If the selected mode includes OpenSpec, move the completed change directory
|
|
55
60
|
to `openspec/changes/archive/YYYY-MM-DD-{change-name}/`.
|
|
56
61
|
6. Create an audit trail report summarizing merged domains, archive location,
|
|
@@ -84,11 +89,11 @@ Return:
|
|
|
84
89
|
## Rules
|
|
85
90
|
|
|
86
91
|
- Archive only after verification is acceptable.
|
|
87
|
-
-
|
|
92
|
+
- In full pipeline, merge delta specs before moving the change folder.
|
|
93
|
+
In accelerated pipeline, skip the spec merge (no delta specs exist).
|
|
88
94
|
- Preserve canonical spec structure and untouched requirements.
|
|
89
95
|
- Persist the final audit trail through thoth-mem when the selected mode
|
|
90
96
|
includes it.
|
|
91
97
|
- Use the retrieval protocol in
|
|
92
98
|
`~/.config/opencode/skills/_shared/persistence-contract.md` for every
|
|
93
99
|
dependency.
|
|
94
|
-
- Never reference engram.
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: sdd-init
|
|
3
|
+
description: Bootstrap OpenSpec structure and SDD context for a project.
|
|
4
|
+
metadata:
|
|
5
|
+
author: gentleman-programming
|
|
6
|
+
version: "1.0"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# SDD Init Skill
|
|
10
|
+
|
|
11
|
+
Initialize SDD for a project by detecting local conventions, creating the
|
|
12
|
+
minimal OpenSpec structure when needed, and persisting startup context.
|
|
13
|
+
|
|
14
|
+
## Shared Conventions
|
|
15
|
+
|
|
16
|
+
- Shared references:
|
|
17
|
+
- `~/.config/opencode/skills/_shared/openspec-convention.md`
|
|
18
|
+
- `~/.config/opencode/skills/_shared/persistence-contract.md`
|
|
19
|
+
- `~/.config/opencode/skills/_shared/thoth-mem-convention.md`
|
|
20
|
+
|
|
21
|
+
## Persistence Mode
|
|
22
|
+
|
|
23
|
+
The orchestrator passes the artifact store mode (`thoth-mem`, `openspec`, or
|
|
24
|
+
`hybrid`). Follow
|
|
25
|
+
`~/.config/opencode/skills/_shared/persistence-contract.md` for read/write
|
|
26
|
+
rules per mode.
|
|
27
|
+
|
|
28
|
+
- `thoth-mem`: persist initialization context to thoth-mem only — do NOT create
|
|
29
|
+
or modify `openspec/` files.
|
|
30
|
+
- `openspec`: create or update OpenSpec structure only — do NOT call thoth-mem
|
|
31
|
+
save tools.
|
|
32
|
+
- `hybrid`: do both (default).
|
|
33
|
+
|
|
34
|
+
## When to Use
|
|
35
|
+
|
|
36
|
+
- SDD is needed but `openspec/` is not initialized
|
|
37
|
+
- A new project needs initial OpenSpec conventions
|
|
38
|
+
- The team wants detected stack/context captured before `sdd-propose`
|
|
39
|
+
|
|
40
|
+
## Prerequisites
|
|
41
|
+
|
|
42
|
+
- Project root path
|
|
43
|
+
- Project name
|
|
44
|
+
- Selected persistence mode (default: `hybrid`)
|
|
45
|
+
|
|
46
|
+
## Workflow
|
|
47
|
+
|
|
48
|
+
1. Read the shared conventions before initializing.
|
|
49
|
+
2. Detect project stack and conventions from repository files:
|
|
50
|
+
- Stack indicators: `package.json`, `go.mod`, `pyproject.toml`,
|
|
51
|
+
`requirements.txt`, `Cargo.toml`, `pom.xml`, `build.gradle`,
|
|
52
|
+
`composer.json`.
|
|
53
|
+
- Testing indicators: `vitest.config.*`, `jest.config.*`,
|
|
54
|
+
`playwright.config.*`, `pytest.ini`, `tox.ini`, `go test` conventions,
|
|
55
|
+
`Cargo.toml` test crates.
|
|
56
|
+
- Style indicators: `biome.json`, `.eslintrc*`, `eslint.config.*`,
|
|
57
|
+
`.prettierrc*`, `ruff.toml`, `.golangci.*`, `rustfmt.toml`.
|
|
58
|
+
- CI indicators: `.github/workflows/*`, `.gitlab-ci.yml`,
|
|
59
|
+
`azure-pipelines.yml`, `.circleci/config.yml`.
|
|
60
|
+
- Architecture hints: common layout markers such as `apps/`, `packages/`,
|
|
61
|
+
`services/`, `src/`, `cmd/`, `internal/`.
|
|
62
|
+
3. Build concise config context (max 10 lines) using detected values. Use
|
|
63
|
+
`unknown` for missing signals.
|
|
64
|
+
4. If the selected mode includes OpenSpec (`openspec` or `hybrid`), check
|
|
65
|
+
whether these already exist:
|
|
66
|
+
- `openspec/config.yaml`
|
|
67
|
+
- `openspec/specs/`
|
|
68
|
+
- `openspec/changes/`
|
|
69
|
+
5. If all required OpenSpec paths already exist, report what exists and ask the
|
|
70
|
+
orchestrator whether `config.yaml` should be updated. Do not overwrite by
|
|
71
|
+
default.
|
|
72
|
+
6. If any required OpenSpec path is missing and mode includes OpenSpec, create
|
|
73
|
+
only the minimum structure:
|
|
74
|
+
|
|
75
|
+
```text
|
|
76
|
+
openspec/
|
|
77
|
+
├── config.yaml
|
|
78
|
+
├── specs/
|
|
79
|
+
└── changes/
|
|
80
|
+
└── archive/
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
7. Generate `openspec/config.yaml` dynamically with this shape:
|
|
84
|
+
|
|
85
|
+
```yaml
|
|
86
|
+
schema: spec-driven
|
|
87
|
+
|
|
88
|
+
context: |
|
|
89
|
+
Tech stack: {detected}
|
|
90
|
+
Architecture: {detected}
|
|
91
|
+
Testing: {detected}
|
|
92
|
+
Style: {detected}
|
|
93
|
+
|
|
94
|
+
rules:
|
|
95
|
+
proposal:
|
|
96
|
+
- Include rollback plan for risky changes
|
|
97
|
+
- Identify affected modules/packages
|
|
98
|
+
specs:
|
|
99
|
+
- Use Given/When/Then format for scenarios
|
|
100
|
+
- Use RFC 2119 keywords (MUST, SHALL, SHOULD, MAY)
|
|
101
|
+
design:
|
|
102
|
+
- Include sequence diagrams for complex flows
|
|
103
|
+
- Document architecture decisions with rationale
|
|
104
|
+
tasks:
|
|
105
|
+
- Group tasks by phase (infrastructure, implementation, testing)
|
|
106
|
+
- Use hierarchical numbering (1.1, 1.2, etc.)
|
|
107
|
+
- Keep tasks small enough to complete in one session
|
|
108
|
+
apply:
|
|
109
|
+
- Follow existing code patterns and conventions
|
|
110
|
+
tdd: false
|
|
111
|
+
test_command: ''
|
|
112
|
+
verify:
|
|
113
|
+
test_command: ''
|
|
114
|
+
build_command: ''
|
|
115
|
+
coverage_threshold: 0
|
|
116
|
+
archive:
|
|
117
|
+
- Warn before merging destructive deltas
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
8. Never create placeholder SDD artifacts (`proposal.md`, `design.md`,
|
|
121
|
+
`tasks.md`, or spec files) during initialization.
|
|
122
|
+
9. If the selected mode includes thoth-mem (`thoth-mem` or `hybrid`), persist
|
|
123
|
+
the detected context and initialization status with:
|
|
124
|
+
|
|
125
|
+
```text
|
|
126
|
+
thoth_mem_mem_save(
|
|
127
|
+
title: "sdd-init/{project-name}",
|
|
128
|
+
topic_key: "sdd-init/{project-name}",
|
|
129
|
+
type: "config",
|
|
130
|
+
project: "{project-name}",
|
|
131
|
+
scope: "project",
|
|
132
|
+
content: "What: ...\nWhy: ...\nWhere: ...\nLearned: ..."
|
|
133
|
+
)
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
10. In `hybrid` mode, initialization is complete only when both OpenSpec setup
|
|
137
|
+
and thoth-mem persistence succeed.
|
|
138
|
+
|
|
139
|
+
## Output Format
|
|
140
|
+
|
|
141
|
+
Return:
|
|
142
|
+
|
|
143
|
+
- `Project`
|
|
144
|
+
- `Mode`
|
|
145
|
+
- `Detected Context`: stack, architecture, testing, style, CI
|
|
146
|
+
- `OpenSpec Status`: initialized, already initialized, or skipped by mode
|
|
147
|
+
- `Created Paths`: list of directories/files created (if any)
|
|
148
|
+
- `Topic Key`: `sdd-init/{project-name}` when mode includes thoth-mem
|
|
149
|
+
- `Next Step`: usually `sdd-propose`
|
|
150
|
+
|
|
151
|
+
## Rules
|
|
152
|
+
|
|
153
|
+
- Be idempotent: if OpenSpec already exists, report and ask before updates.
|
|
154
|
+
- In `thoth-mem` mode, never create `openspec/` directories or files.
|
|
155
|
+
- Keep `config.yaml` context concise (max 10 lines).
|
|
156
|
+
- Detect and include CI, test, and style conventions in the context summary.
|
|
157
|
+
- Never create placeholder spec/change files during init.
|
|
@@ -87,7 +87,7 @@ Return a short report with:
|
|
|
87
87
|
- `Artifact`: `openspec/changes/{change-name}/proposal.md`
|
|
88
88
|
- `Topic Key`: `sdd/{change-name}/proposal`
|
|
89
89
|
- `Summary`: 2-4 bullets covering intent, scope, and major risks
|
|
90
|
-
- `Next Step`:
|
|
90
|
+
- `Next Step`: `sdd-spec` (full pipeline) or `sdd-tasks` (accelerated pipeline)
|
|
91
91
|
|
|
92
92
|
## Rules
|
|
93
93
|
|
|
@@ -95,5 +95,6 @@ Return a short report with:
|
|
|
95
95
|
- Keep the proposal focused on why, scope, and success criteria.
|
|
96
96
|
- Always include rollback guidance and explicit out-of-scope items.
|
|
97
97
|
- Never reference engram.
|
|
98
|
-
- Never rely on
|
|
99
|
-
|
|
98
|
+
- Never rely on `thoth_mem_mem_search` output alone when the mode uses
|
|
99
|
+
thoth-mem. Follow the 3-layer recall protocol: `search(mode: "compact")` →
|
|
100
|
+
`timeline` → `get_observation` to retrieve the full artifact body.
|
|
@@ -28,21 +28,26 @@ rules per mode.
|
|
|
28
28
|
|
|
29
29
|
## When to Use
|
|
30
30
|
|
|
31
|
-
-
|
|
32
|
-
-
|
|
31
|
+
- **Full pipeline**: proposal, spec, and design are ready for execution planning
|
|
32
|
+
- **Accelerated pipeline**: proposal is ready and spec/design are intentionally skipped
|
|
33
|
+
- A task plan must be refreshed after scope changes
|
|
33
34
|
|
|
34
35
|
## Prerequisites
|
|
35
36
|
|
|
36
37
|
- `change-name`
|
|
38
|
+
- `pipeline-type` (`accelerated` or `full`)
|
|
37
39
|
- Proposal artifact
|
|
38
|
-
- Spec artifact
|
|
39
|
-
- Design artifact
|
|
40
|
+
- Spec artifact (full pipeline only)
|
|
41
|
+
- Design artifact (full pipeline only)
|
|
40
42
|
|
|
41
43
|
## Workflow
|
|
42
44
|
|
|
43
45
|
1. Read the shared conventions.
|
|
44
|
-
2. Recover
|
|
45
|
-
`~/.config/opencode/skills/_shared/persistence-contract.md
|
|
46
|
+
2. Recover artifacts via the retrieval protocol in
|
|
47
|
+
`~/.config/opencode/skills/_shared/persistence-contract.md`:
|
|
48
|
+
- **Always**: recover `proposal`
|
|
49
|
+
- **Full pipeline only**: recover `spec` and `design`
|
|
50
|
+
- In accelerated pipeline, derive task structure directly from the proposal.
|
|
46
51
|
3. If a task plan already exists, recover `sdd/{change-name}/tasks` with the
|
|
47
52
|
same mode-aware retrieval rules before rewriting it.
|
|
48
53
|
4. Build a phased checklist for `openspec/changes/{change-name}/tasks.md`. In
|
|
@@ -113,4 +118,3 @@ Return:
|
|
|
113
118
|
- Do not create vague tasks such as “implement feature”.
|
|
114
119
|
- Retrieve all dependencies through the mode-aware protocol in
|
|
115
120
|
`~/.config/opencode/skills/_shared/persistence-contract.md`.
|
|
116
|
-
- Never reference engram.
|
|
@@ -35,16 +35,21 @@ rules per mode.
|
|
|
35
35
|
## Prerequisites
|
|
36
36
|
|
|
37
37
|
- `change-name`
|
|
38
|
-
- Spec artifact
|
|
39
|
-
- Design artifact
|
|
40
38
|
- Tasks artifact
|
|
39
|
+
- `pipeline-type` (`accelerated` or `full`)
|
|
40
|
+
- Spec artifact (full pipeline only)
|
|
41
|
+
- Design artifact (full pipeline only)
|
|
42
|
+
- Proposal artifact (accelerated pipeline — used as the verification reference)
|
|
41
43
|
- Ability to run the relevant checks or tests
|
|
42
44
|
|
|
43
45
|
## Workflow
|
|
44
46
|
|
|
45
47
|
1. Read the shared conventions.
|
|
46
|
-
2. Recover
|
|
47
|
-
`~/.config/opencode/skills/_shared/persistence-contract.md
|
|
48
|
+
2. Recover artifacts with the retrieval protocol in
|
|
49
|
+
`~/.config/opencode/skills/_shared/persistence-contract.md`:
|
|
50
|
+
- **Always**: recover `tasks`
|
|
51
|
+
- **Full pipeline**: recover `spec` and `design`
|
|
52
|
+
- **Accelerated pipeline**: recover `proposal` (used as the verification reference)
|
|
48
53
|
3. Optionally recover `apply-progress` with the same mode-aware rules if it
|
|
49
54
|
exists and helps explain task coverage.
|
|
50
55
|
4. Read the changed code and run the required verification commands.
|
|
@@ -54,19 +59,22 @@ rules per mode.
|
|
|
54
59
|
In `thoth-mem` mode, produce the same report content without creating the
|
|
55
60
|
file:
|
|
56
61
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
62
|
+
```md
|
|
63
|
+
# Verification Report: {Change Title}
|
|
64
|
+
|
|
65
|
+
## Completeness
|
|
66
|
+
## Build and Test Evidence
|
|
67
|
+
## Compliance Matrix
|
|
68
|
+
<!-- Full pipeline: map Given/When/Then scenarios from spec -->
|
|
69
|
+
<!-- Accelerated pipeline: map success criteria from proposal -->
|
|
70
|
+
## Design Coherence (full pipeline only)
|
|
71
|
+
## Issues Found
|
|
72
|
+
## Verdict
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
6. Build a compliance matrix: in full pipeline, map each Given/When/Then
|
|
76
|
+
scenario to evidence; in accelerated pipeline, map each proposal success
|
|
77
|
+
criterion to evidence.
|
|
70
78
|
7. If the selected mode includes thoth-mem, persist the report with:
|
|
71
79
|
|
|
72
80
|
```text
|
|
@@ -94,9 +102,9 @@ Return:
|
|
|
94
102
|
## Rules
|
|
95
103
|
|
|
96
104
|
- Verification requires real evidence, not only static inspection.
|
|
97
|
-
- Every
|
|
105
|
+
- Every acceptance criterion must appear in the compliance matrix: spec
|
|
106
|
+
scenarios in full pipeline, proposal success criteria in accelerated pipeline.
|
|
98
107
|
- Distinguish blockers from warnings clearly.
|
|
99
108
|
- Do not fix issues inside this phase; report them.
|
|
100
109
|
- Recover full artifacts with the protocol in
|
|
101
110
|
`~/.config/opencode/skills/_shared/persistence-contract.md`.
|
|
102
|
-
- Never reference engram.
|
|
@@ -1,120 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: brainstorming
|
|
3
|
-
description: Clarify ambiguous work, assess scope, and choose the right planning path before implementation.
|
|
4
|
-
metadata:
|
|
5
|
-
author: oh-my-opencode-lite
|
|
6
|
-
version: '1.0'
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
# Brainstorming Skill
|
|
10
|
-
|
|
11
|
-
Use this skill to understand what should be built before implementation starts.
|
|
12
|
-
The goal is clarity, scope calibration, and a user-approved handoff.
|
|
13
|
-
|
|
14
|
-
## Shared Conventions
|
|
15
|
-
|
|
16
|
-
- `~/.config/opencode/skills/_shared/thoth-mem-convention.md`
|
|
17
|
-
- `~/.config/opencode/skills/_shared/persistence-contract.md`
|
|
18
|
-
|
|
19
|
-
## HARD GATE
|
|
20
|
-
|
|
21
|
-
- Do not implement during brainstorming.
|
|
22
|
-
- Do not write code.
|
|
23
|
-
- Do not patch files.
|
|
24
|
-
- Do not create formal SDD artifacts until the user approves the route.
|
|
25
|
-
|
|
26
|
-
## Workflow
|
|
27
|
-
|
|
28
|
-
### Phase 1: Context Gathering
|
|
29
|
-
|
|
30
|
-
1. Dispatch `@explorer` and `@librarian` in parallel for codebase and external
|
|
31
|
-
context.
|
|
32
|
-
2. Collect only the minimum context needed to improve questions and reduce user
|
|
33
|
-
repetition.
|
|
34
|
-
3. Prefer facts from the codebase and known references over asking the user for
|
|
35
|
-
information the environment can answer.
|
|
36
|
-
|
|
37
|
-
### Phase 2: Interview
|
|
38
|
-
|
|
39
|
-
1. Ask 1 question at a time.
|
|
40
|
-
2. Ask at most 5 total questions.
|
|
41
|
-
3. Prefer multiple-choice questions when practical.
|
|
42
|
-
4. Stop early when clarity is already sufficient.
|
|
43
|
-
5. Do not ask for details that the codebase, task artifacts, or gathered
|
|
44
|
-
context already answer.
|
|
45
|
-
|
|
46
|
-
### Phase 3: Scope Assessment
|
|
47
|
-
|
|
48
|
-
Evaluate these 7 scope signals:
|
|
49
|
-
|
|
50
|
-
1. Multiple views, pages, or user flows
|
|
51
|
-
2. New or modified API endpoints, queries, or data models
|
|
52
|
-
3. Restructuring existing functionality
|
|
53
|
-
4. Affects multiple layers such as frontend and backend, or UI and logic and
|
|
54
|
-
data
|
|
55
|
-
5. Described in business or UX terms instead of specific code changes
|
|
56
|
-
6. Scope is ambiguous or open-ended
|
|
57
|
-
7. Would likely touch 3 or more files across different directories
|
|
58
|
-
|
|
59
|
-
Signal mapping:
|
|
60
|
-
|
|
61
|
-
- `0-1` = trivial
|
|
62
|
-
- `2-4` = medium
|
|
63
|
-
- `5+` = complex
|
|
64
|
-
|
|
65
|
-
### Phase 4: Approach Proposal
|
|
66
|
-
|
|
67
|
-
1. Present 2-3 viable options.
|
|
68
|
-
2. For each option, give the main trade-offs.
|
|
69
|
-
3. Mark one option as the recommendation.
|
|
70
|
-
4. Ask the user to confirm the preferred approach before moving on.
|
|
71
|
-
|
|
72
|
-
### Phase 5: User Approval
|
|
73
|
-
|
|
74
|
-
Present:
|
|
75
|
-
|
|
76
|
-
- Summary of understanding
|
|
77
|
-
- Scope classification and why
|
|
78
|
-
- Recommended approach
|
|
79
|
-
- Proposed handoff path
|
|
80
|
-
|
|
81
|
-
Then wait for explicit user approval.
|
|
82
|
-
|
|
83
|
-
The user is the sole approver during brainstorming. Do not request oracle
|
|
84
|
-
review here.
|
|
85
|
-
|
|
86
|
-
### Phase 6: Handoff
|
|
87
|
-
|
|
88
|
-
Recommend a route based on complexity, then wait for the user to confirm it:
|
|
89
|
-
|
|
90
|
-
- Trivial (`1-2` files): direct implementation
|
|
91
|
-
- Medium (`3-7` files): accelerated SDD (`propose -> tasks`)
|
|
92
|
-
- Complex (`8+` files): full SDD (`propose -> spec -> design -> tasks`)
|
|
93
|
-
|
|
94
|
-
Before any SDD generation starts, present the artifact store policy choice:
|
|
95
|
-
|
|
96
|
-
```text
|
|
97
|
-
How would you like to persist planning artifacts?
|
|
98
|
-
1. thoth-mem — Memory only. Lightest token cost. No repo files.
|
|
99
|
-
2. openspec — Repo files only. Visible and reviewable.
|
|
100
|
-
3. hybrid — Both. Maximum durability, higher token cost.
|
|
101
|
-
Default: hybrid
|
|
102
|
-
```
|
|
103
|
-
|
|
104
|
-
Do not silently choose the handoff route or artifact store mode. Recommend, ask,
|
|
105
|
-
and wait.
|
|
106
|
-
|
|
107
|
-
## Guardrails
|
|
108
|
-
|
|
109
|
-
- Maximum 5 interview questions.
|
|
110
|
-
- Ask only one question at a time.
|
|
111
|
-
- Do not ask what codebase context can answer.
|
|
112
|
-
- Do not skip explicit user approval.
|
|
113
|
-
- Do not auto-select the handoff route.
|
|
114
|
-
|
|
115
|
-
## Anti-Patterns
|
|
116
|
-
|
|
117
|
-
- Question dumping
|
|
118
|
-
- Option inflation
|
|
119
|
-
- Premature implementation
|
|
120
|
-
- Silent route selection
|