opencodekit 0.6.7 → 0.7.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.
- package/dist/index.js +654 -651
- package/dist/template/.opencode/AGENTS.md +56 -11
- package/dist/template/.opencode/README.md +18 -16
- package/dist/template/.opencode/command/accessibility-check.md +1 -1
- package/dist/template/.opencode/command/analyze-mockup.md +1 -1
- package/dist/template/.opencode/command/analyze-project.md +2 -0
- package/dist/template/.opencode/command/brainstorm.md +1 -1
- package/dist/template/.opencode/command/commit.md +1 -1
- package/dist/template/.opencode/command/create.md +9 -0
- package/dist/template/.opencode/command/design-audit.md +1 -1
- package/dist/template/.opencode/command/design.md +1 -1
- package/dist/template/.opencode/command/finish.md +17 -0
- package/dist/template/.opencode/command/fix-ci.md +4 -0
- package/dist/template/.opencode/command/fix-types.md +2 -0
- package/dist/template/.opencode/command/fix-ui.md +1 -1
- package/dist/template/.opencode/command/fix.md +1 -1
- package/dist/template/.opencode/command/handoff.md +2 -0
- package/dist/template/.opencode/command/implement.md +31 -1
- package/dist/template/.opencode/command/import-plan.md +2 -0
- package/dist/template/.opencode/command/integration-test.md +6 -2
- package/dist/template/.opencode/command/new-feature.md +2 -0
- package/dist/template/.opencode/command/plan.md +2 -0
- package/dist/template/.opencode/command/pr.md +2 -0
- package/dist/template/.opencode/command/research-and-implement.md +1 -1
- package/dist/template/.opencode/command/research-ui.md +1 -1
- package/dist/template/.opencode/command/resume.md +2 -0
- package/dist/template/.opencode/command/revert-feature.md +2 -0
- package/dist/template/.opencode/command/review-codebase.md +1 -1
- package/dist/template/.opencode/command/skill-create.md +4 -4
- package/dist/template/.opencode/command/skill-optimize.md +4 -4
- package/dist/template/.opencode/command/ui-review.md +2 -2
- package/dist/template/.opencode/opencode.json +489 -491
- package/dist/template/.opencode/package.json +20 -20
- package/dist/template/.opencode/skill/brainstorming/SKILL.md +2 -2
- package/dist/template/.opencode/skill/executing-plans/SKILL.md +1 -1
- package/dist/template/.opencode/skill/sharing-skills/SKILL.md +13 -4
- package/dist/template/.opencode/skill/subagent-driven-development/SKILL.md +1 -1
- package/dist/template/.opencode/skill/systematic-debugging/SKILL.md +2 -2
- package/dist/template/.opencode/skill/using-git-worktrees/SKILL.md +27 -18
- package/dist/template/.opencode/skill/{using-superpowers → using-skills}/SKILL.md +6 -3
- package/dist/template/.opencode/skill/writing-plans/SKILL.md +3 -3
- package/dist/template/.opencode/skill/writing-skills/SKILL.md +2 -2
- package/package.json +2 -1
- package/dist/template/.opencode/memory/handoffs/2025-12-27T103000Z.md +0 -76
- package/dist/template/.opencode/plugin/skill.ts +0 -275
- package/dist/template/.opencode/skill/systematic-debugging/CREATION-LOG.md +0 -119
- package/dist/template/.opencode/skill/systematic-debugging/test-academic.md +0 -14
- package/dist/template/.opencode/skill/systematic-debugging/test-pressure-1.md +0 -58
- package/dist/template/.opencode/skill/systematic-debugging/test-pressure-2.md +0 -68
- package/dist/template/.opencode/skill/systematic-debugging/test-pressure-3.md +0 -69
- package/dist/template/.opencode/skill/testing-skills-with-subagents/examples/CLAUDE_MD_TESTING.md +0 -189
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
2
|
+
"name": "opencode",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Opencode plugin",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "index.js",
|
|
7
|
+
"scripts": {
|
|
8
|
+
"type-check": "tsc --noEmit"
|
|
9
|
+
},
|
|
10
|
+
"keywords": [],
|
|
11
|
+
"author": "",
|
|
12
|
+
"license": "ISC",
|
|
13
|
+
"dependencies": {
|
|
14
|
+
"@opencode-ai/plugin": "^1.0.209"
|
|
15
|
+
},
|
|
16
|
+
"devDependencies": {
|
|
17
|
+
"@types/node": "^25.0.3",
|
|
18
|
+
"fs": "^0.0.1-security",
|
|
19
|
+
"path": "^0.12.7",
|
|
20
|
+
"typescript": "^5.9.3"
|
|
21
|
+
}
|
|
22
22
|
}
|
|
@@ -46,8 +46,8 @@ Start by understanding the current project context, then ask questions one at a
|
|
|
46
46
|
**Implementation (if continuing):**
|
|
47
47
|
|
|
48
48
|
- Ask: "Ready to set up for implementation?"
|
|
49
|
-
- Use
|
|
50
|
-
- Use
|
|
49
|
+
- Use skill({ name: "using-git-worktrees" }) to create isolated workspace
|
|
50
|
+
- Use skill({ name: "writing-plans" }) to create detailed implementation plan
|
|
51
51
|
|
|
52
52
|
## Key Principles
|
|
53
53
|
|
|
@@ -54,7 +54,7 @@ Based on feedback:
|
|
|
54
54
|
After all tasks complete and verified:
|
|
55
55
|
|
|
56
56
|
- Announce: "I'm using finishing-a-development-branch skill to complete this work."
|
|
57
|
-
- **REQUIRED SUB-SKILL:** Use
|
|
57
|
+
- **REQUIRED SUB-SKILL:** Use skill({ name: "finishing-a-development-branch" })
|
|
58
58
|
- Follow that skill to verify tests, present options, execute choice
|
|
59
59
|
|
|
60
60
|
## When to Stop and Ask for Help
|
|
@@ -14,12 +14,14 @@ Contribute skills from your local branch back to the upstream repository.
|
|
|
14
14
|
## When to Share
|
|
15
15
|
|
|
16
16
|
**Share when:**
|
|
17
|
+
|
|
17
18
|
- Skill applies broadly (not project-specific)
|
|
18
19
|
- Pattern/technique others would benefit from
|
|
19
20
|
- Well-tested and documented
|
|
20
21
|
- Follows writing-skills guidelines
|
|
21
22
|
|
|
22
23
|
**Keep personal when:**
|
|
24
|
+
|
|
23
25
|
- Project-specific or organization-specific
|
|
24
26
|
- Experimental or unstable
|
|
25
27
|
- Contains sensitive information
|
|
@@ -28,7 +30,7 @@ Contribute skills from your local branch back to the upstream repository.
|
|
|
28
30
|
## Prerequisites
|
|
29
31
|
|
|
30
32
|
- `gh` CLI installed and authenticated
|
|
31
|
-
- Working directory is
|
|
33
|
+
- Working directory is `.opencode/skill/` (your project skills)
|
|
32
34
|
- **REQUIRED:** Skill has been tested using writing-skills TDD process
|
|
33
35
|
|
|
34
36
|
## Sharing Workflow
|
|
@@ -36,7 +38,7 @@ Contribute skills from your local branch back to the upstream repository.
|
|
|
36
38
|
### 1. Ensure You're on Main and Synced
|
|
37
39
|
|
|
38
40
|
```bash
|
|
39
|
-
cd
|
|
41
|
+
cd .opencode/skill/
|
|
40
42
|
git checkout main
|
|
41
43
|
git pull upstream main
|
|
42
44
|
git push origin main # Push to your fork
|
|
@@ -105,7 +107,7 @@ Here's a complete example of sharing a skill called "async-patterns":
|
|
|
105
107
|
|
|
106
108
|
```bash
|
|
107
109
|
# 1. Sync with upstream
|
|
108
|
-
cd
|
|
110
|
+
cd .opencode/skill/
|
|
109
111
|
git checkout main
|
|
110
112
|
git pull upstream main
|
|
111
113
|
git push origin main
|
|
@@ -146,14 +148,16 @@ Addresses common async pitfalls like race conditions, improper error handling, a
|
|
|
146
148
|
Once your PR is merged:
|
|
147
149
|
|
|
148
150
|
1. Sync your local main branch:
|
|
151
|
+
|
|
149
152
|
```bash
|
|
150
|
-
cd
|
|
153
|
+
cd .opencode/skill/
|
|
151
154
|
git checkout main
|
|
152
155
|
git pull upstream main
|
|
153
156
|
git push origin main
|
|
154
157
|
```
|
|
155
158
|
|
|
156
159
|
2. Delete the feature branch:
|
|
160
|
+
|
|
157
161
|
```bash
|
|
158
162
|
git branch -d "add-${skill_name}-skill"
|
|
159
163
|
git push origin --delete "add-${skill_name}-skill"
|
|
@@ -162,18 +166,22 @@ git push origin --delete "add-${skill_name}-skill"
|
|
|
162
166
|
## Troubleshooting
|
|
163
167
|
|
|
164
168
|
**"gh: command not found"**
|
|
169
|
+
|
|
165
170
|
- Install GitHub CLI: https://cli.github.com/
|
|
166
171
|
- Authenticate: `gh auth login`
|
|
167
172
|
|
|
168
173
|
**"Permission denied (publickey)"**
|
|
174
|
+
|
|
169
175
|
- Check SSH keys: `gh auth status`
|
|
170
176
|
- Set up SSH: https://docs.github.com/en/authentication
|
|
171
177
|
|
|
172
178
|
**"Skill already exists"**
|
|
179
|
+
|
|
173
180
|
- You're creating a modified version
|
|
174
181
|
- Consider different skill name or coordinate with the skill's maintainer
|
|
175
182
|
|
|
176
183
|
**PR merge conflicts**
|
|
184
|
+
|
|
177
185
|
- Rebase on latest upstream: `git fetch upstream && git rebase upstream/main`
|
|
178
186
|
- Resolve conflicts
|
|
179
187
|
- Force push: `git push -f origin your-branch`
|
|
@@ -183,6 +191,7 @@ git push origin --delete "add-${skill_name}-skill"
|
|
|
183
191
|
**Do NOT batch multiple skills in one PR.**
|
|
184
192
|
|
|
185
193
|
Each skill should:
|
|
194
|
+
|
|
186
195
|
- Have its own feature branch
|
|
187
196
|
- Have its own PR
|
|
188
197
|
- Be independently reviewable
|
|
@@ -113,7 +113,7 @@ After all tasks complete, dispatch final review:
|
|
|
113
113
|
After final review passes:
|
|
114
114
|
|
|
115
115
|
- Announce: "I'm using finishing-a-development-branch skill to complete this work."
|
|
116
|
-
- **REQUIRED SUB-SKILL:** Use
|
|
116
|
+
- **REQUIRED SUB-SKILL:** Use skill({ name: "finishing-a-development-branch" })
|
|
117
117
|
- Follow that skill to verify tests, present options, execute choice
|
|
118
118
|
|
|
119
119
|
## Example Workflow
|
|
@@ -116,7 +116,7 @@ You MUST complete each phase before proceeding to the next.
|
|
|
116
116
|
|
|
117
117
|
**WHEN error is deep in call stack:**
|
|
118
118
|
|
|
119
|
-
**REQUIRED SUB-SKILL:** Use
|
|
119
|
+
**REQUIRED SUB-SKILL:** Use skill({ name: "root-cause-tracing" }) for backward tracing technique
|
|
120
120
|
|
|
121
121
|
**Quick version:**
|
|
122
122
|
- Where does bad value originate?
|
|
@@ -181,7 +181,7 @@ You MUST complete each phase before proceeding to the next.
|
|
|
181
181
|
- Automated test if possible
|
|
182
182
|
- One-off test script if no framework
|
|
183
183
|
- MUST have before fixing
|
|
184
|
-
- **REQUIRED SUB-SKILL:** Use
|
|
184
|
+
- **REQUIRED SUB-SKILL:** Use skill({ name: "test-driven-development" }) for writing proper failing tests
|
|
185
185
|
|
|
186
186
|
2. **Implement Single Fix**
|
|
187
187
|
- Address the root cause identified
|
|
@@ -27,23 +27,23 @@ ls -d worktrees 2>/dev/null # Alternative
|
|
|
27
27
|
|
|
28
28
|
**If found:** Use that directory. If both exist, `.worktrees` wins.
|
|
29
29
|
|
|
30
|
-
### 2. Check
|
|
30
|
+
### 2. Check AGENTS.md
|
|
31
31
|
|
|
32
32
|
```bash
|
|
33
|
-
grep -i "worktree.*director"
|
|
33
|
+
grep -i "worktree.*director" AGENTS.md 2>/dev/null
|
|
34
34
|
```
|
|
35
35
|
|
|
36
36
|
**If preference specified:** Use it without asking.
|
|
37
37
|
|
|
38
38
|
### 3. Ask User
|
|
39
39
|
|
|
40
|
-
If no directory exists and no
|
|
40
|
+
If no directory exists and no AGENTS.md preference:
|
|
41
41
|
|
|
42
42
|
```
|
|
43
43
|
No worktree directory found. Where should I create worktrees?
|
|
44
44
|
|
|
45
45
|
1. .worktrees/ (project-local, hidden)
|
|
46
|
-
2. ~/.
|
|
46
|
+
2. ~/.opencode/worktrees/<project-name>/ (global location)
|
|
47
47
|
|
|
48
48
|
Which would you prefer?
|
|
49
49
|
```
|
|
@@ -62,13 +62,14 @@ grep -q "^\.worktrees/$" .gitignore || grep -q "^worktrees/$" .gitignore
|
|
|
62
62
|
**If NOT in .gitignore:**
|
|
63
63
|
|
|
64
64
|
Per Jesse's rule "Fix broken things immediately":
|
|
65
|
+
|
|
65
66
|
1. Add appropriate line to .gitignore
|
|
66
67
|
2. Commit the change
|
|
67
68
|
3. Proceed with worktree creation
|
|
68
69
|
|
|
69
70
|
**Why critical:** Prevents accidentally committing worktree contents to repository.
|
|
70
71
|
|
|
71
|
-
### For Global Directory (~/.
|
|
72
|
+
### For Global Directory (~/.opencode/worktrees)
|
|
72
73
|
|
|
73
74
|
No .gitignore verification needed - outside project entirely.
|
|
74
75
|
|
|
@@ -88,8 +89,8 @@ case $LOCATION in
|
|
|
88
89
|
.worktrees|worktrees)
|
|
89
90
|
path="$LOCATION/$BRANCH_NAME"
|
|
90
91
|
;;
|
|
91
|
-
~/.
|
|
92
|
-
path="~/.
|
|
92
|
+
~/.opencode/worktrees/*)
|
|
93
|
+
path="~/.opencode/worktrees/$project/$BRANCH_NAME"
|
|
93
94
|
;;
|
|
94
95
|
esac
|
|
95
96
|
|
|
@@ -143,31 +144,35 @@ Ready to implement <feature-name>
|
|
|
143
144
|
|
|
144
145
|
## Quick Reference
|
|
145
146
|
|
|
146
|
-
| Situation
|
|
147
|
-
|
|
148
|
-
| `.worktrees/` exists
|
|
149
|
-
| `worktrees/` exists
|
|
150
|
-
| Both exist
|
|
151
|
-
| Neither exists
|
|
147
|
+
| Situation | Action |
|
|
148
|
+
| --------------------------- | --------------------------- |
|
|
149
|
+
| `.worktrees/` exists | Use it (verify .gitignore) |
|
|
150
|
+
| `worktrees/` exists | Use it (verify .gitignore) |
|
|
151
|
+
| Both exist | Use `.worktrees/` |
|
|
152
|
+
| Neither exists | Check AGENTS.md → Ask user |
|
|
152
153
|
| Directory not in .gitignore | Add it immediately + commit |
|
|
153
|
-
| Tests fail during baseline
|
|
154
|
-
| No package.json/Cargo.toml
|
|
154
|
+
| Tests fail during baseline | Report failures + ask |
|
|
155
|
+
| No package.json/Cargo.toml | Skip dependency install |
|
|
155
156
|
|
|
156
157
|
## Common Mistakes
|
|
157
158
|
|
|
158
159
|
**Skipping .gitignore verification**
|
|
160
|
+
|
|
159
161
|
- **Problem:** Worktree contents get tracked, pollute git status
|
|
160
162
|
- **Fix:** Always grep .gitignore before creating project-local worktree
|
|
161
163
|
|
|
162
164
|
**Assuming directory location**
|
|
165
|
+
|
|
163
166
|
- **Problem:** Creates inconsistency, violates project conventions
|
|
164
|
-
- **Fix:** Follow priority: existing >
|
|
167
|
+
- **Fix:** Follow priority: existing > AGENTS.md > ask
|
|
165
168
|
|
|
166
169
|
**Proceeding with failing tests**
|
|
170
|
+
|
|
167
171
|
- **Problem:** Can't distinguish new bugs from pre-existing issues
|
|
168
172
|
- **Fix:** Report failures, get explicit permission to proceed
|
|
169
173
|
|
|
170
174
|
**Hardcoding setup commands**
|
|
175
|
+
|
|
171
176
|
- **Problem:** Breaks on projects using different tools
|
|
172
177
|
- **Fix:** Auto-detect from project files (package.json, etc.)
|
|
173
178
|
|
|
@@ -190,14 +195,16 @@ Ready to implement auth feature
|
|
|
190
195
|
## Red Flags
|
|
191
196
|
|
|
192
197
|
**Never:**
|
|
198
|
+
|
|
193
199
|
- Create worktree without .gitignore verification (project-local)
|
|
194
200
|
- Skip baseline test verification
|
|
195
201
|
- Proceed with failing tests without asking
|
|
196
202
|
- Assume directory location when ambiguous
|
|
197
|
-
- Skip
|
|
203
|
+
- Skip AGENTS.md check
|
|
198
204
|
|
|
199
205
|
**Always:**
|
|
200
|
-
|
|
206
|
+
|
|
207
|
+
- Follow directory priority: existing > AGENTS.md > ask
|
|
201
208
|
- Verify .gitignore for project-local
|
|
202
209
|
- Auto-detect and run project setup
|
|
203
210
|
- Verify clean test baseline
|
|
@@ -205,9 +212,11 @@ Ready to implement auth feature
|
|
|
205
212
|
## Integration
|
|
206
213
|
|
|
207
214
|
**Called by:**
|
|
215
|
+
|
|
208
216
|
- **brainstorming** (Phase 4) - REQUIRED when design is approved and implementation follows
|
|
209
217
|
- Any skill needing isolated workspace
|
|
210
218
|
|
|
211
219
|
**Pairs with:**
|
|
220
|
+
|
|
212
221
|
- **finishing-a-development-branch** - REQUIRED for cleanup after work complete
|
|
213
222
|
- **executing-plans** or **subagent-driven-development** - Work happens in this worktree
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: using-
|
|
2
|
+
name: using-skills
|
|
3
3
|
description: Use when starting any conversation - establishes mandatory workflows for finding and using skills, including using Skill tool before announcing usage, following brainstorming before coding, and creating TodoWrite todos for checklists
|
|
4
4
|
---
|
|
5
5
|
|
|
@@ -53,6 +53,7 @@ If a skill for your task exists, you must use it or you will fail at your task.
|
|
|
53
53
|
If a skill has a checklist, YOU MUST create TodoWrite todos for EACH item.
|
|
54
54
|
|
|
55
55
|
**Don't:**
|
|
56
|
+
|
|
56
57
|
- Work through checklist mentally
|
|
57
58
|
- Skip creating todos "to save time"
|
|
58
59
|
- Batch multiple items into one todo
|
|
@@ -66,6 +67,7 @@ Before using a skill, announce that you are using it.
|
|
|
66
67
|
"I'm using [Skill Name] to [what you're doing]."
|
|
67
68
|
|
|
68
69
|
**Examples:**
|
|
70
|
+
|
|
69
71
|
- "I'm using the brainstorming skill to refine your idea into a design."
|
|
70
72
|
- "I'm using the test-driven-development skill to implement this feature."
|
|
71
73
|
|
|
@@ -92,9 +94,10 @@ Your human partner's specific instructions describe WHAT to do, not HOW.
|
|
|
92
94
|
## Summary
|
|
93
95
|
|
|
94
96
|
**Starting any task:**
|
|
97
|
+
|
|
95
98
|
1. If relevant skill exists → Use the skill
|
|
96
|
-
|
|
97
|
-
|
|
99
|
+
2. Announce you're using it
|
|
100
|
+
3. Follow what it says
|
|
98
101
|
|
|
99
102
|
**Skill has checklist?** TodoWrite for every item.
|
|
100
103
|
|
|
@@ -34,7 +34,7 @@ Assume they are a skilled developer, but know almost nothing about our toolset o
|
|
|
34
34
|
```markdown
|
|
35
35
|
# [Feature Name] Implementation Plan
|
|
36
36
|
|
|
37
|
-
> **For Claude:** REQUIRED SUB-SKILL: Use
|
|
37
|
+
> **For Claude:** REQUIRED SUB-SKILL: Use skill({ name: "executing-plans" }) to implement this plan task-by-task.
|
|
38
38
|
|
|
39
39
|
**Goal:** [One sentence describing what this builds]
|
|
40
40
|
|
|
@@ -111,11 +111,11 @@ After saving the plan, offer execution choice:
|
|
|
111
111
|
**Which approach?"**
|
|
112
112
|
|
|
113
113
|
**If Subagent-Driven chosen:**
|
|
114
|
-
- **REQUIRED SUB-SKILL:** Use
|
|
114
|
+
- **REQUIRED SUB-SKILL:** Use skill({ name: "subagent-driven-development" })
|
|
115
115
|
- Stay in this session
|
|
116
116
|
- Fresh subagent per task + code review
|
|
117
117
|
|
|
118
118
|
**If Parallel Session chosen:**
|
|
119
119
|
- Guide them to open new session in worktree
|
|
120
|
-
- **REQUIRED SUB-SKILL:** New session uses
|
|
120
|
+
- **REQUIRED SUB-SKILL:** New session uses skill({ name: "executing-plans" })
|
|
121
121
|
```
|
|
@@ -282,7 +282,7 @@ wc -w skills/path/SKILL.md
|
|
|
282
282
|
|
|
283
283
|
Use skill name only, with explicit requirement markers:
|
|
284
284
|
|
|
285
|
-
- ✅ Good: `**REQUIRED SUB-SKILL:** Use
|
|
285
|
+
- ✅ Good: `**REQUIRED SUB-SKILL:** Use skill({ name: "test-driven-development" })`
|
|
286
286
|
- ✅ Good: `**REQUIRED BACKGROUND:** You MUST understand systematic-debugging`
|
|
287
287
|
- ❌ Bad: `See skills/testing/test-driven-development` (unclear if required)
|
|
288
288
|
- ❌ Bad: `@skills/testing/test-driven-development/SKILL.md` (force-loads, burns context)
|
|
@@ -568,7 +568,7 @@ Run same scenarios WITH skill. Agent should now comply.
|
|
|
568
568
|
|
|
569
569
|
Agent found new rationalization? Add explicit counter. Re-test until bulletproof.
|
|
570
570
|
|
|
571
|
-
**REQUIRED SUB-SKILL:** Use
|
|
571
|
+
**REQUIRED SUB-SKILL:** Use skill({ name: "testing-skills-with-subagents" }) for the complete testing methodology:
|
|
572
572
|
|
|
573
573
|
- How to write pressure scenarios
|
|
574
574
|
- Pressure types (time, sunk cost, authority, exhaustion)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "opencodekit",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.0",
|
|
4
4
|
"description": "CLI tool for bootstrapping and managing OpenCodeKit projects",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"repository": {
|
|
@@ -35,6 +35,7 @@
|
|
|
35
35
|
"dependencies": {
|
|
36
36
|
"@clack/prompts": "^0.7.0",
|
|
37
37
|
"@opencode-ai/plugin": "^1.0.141",
|
|
38
|
+
"beads-village": "^1.3.3",
|
|
38
39
|
"cac": "^6.7.14",
|
|
39
40
|
"cli-table3": "^0.6.5",
|
|
40
41
|
"ora": "^9.0.0",
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
# Handoff: test-handoff-plugin
|
|
2
|
-
|
|
3
|
-
**Created:** 2025-12-27T10:30:00Z
|
|
4
|
-
**Agent:** build
|
|
5
|
-
|
|
6
|
-
## Provenance
|
|
7
|
-
|
|
8
|
-
| Key | Value |
|
|
9
|
-
| ------ | --------------------------------------------------- |
|
|
10
|
-
| Repo | git@github.com:opencodekit/opencodekit-template.git |
|
|
11
|
-
| Branch | main |
|
|
12
|
-
| Commit | ae38a95f899300419e9b17030268cedc60ebb44f |
|
|
13
|
-
| Clean | no |
|
|
14
|
-
|
|
15
|
-
## Session Context
|
|
16
|
-
|
|
17
|
-
**Current Session:** testing handoff plugin
|
|
18
|
-
**Token Usage:** ~50k estimated
|
|
19
|
-
|
|
20
|
-
Next session can load context with:
|
|
21
|
-
|
|
22
|
-
```
|
|
23
|
-
read_session("last", project="current")
|
|
24
|
-
```
|
|
25
|
-
|
|
26
|
-
## Progress
|
|
27
|
-
|
|
28
|
-
### Completed
|
|
29
|
-
|
|
30
|
-
- [x] Released v0.6.4 (version bump, changelog, tag, GitHub release)
|
|
31
|
-
- [x] Reviewed Agent-Skills-for-Context-Engineering repo (verdict: mostly theory, not worth stealing)
|
|
32
|
-
- [x] Reviewed Karpathy's hn-time-capsule (verdict: useful patterns)
|
|
33
|
-
- [x] Created handoff plugin (`plugin/handoff.ts`)
|
|
34
|
-
- [x] Updated `/handoff` command to instruct Ctrl+K
|
|
35
|
-
|
|
36
|
-
### In Progress
|
|
37
|
-
|
|
38
|
-
- [ ] Testing handoff plugin - verifying it injects context on compaction
|
|
39
|
-
|
|
40
|
-
### Remaining
|
|
41
|
-
|
|
42
|
-
- [ ] Commit new handoff plugin and updated command
|
|
43
|
-
- [ ] Test full flow: handoff → Ctrl+K → new session with context
|
|
44
|
-
|
|
45
|
-
## Context
|
|
46
|
-
|
|
47
|
-
### Key Files
|
|
48
|
-
|
|
49
|
-
- `.opencode/plugin/handoff.ts` - New plugin that injects handoff on compaction
|
|
50
|
-
- `.opencode/command/handoff.md` - Updated to tell user to press Ctrl+K
|
|
51
|
-
- `.opencode/plugin/compactor.ts` - Reference for plugin structure
|
|
52
|
-
|
|
53
|
-
### Decisions Made
|
|
54
|
-
|
|
55
|
-
- Use `experimental.session.compacting` hook to inject handoff context
|
|
56
|
-
- Only inject handoffs < 1 hour old to prevent stale context
|
|
57
|
-
- Search both `.opencode/memory/handoffs/` and `.beads/artifacts/` for handoffs
|
|
58
|
-
|
|
59
|
-
### Blockers/Issues
|
|
60
|
-
|
|
61
|
-
- OpenCode lacks `session.start` hook (Issue #5409) - can't auto-navigate to new session
|
|
62
|
-
- Workaround: User must manually press Ctrl+K after /handoff
|
|
63
|
-
|
|
64
|
-
## Resume Instructions
|
|
65
|
-
|
|
66
|
-
1. Commit the new handoff plugin and updated command
|
|
67
|
-
2. Test the full flow: run /handoff, press Ctrl+K, verify context injected
|
|
68
|
-
3. If working, consider adding to v0.6.5 release
|
|
69
|
-
|
|
70
|
-
**Recommended:** Start next session with `/resume test-handoff-plugin` to auto-load this handoff + previous session context.
|
|
71
|
-
|
|
72
|
-
## Artifacts
|
|
73
|
-
|
|
74
|
-
- spec.md: missing
|
|
75
|
-
- research.md: missing
|
|
76
|
-
- plan.md: missing
|