opencodekit 0.18.0 → 0.18.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +1 -1
- package/dist/template/.opencode/AGENTS.md +57 -0
- package/dist/template/.opencode/agent/scout.md +0 -37
- package/dist/template/.opencode/command/resume.md +1 -1
- package/dist/template/.opencode/command/status.md +7 -14
- package/dist/template/.opencode/memory.db +0 -0
- package/dist/template/.opencode/memory.db-shm +0 -0
- package/dist/template/.opencode/memory.db-wal +0 -0
- package/dist/template/.opencode/plugin/README.md +37 -25
- package/dist/template/.opencode/skill/accessibility-audit/SKILL.md +11 -5
- package/dist/template/.opencode/skill/agent-browser/SKILL.md +55 -18
- package/dist/template/.opencode/skill/agent-teams/SKILL.md +12 -1
- package/dist/template/.opencode/skill/augment-context-engine/SKILL.md +11 -1
- package/dist/template/.opencode/skill/beads/SKILL.md +57 -390
- package/dist/template/.opencode/skill/beads/references/BEST_PRACTICES.md +27 -0
- package/dist/template/.opencode/skill/beads/references/EXAMPLES.md +45 -0
- package/dist/template/.opencode/skill/beads/references/FILE_CLAIMING.md +101 -0
- package/dist/template/.opencode/skill/beads/references/GIT_SYNC.md +25 -0
- package/dist/template/.opencode/skill/beads/references/HIERARCHY.md +71 -0
- package/dist/template/.opencode/skill/beads/references/MULTI_AGENT.md +40 -0
- package/dist/template/.opencode/skill/beads/references/SESSION_PROTOCOL.md +61 -0
- package/dist/template/.opencode/skill/beads/references/TASK_CREATION.md +38 -0
- package/dist/template/.opencode/skill/beads/references/TROUBLESHOOTING.md +13 -0
- package/dist/template/.opencode/skill/beads-bridge/SKILL.md +10 -10
- package/dist/template/.opencode/skill/brainstorming/SKILL.md +13 -0
- package/dist/template/.opencode/skill/chrome-devtools/SKILL.md +11 -1
- package/dist/template/.opencode/skill/cloudflare/SKILL.md +87 -67
- package/dist/template/.opencode/skill/compaction/SKILL.md +11 -3
- package/dist/template/.opencode/skill/condition-based-waiting/SKILL.md +11 -25
- package/dist/template/.opencode/skill/context-engineering/SKILL.md +13 -2
- package/dist/template/.opencode/skill/context-initialization/SKILL.md +11 -1
- package/dist/template/.opencode/skill/context-management/SKILL.md +13 -1
- package/dist/template/.opencode/skill/core-data-expert/SKILL.md +13 -2
- package/dist/template/.opencode/skill/deep-research/SKILL.md +5 -8
- package/dist/template/.opencode/skill/defense-in-depth/SKILL.md +13 -0
- package/dist/template/.opencode/skill/design-system-audit/SKILL.md +9 -3
- package/dist/template/.opencode/skill/development-lifecycle/SKILL.md +51 -0
- package/dist/template/.opencode/skill/dispatching-parallel-agents/SKILL.md +19 -30
- package/dist/template/.opencode/skill/executing-plans/SKILL.md +36 -0
- package/dist/template/.opencode/skill/figma/SKILL.md +11 -1
- package/dist/template/.opencode/skill/finishing-a-development-branch/SKILL.md +31 -0
- package/dist/template/.opencode/skill/frontend-design/SKILL.md +13 -3
- package/dist/template/.opencode/skill/gemini-large-context/SKILL.md +11 -0
- package/dist/template/.opencode/skill/index-knowledge/SKILL.md +11 -1
- package/dist/template/.opencode/skill/jira/SKILL.md +11 -1
- package/dist/template/.opencode/skill/memory-system/SKILL.md +115 -60
- package/dist/template/.opencode/skill/mockup-to-code/SKILL.md +9 -3
- package/dist/template/.opencode/skill/mqdh/SKILL.md +11 -1
- package/dist/template/.opencode/skill/obsidian/SKILL.md +11 -1
- package/dist/template/.opencode/skill/opensrc/SKILL.md +18 -6
- package/dist/template/.opencode/skill/pdf-extract/SKILL.md +11 -1
- package/dist/template/.opencode/skill/playwright/SKILL.md +11 -1
- package/dist/template/.opencode/skill/playwriter/SKILL.md +11 -1
- package/dist/template/.opencode/skill/polar/SKILL.md +11 -1
- package/dist/template/.opencode/skill/prd/SKILL.md +13 -4
- package/dist/template/.opencode/skill/prd-task/SKILL.md +13 -3
- package/dist/template/.opencode/skill/ralph/SKILL.md +4 -8
- package/dist/template/.opencode/skill/react-best-practices/SKILL.md +24 -16
- package/dist/template/.opencode/skill/receiving-code-review/SKILL.md +22 -0
- package/dist/template/.opencode/skill/requesting-code-review/SKILL.md +30 -2
- package/dist/template/.opencode/skill/resend/SKILL.md +11 -1
- package/dist/template/.opencode/skill/root-cause-tracing/SKILL.md +12 -23
- package/dist/template/.opencode/skill/session-management/SKILL.md +33 -36
- package/dist/template/.opencode/skill/sharing-skills/SKILL.md +11 -0
- package/dist/template/.opencode/skill/skill-creator/SKILL.md +12 -11
- package/dist/template/.opencode/skill/source-code-research/SKILL.md +20 -266
- package/dist/template/.opencode/skill/source-code-research/references/analysis-tips.md +43 -0
- package/dist/template/.opencode/skill/source-code-research/references/anti-patterns.md +36 -0
- package/dist/template/.opencode/skill/source-code-research/references/common-patterns.md +57 -0
- package/dist/template/.opencode/skill/source-code-research/references/example-workflow.md +60 -0
- package/dist/template/.opencode/skill/source-code-research/references/further-reading.md +5 -0
- package/dist/template/.opencode/skill/source-code-research/references/source-structure.md +45 -0
- package/dist/template/.opencode/skill/stitch/SKILL.md +11 -1
- package/dist/template/.opencode/skill/structured-edit/SKILL.md +13 -0
- package/dist/template/.opencode/skill/subagent-driven-development/SKILL.md +13 -14
- package/dist/template/.opencode/skill/supabase/SKILL.md +11 -1
- package/dist/template/.opencode/skill/supabase-postgres-best-practices/SKILL.md +23 -15
- package/dist/template/.opencode/skill/swarm-coordination/SKILL.md +23 -923
- package/dist/template/.opencode/skill/swarm-coordination/references/architecture.md +39 -0
- package/dist/template/.opencode/skill/swarm-coordination/references/delegation-worker-protocol.md +145 -0
- package/dist/template/.opencode/skill/swarm-coordination/references/dependency-graph.md +50 -0
- package/dist/template/.opencode/skill/swarm-coordination/references/drift-check.md +90 -0
- package/dist/template/.opencode/skill/swarm-coordination/references/integration-beads.md +20 -0
- package/dist/template/.opencode/skill/swarm-coordination/references/launch-flow.md +186 -0
- package/dist/template/.opencode/skill/swarm-coordination/references/reconciler.md +172 -0
- package/dist/template/.opencode/skill/swarm-coordination/references/tier-enforcement.md +78 -0
- package/dist/template/.opencode/skill/swarm-coordination/references/tmux-integration.md +134 -0
- package/dist/template/.opencode/skill/swift-concurrency/SKILL.md +22 -2
- package/dist/template/.opencode/skill/swiftui-expert-skill/SKILL.md +58 -19
- package/dist/template/.opencode/skill/systematic-debugging/SKILL.md +25 -25
- package/dist/template/.opencode/skill/test-driven-development/SKILL.md +19 -15
- package/dist/template/.opencode/skill/testing-anti-patterns/SKILL.md +13 -0
- package/dist/template/.opencode/skill/testing-skills-with-subagents/SKILL.md +13 -15
- package/dist/template/.opencode/skill/tool-priority/SKILL.md +13 -0
- package/dist/template/.opencode/skill/ui-ux-research/SKILL.md +9 -3
- package/dist/template/.opencode/skill/using-git-worktrees/SKILL.md +11 -0
- package/dist/template/.opencode/skill/using-skills/SKILL.md +13 -0
- package/dist/template/.opencode/skill/v0/SKILL.md +11 -1
- package/dist/template/.opencode/skill/v1-run/SKILL.md +11 -1
- package/dist/template/.opencode/skill/vercel-deploy-claimable/SKILL.md +14 -2
- package/dist/template/.opencode/skill/verification-before-completion/SKILL.md +22 -0
- package/dist/template/.opencode/skill/visual-analysis/SKILL.md +9 -3
- package/dist/template/.opencode/skill/web-design-guidelines/SKILL.md +12 -5
- package/dist/template/.opencode/skill/writing-plans/SKILL.md +13 -0
- package/dist/template/.opencode/skill/writing-skills/SKILL.md +26 -421
- package/dist/template/.opencode/skill/writing-skills/references/anti-patterns.md +25 -0
- package/dist/template/.opencode/skill/writing-skills/references/claude-search-optimization.md +140 -0
- package/dist/template/.opencode/skill/writing-skills/references/discovery-workflow.md +11 -0
- package/dist/template/.opencode/skill/writing-skills/references/file-organization.md +32 -0
- package/dist/template/.opencode/skill/writing-skills/references/flowcharts-and-examples.md +57 -0
- package/dist/template/.opencode/skill/writing-skills/references/rationalization-hardening.md +75 -0
- package/dist/template/.opencode/skill/writing-skills/references/testing-skill-types.md +52 -0
- package/package.json +15 -4
- package/dist/template/.opencode/plugin/compaction.ts +0 -190
|
@@ -1,11 +1,45 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: memory-system
|
|
3
3
|
description: Use when persisting learnings, loading previous context, or searching past decisions - covers memory file structure, tools, and when to update each file
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
tags: [context, workflow]
|
|
6
|
+
dependencies: []
|
|
4
7
|
---
|
|
5
8
|
|
|
6
9
|
# Memory System Best Practices
|
|
7
10
|
|
|
8
|
-
|
|
11
|
+
## When to Use
|
|
12
|
+
|
|
13
|
+
- Starting work and needing to recall prior decisions, bugs, or patterns
|
|
14
|
+
- Recording non-obvious learnings or decisions for future sessions
|
|
15
|
+
|
|
16
|
+
## When NOT to Use
|
|
17
|
+
|
|
18
|
+
- For ephemeral notes that won't matter beyond the current session
|
|
19
|
+
- When you need to change actual markdown files (use read/write), not SQLite memory entries
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
## Architecture
|
|
23
|
+
|
|
24
|
+
```
|
|
25
|
+
message.part.updated → capture.ts → temporal_messages
|
|
26
|
+
↓ (session.idle, 10+ messages)
|
|
27
|
+
distill.ts → distillations (TF-IDF + key sentences)
|
|
28
|
+
↓ (session.idle)
|
|
29
|
+
curator.ts → observations (pattern-matched)
|
|
30
|
+
↓
|
|
31
|
+
system.transform ← inject.ts ← FTS5 search → scored + packed → system prompt
|
|
32
|
+
messages.transform ← context.ts → token budget enforcement
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
### 4 Tiers
|
|
36
|
+
|
|
37
|
+
| Tier | Storage | Populated By | Purpose |
|
|
38
|
+
| ----------------- | ------------- | ------------------- | ------------------------------- |
|
|
39
|
+
| temporal_messages | SQLite | Automatic (capture) | Raw message text, 180-day TTL |
|
|
40
|
+
| distillations | SQLite + FTS5 | Automatic (idle) | TF-IDF compressed sessions |
|
|
41
|
+
| observations | SQLite + FTS5 | Manual + curator | Decisions, bugs, patterns, etc. |
|
|
42
|
+
| memory_files | SQLite | Manual | Static docs, handoffs, research |
|
|
9
43
|
|
|
10
44
|
## Core Principle
|
|
11
45
|
|
|
@@ -23,11 +57,11 @@ Always search memory first.
|
|
|
23
57
|
|
|
24
58
|
```typescript
|
|
25
59
|
// Search for relevant past work
|
|
26
|
-
|
|
27
|
-
|
|
60
|
+
memory - search({ query: "<task keywords>", limit: 5 });
|
|
61
|
+
memory - search({ query: "bugfix <component>", type: "observations" });
|
|
28
62
|
|
|
29
63
|
// Check recent handoffs
|
|
30
|
-
|
|
64
|
+
memory - search({ query: "handoff", type: "handoffs", limit: 3 });
|
|
31
65
|
```
|
|
32
66
|
|
|
33
67
|
**Why:** Past you already solved this. Don't rediscover.
|
|
@@ -38,14 +72,14 @@ Don't fetch full content until you know you need it.
|
|
|
38
72
|
|
|
39
73
|
```typescript
|
|
40
74
|
// 1. Search returns compact index (50-100 tokens per result)
|
|
41
|
-
const results =
|
|
75
|
+
const results = memory - search({ query: "auth patterns" });
|
|
42
76
|
// Returns: [{id: 42, title: "Auth bug fixed", ...}]
|
|
43
77
|
|
|
44
78
|
// 2. Fetch full details ONLY for relevant IDs
|
|
45
|
-
|
|
79
|
+
memory - get({ ids: "42,45" });
|
|
46
80
|
|
|
47
81
|
// 3. See what led to this decision
|
|
48
|
-
|
|
82
|
+
memory - timeline({ anchor_id: 42, depth_before: 3 });
|
|
49
83
|
```
|
|
50
84
|
|
|
51
85
|
**Why:** Prevents context bloat. High signal, low noise.
|
|
@@ -56,12 +90,13 @@ Create observations for anything non-obvious. Don't wait until the end.
|
|
|
56
90
|
|
|
57
91
|
```typescript
|
|
58
92
|
observation({
|
|
59
|
-
type: "pattern", // decision | bugfix | pattern | discovery | warning
|
|
93
|
+
type: "pattern", // decision | bugfix | pattern | discovery | warning | learning
|
|
60
94
|
title: "Brief description",
|
|
61
95
|
narrative: "Context and reasoning...",
|
|
62
96
|
facts: "key, facts, here",
|
|
63
97
|
concepts: "searchable, keywords",
|
|
64
98
|
files_modified: "src/file.ts",
|
|
99
|
+
source: "manual", // manual (default) | curator | imported
|
|
65
100
|
});
|
|
66
101
|
```
|
|
67
102
|
|
|
@@ -79,9 +114,10 @@ observation({
|
|
|
79
114
|
Document completion state for future you.
|
|
80
115
|
|
|
81
116
|
```typescript
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
117
|
+
memory -
|
|
118
|
+
update({
|
|
119
|
+
file: "handoffs/YYYY-MM-DD-task",
|
|
120
|
+
content: `## Completed
|
|
85
121
|
- X
|
|
86
122
|
|
|
87
123
|
## Blockers
|
|
@@ -89,8 +125,8 @@ memory_update({
|
|
|
89
125
|
|
|
90
126
|
## Next
|
|
91
127
|
- Z`,
|
|
92
|
-
|
|
93
|
-
});
|
|
128
|
+
mode: "append",
|
|
129
|
+
});
|
|
94
130
|
```
|
|
95
131
|
|
|
96
132
|
---
|
|
@@ -99,18 +135,18 @@ memory_update({
|
|
|
99
135
|
|
|
100
136
|
### memory-search (Start Here)
|
|
101
137
|
|
|
102
|
-
Fast FTS5 full-text search. Returns **compact index** for progressive disclosure.
|
|
138
|
+
Fast FTS5 full-text search with porter stemming. Returns **compact index** for progressive disclosure.
|
|
103
139
|
|
|
104
140
|
```typescript
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
141
|
+
memory - search({ query: "authentication" });
|
|
142
|
+
memory - search({ query: "bugfix", type: "observations", limit: 5 });
|
|
143
|
+
memory - search({ query: "session", type: "handoffs" });
|
|
144
|
+
memory - search({ query: "patterns", type: "all" }); // Search everything
|
|
109
145
|
```
|
|
110
146
|
|
|
111
147
|
**Search modes:**
|
|
112
148
|
|
|
113
|
-
- `observations` (default): Search SQLite with FTS5 ranking
|
|
149
|
+
- `observations` (default): Search SQLite with FTS5 BM25 ranking
|
|
114
150
|
- `handoffs`, `research`, `templates`: Search specific directories
|
|
115
151
|
- `beads`: Search .beads/artifacts
|
|
116
152
|
- `all`: Search everything
|
|
@@ -120,8 +156,8 @@ memory_search({ query: "patterns", type: "all" }); // Search everything
|
|
|
120
156
|
Fetch full observation details after identifying relevant IDs:
|
|
121
157
|
|
|
122
158
|
```typescript
|
|
123
|
-
|
|
124
|
-
|
|
159
|
+
memory - get({ ids: "42" }); // Single observation
|
|
160
|
+
memory - get({ ids: "1,5,10" }); // Multiple observations
|
|
125
161
|
```
|
|
126
162
|
|
|
127
163
|
### memory-timeline (Chronological Context)
|
|
@@ -129,7 +165,7 @@ memory_get({ ids: "1,5,10" }); // Multiple observations
|
|
|
129
165
|
See what happened before/after a specific observation:
|
|
130
166
|
|
|
131
167
|
```typescript
|
|
132
|
-
|
|
168
|
+
memory - timeline({ anchor_id: 42, depth_before: 5, depth_after: 5 });
|
|
133
169
|
```
|
|
134
170
|
|
|
135
171
|
### memory-read (Files)
|
|
@@ -137,9 +173,9 @@ memory_timeline({ anchor_id: 42, depth_before: 5, depth_after: 5 });
|
|
|
137
173
|
Load project files, handoffs, or templates:
|
|
138
174
|
|
|
139
175
|
```typescript
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
176
|
+
memory - read({ file: "project/gotchas" });
|
|
177
|
+
memory - read({ file: "handoffs/2024-01-20-phase-1" });
|
|
178
|
+
memory - read({ file: "research/auth-patterns" });
|
|
143
179
|
```
|
|
144
180
|
|
|
145
181
|
### memory-update (Files)
|
|
@@ -147,13 +183,40 @@ memory_read({ file: "research/auth-patterns" });
|
|
|
147
183
|
Save to project files or handoffs:
|
|
148
184
|
|
|
149
185
|
```typescript
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
186
|
+
memory -
|
|
187
|
+
update({
|
|
188
|
+
file: "project/gotchas",
|
|
189
|
+
content: "### New Gotcha\n\nDescription...",
|
|
190
|
+
mode: "append", // or "replace"
|
|
191
|
+
});
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
### memory-admin (Maintenance)
|
|
195
|
+
|
|
196
|
+
```typescript
|
|
197
|
+
// Check current status (schema, FTS5, counts, DB size)
|
|
198
|
+
memory - admin({ operation: "status" });
|
|
199
|
+
|
|
200
|
+
// Full maintenance (archive >90 days, checkpoint WAL, vacuum)
|
|
201
|
+
memory - admin({ operation: "full" });
|
|
202
|
+
|
|
203
|
+
// Preview what would be archived
|
|
204
|
+
memory - admin({ operation: "archive", older_than_days: 60, dry_run: true });
|
|
205
|
+
|
|
206
|
+
// Capture pipeline stats (temporal messages, distillations, compression)
|
|
207
|
+
memory - admin({ operation: "capture-stats" });
|
|
208
|
+
|
|
209
|
+
// Force distillation for current session
|
|
210
|
+
memory - admin({ operation: "distill-now" });
|
|
211
|
+
|
|
212
|
+
// Force curator run (extract observations from distillations)
|
|
213
|
+
memory - admin({ operation: "curate-now" });
|
|
155
214
|
```
|
|
156
215
|
|
|
216
|
+
**Automatic:** On session idle — distillation, curation, FTS5 optimize, WAL checkpoint.
|
|
217
|
+
|
|
218
|
+
**Manual:** Run `memory-admin({ operation: "status" })` to check health.
|
|
219
|
+
|
|
157
220
|
---
|
|
158
221
|
|
|
159
222
|
## What Goes Where
|
|
@@ -161,24 +224,34 @@ memory_update({
|
|
|
161
224
|
### SQLite (observations)
|
|
162
225
|
|
|
163
226
|
- Events: decisions, bugfixes, patterns discovered
|
|
164
|
-
- Searchable via FTS5
|
|
227
|
+
- Searchable via FTS5 with porter stemming
|
|
228
|
+
- Created manually via `observation()` or automatically by curator
|
|
165
229
|
- Use `observation()` to create
|
|
166
230
|
|
|
231
|
+
### SQLite (distillations — automatic)
|
|
232
|
+
|
|
233
|
+
- Compressed session summaries with TF-IDF terms
|
|
234
|
+
- Created automatically when 10+ messages accumulate
|
|
235
|
+
- Searchable via FTS5
|
|
236
|
+
- Used for relevance-scored LTM injection
|
|
237
|
+
|
|
167
238
|
### Markdown Files
|
|
168
239
|
|
|
169
240
|
- Static knowledge: user preferences, tech stack
|
|
170
241
|
- Handoffs: session summaries
|
|
171
242
|
- Research: deep-dive documents
|
|
172
|
-
- Use `
|
|
173
|
-
|
|
174
|
-
| Location | Content | Tool
|
|
175
|
-
| -------------------------- | -------------------------- |
|
|
176
|
-
| `project/user.md` | User identity, preferences | `
|
|
177
|
-
| `project/tech-stack.md` | Frameworks, constraints | `
|
|
178
|
-
| `project/gotchas.md` | Footguns, warnings | `
|
|
179
|
-
| `handoffs/YYYY-MM-DD-*.md` | Session summaries | `
|
|
180
|
-
| `research/*.md` | Deep-dive analysis | `
|
|
181
|
-
| SQLite
|
|
243
|
+
- Use `memory-read()` / `memory-update()`
|
|
244
|
+
|
|
245
|
+
| Location | Content | Tool |
|
|
246
|
+
| -------------------------- | -------------------------- | ----------------------------------- |
|
|
247
|
+
| `project/user.md` | User identity, preferences | `memory-read()` |
|
|
248
|
+
| `project/tech-stack.md` | Frameworks, constraints | `memory-read()` |
|
|
249
|
+
| `project/gotchas.md` | Footguns, warnings | `memory-update({ mode: "append" })` |
|
|
250
|
+
| `handoffs/YYYY-MM-DD-*.md` | Session summaries | `memory-update()` |
|
|
251
|
+
| `research/*.md` | Deep-dive analysis | `memory-update()` |
|
|
252
|
+
| SQLite observations | Events, decisions | `observation()` |
|
|
253
|
+
| SQLite distillations | Session summaries | Automatic (idle) or `distill-now` |
|
|
254
|
+
| SQLite temporal_messages | Raw captured text | Automatic (message events) |
|
|
182
255
|
|
|
183
256
|
---
|
|
184
257
|
|
|
@@ -195,6 +268,7 @@ observation({
|
|
|
195
268
|
files_read: "src/auth.ts, src/middleware.ts",
|
|
196
269
|
files_modified: "src/auth.ts",
|
|
197
270
|
bead_id: "br-abc123", // Link to task (optional)
|
|
271
|
+
source: "manual", // manual (default), curator, imported
|
|
198
272
|
});
|
|
199
273
|
```
|
|
200
274
|
|
|
@@ -213,25 +287,6 @@ observation({
|
|
|
213
287
|
|
|
214
288
|
---
|
|
215
289
|
|
|
216
|
-
## Maintenance
|
|
217
|
-
|
|
218
|
-
```typescript
|
|
219
|
-
// Check current status
|
|
220
|
-
memory_admin({ operation: "status" });
|
|
221
|
-
|
|
222
|
-
// Full maintenance (archive >90 days, checkpoint WAL, vacuum)
|
|
223
|
-
memory_admin({ operation: "full" });
|
|
224
|
-
|
|
225
|
-
// Preview what would be archived
|
|
226
|
-
memory_admin({ operation: "archive", older_than_days: 60, dry_run: true });
|
|
227
|
-
```
|
|
228
|
-
|
|
229
|
-
**Automatic:** Runs at session end (FTS5 optimize, WAL checkpoint if >1MB)
|
|
230
|
-
|
|
231
|
-
**Manual:** Run monthly or when storage grows
|
|
232
|
-
|
|
233
|
-
---
|
|
234
|
-
|
|
235
290
|
## Philosophy
|
|
236
291
|
|
|
237
292
|
**Memory is not a dumping ground. It's curated signal.**
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: mockup-to-code
|
|
3
3
|
description: Use when converting UI mockups, screenshots, Figma/Sketch designs, wireframes, or building component libraries from design systems into production-ready code
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
tags: [ui, workflow]
|
|
6
|
+
dependencies: []
|
|
4
7
|
---
|
|
5
8
|
|
|
6
9
|
# Mockup to Code Skill
|
|
7
10
|
|
|
8
|
-
Convert UI mockups, screenshots, and designs into production-ready code.
|
|
9
|
-
|
|
10
11
|
## When to Use
|
|
11
12
|
|
|
12
13
|
- Converting Figma/Sketch mockups to React/Vue/HTML
|
|
@@ -14,6 +15,11 @@ Convert UI mockups, screenshots, and designs into production-ready code.
|
|
|
14
15
|
- Building component libraries from design systems
|
|
15
16
|
- Rapid prototyping from wireframes
|
|
16
17
|
|
|
18
|
+
## When NOT to Use
|
|
19
|
+
|
|
20
|
+
- No visual reference or mockup to implement.
|
|
21
|
+
|
|
22
|
+
|
|
17
23
|
## Core Workflow
|
|
18
24
|
|
|
19
25
|
### Phase 1: Design Analysis
|
|
@@ -158,6 +164,6 @@ Save implementations to `.opencode/memory/design/implementations/`
|
|
|
158
164
|
|
|
159
165
|
| Need | Skill |
|
|
160
166
|
| ----------------- | --------------------- |
|
|
161
|
-
| Aesthetic quality | `frontend-design`
|
|
167
|
+
| Aesthetic quality | `frontend-design` |
|
|
162
168
|
| Accessibility | `accessibility-audit` |
|
|
163
169
|
| Design tokens | `design-system-audit` |
|
|
@@ -5,11 +5,21 @@ mcp:
|
|
|
5
5
|
mqdh:
|
|
6
6
|
command: "${MQDH_MCP_PATH}"
|
|
7
7
|
args: []
|
|
8
|
+
version: 1.0.0
|
|
9
|
+
tags: [integration, mcp]
|
|
10
|
+
dependencies: []
|
|
8
11
|
---
|
|
9
12
|
|
|
10
13
|
# Meta Quest Developer Hub MCP
|
|
11
14
|
|
|
12
|
-
|
|
15
|
+
## When to Use
|
|
16
|
+
|
|
17
|
+
- When you need Meta Quest docs, ADB tooling, or device management via MQDH MCP.
|
|
18
|
+
|
|
19
|
+
## When NOT to Use
|
|
20
|
+
|
|
21
|
+
- When you are not working on Meta Quest/VR development or MQDH is unavailable.
|
|
22
|
+
|
|
13
23
|
|
|
14
24
|
## Prerequisites
|
|
15
25
|
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: obsidian
|
|
3
3
|
description: Use when working with Obsidian vault via MCP - read/write notes, search, tag management, and vault operations
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
tags: [integration, documentation]
|
|
6
|
+
dependencies: []
|
|
4
7
|
mcp:
|
|
5
8
|
server: @mauricio.wolff/mcp-obsidian
|
|
6
9
|
args: ["{env:OBSIDIAN_VAULT_PATH}"]
|
|
@@ -8,7 +11,14 @@ mcp:
|
|
|
8
11
|
|
|
9
12
|
# Obsidian Vault (MCP)
|
|
10
13
|
|
|
11
|
-
|
|
14
|
+
## When to Use
|
|
15
|
+
|
|
16
|
+
- When you need MCP-based read/write/search operations in an Obsidian vault.
|
|
17
|
+
|
|
18
|
+
## When NOT to Use
|
|
19
|
+
|
|
20
|
+
- When the task does not involve an Obsidian vault or MCP access.
|
|
21
|
+
|
|
12
22
|
|
|
13
23
|
## Available Tools
|
|
14
24
|
|
|
@@ -1,11 +1,21 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: opensrc
|
|
3
3
|
description: Fetch source code for npm, PyPI, or crates.io packages and GitHub/GitLab repos to provide AI agents with implementation context beyond types and docs. Use when needing to understand how a library works internally, debug dependency issues, or explore package implementations.
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
tags: [research, integration]
|
|
6
|
+
dependencies: []
|
|
4
7
|
---
|
|
5
8
|
|
|
6
9
|
# opensrc
|
|
7
10
|
|
|
8
|
-
|
|
11
|
+
## When to Use
|
|
12
|
+
|
|
13
|
+
- When you need actual dependency source code to understand behavior or debug issues.
|
|
14
|
+
|
|
15
|
+
## When NOT to Use
|
|
16
|
+
|
|
17
|
+
- When API docs or local type definitions are sufficient for the task.
|
|
18
|
+
|
|
9
19
|
|
|
10
20
|
## When to Use
|
|
11
21
|
|
|
@@ -39,12 +49,12 @@ npx opensrc owner/repo@v1.0.0
|
|
|
39
49
|
|
|
40
50
|
## Commands
|
|
41
51
|
|
|
42
|
-
| Command
|
|
43
|
-
|
|
52
|
+
| Command | Description |
|
|
53
|
+
| ----------------------- | ------------------------------- |
|
|
44
54
|
| `opensrc <packages...>` | Fetch source for packages/repos |
|
|
45
|
-
| `opensrc list`
|
|
46
|
-
| `opensrc remove <name>` | Remove specific source
|
|
47
|
-
| `opensrc clean`
|
|
55
|
+
| `opensrc list` | List all fetched sources |
|
|
56
|
+
| `opensrc remove <name>` | Remove specific source |
|
|
57
|
+
| `opensrc clean` | Remove all sources |
|
|
48
58
|
|
|
49
59
|
## Output Structure
|
|
50
60
|
|
|
@@ -63,6 +73,7 @@ opensrc/
|
|
|
63
73
|
## File Modifications
|
|
64
74
|
|
|
65
75
|
On first run, opensrc prompts to modify:
|
|
76
|
+
|
|
66
77
|
- `.gitignore` - adds `opensrc/` to ignore list
|
|
67
78
|
- `tsconfig.json` - excludes `opensrc/` from compilation
|
|
68
79
|
- `AGENTS.md` - adds section pointing agents to source code
|
|
@@ -110,6 +121,7 @@ npx opensrc zod pypi:pydantic vercel/ai
|
|
|
110
121
|
## References
|
|
111
122
|
|
|
112
123
|
For detailed information:
|
|
124
|
+
|
|
113
125
|
- [CLI Usage & Options](references/cli-usage.md) - Full command reference
|
|
114
126
|
- [Architecture](references/architecture.md) - Code structure and extension
|
|
115
127
|
- [Registry Support](references/registry-support.md) - npm, PyPI, crates.io details
|
|
@@ -1,11 +1,21 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: pdf-extract
|
|
3
3
|
description: Extract text, images, tables, and metadata from PDF files. Choose the right library based on extraction needs - text only, structured data, or complex layouts.
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
tags: [research, integration]
|
|
6
|
+
dependencies: []
|
|
4
7
|
---
|
|
5
8
|
|
|
6
9
|
# PDF Content Extraction
|
|
7
10
|
|
|
8
|
-
|
|
11
|
+
## When to Use
|
|
12
|
+
|
|
13
|
+
- When you need to extract text, images, tables, or metadata from PDF files.
|
|
14
|
+
|
|
15
|
+
## When NOT to Use
|
|
16
|
+
|
|
17
|
+
- When the source data is already available in a non-PDF, structured format.
|
|
18
|
+
|
|
9
19
|
|
|
10
20
|
## Quick Decision Guide
|
|
11
21
|
|
|
@@ -1,11 +1,21 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: playwright
|
|
3
3
|
description: Browser automation for testing, screenshots, form validation, and UX verification. Uses Playwright CLI for token-efficient automation, with MCP fallback for complex exploratory workflows.
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
tags: [automation, mcp, testing]
|
|
6
|
+
dependencies: []
|
|
4
7
|
---
|
|
5
8
|
|
|
6
9
|
# Playwright Browser Automation
|
|
7
10
|
|
|
8
|
-
|
|
11
|
+
## When to Use
|
|
12
|
+
|
|
13
|
+
- When you need automated browser testing, screenshots, or form workflows via Playwright CLI/MCP.
|
|
14
|
+
|
|
15
|
+
## When NOT to Use
|
|
16
|
+
|
|
17
|
+
- When you specifically need to control your existing Chrome session (use playwriter instead).
|
|
18
|
+
|
|
9
19
|
|
|
10
20
|
## Quick Decision
|
|
11
21
|
|
|
@@ -5,11 +5,21 @@ mcp:
|
|
|
5
5
|
playwriter:
|
|
6
6
|
command: npx
|
|
7
7
|
args: ["playwriter@latest"]
|
|
8
|
+
version: 1.0.0
|
|
9
|
+
tags: [automation, mcp]
|
|
10
|
+
dependencies: []
|
|
8
11
|
---
|
|
9
12
|
|
|
10
13
|
# Playwriter Browser Automation (MCP)
|
|
11
14
|
|
|
12
|
-
|
|
15
|
+
## When to Use
|
|
16
|
+
|
|
17
|
+
- When you need to automate your existing Chrome browser session via the Playwriter extension.
|
|
18
|
+
|
|
19
|
+
## When NOT to Use
|
|
20
|
+
|
|
21
|
+
- When you need a fresh, isolated browser instance without your local extensions/cookies.
|
|
22
|
+
|
|
13
23
|
|
|
14
24
|
- **Uses your existing browser** - extensions, sessions, cookies all work
|
|
15
25
|
- **Single `execute` tool** - send Playwright code snippets directly
|
|
@@ -1,11 +1,21 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: polar
|
|
3
3
|
description: Polar payment platform integration for monetization, subscriptions, and license keys. Use when implementing checkout, managing products, or building customer portals.
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
tags: [integration, mcp]
|
|
6
|
+
dependencies: []
|
|
4
7
|
---
|
|
5
8
|
|
|
6
9
|
# Polar Integration
|
|
7
10
|
|
|
8
|
-
|
|
11
|
+
## When to Use
|
|
12
|
+
|
|
13
|
+
- When implementing Polar checkout, subscriptions, or license key flows.
|
|
14
|
+
|
|
15
|
+
## When NOT to Use
|
|
16
|
+
|
|
17
|
+
- When payments are handled by a different platform.
|
|
18
|
+
|
|
9
19
|
|
|
10
20
|
## What I Do
|
|
11
21
|
|
|
@@ -1,17 +1,26 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: prd
|
|
3
3
|
description: Create Product Requirements Documents (PRDs) that define the end state of a feature. Use when planning new features, migrations, or refactors. Generates structured PRDs with acceptance criteria.
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
tags: [planning, documentation]
|
|
6
|
+
dependencies: []
|
|
4
7
|
---
|
|
5
8
|
|
|
6
9
|
# PRD Creation Skill
|
|
7
10
|
|
|
8
|
-
|
|
11
|
+
## When to Use
|
|
12
|
+
|
|
13
|
+
- After a design is validated and you need formal requirements and acceptance criteria
|
|
14
|
+
- Before breaking work into tasks or plans for features, migrations, or refactors
|
|
15
|
+
|
|
16
|
+
## When NOT to Use
|
|
17
|
+
|
|
18
|
+
- When you already have an approved PRD and only need task conversion
|
|
19
|
+
- For small, mechanical changes where a PRD would be overhead
|
|
20
|
+
|
|
9
21
|
|
|
10
|
-
The PRD describes WHAT to build and WHY, not HOW or in WHAT ORDER.
|
|
11
22
|
|
|
12
|
-
**Part of:** `development-lifecycle` skill (Phase 2: Specification)
|
|
13
23
|
|
|
14
|
-
**Template:** `.opencode/memory/_templates/prd.md`
|
|
15
24
|
|
|
16
25
|
## Beads-Native Output (Recommended)
|
|
17
26
|
|
|
@@ -3,15 +3,25 @@ name: prd-task
|
|
|
3
3
|
description: Convert a Beads PRD markdown file to executable JSON tasks for autonomous execution. Use after writing `.beads/artifacts/<bead-id>/prd.md`.
|
|
4
4
|
references:
|
|
5
5
|
- references/prd-schema.json
|
|
6
|
+
version: 1.0.0
|
|
7
|
+
tags: [planning, workflow]
|
|
8
|
+
dependencies: [prd]
|
|
6
9
|
---
|
|
7
10
|
|
|
8
11
|
# PRD Task Skill (Beads-Native)
|
|
9
12
|
|
|
10
|
-
|
|
13
|
+
## When to Use
|
|
14
|
+
|
|
15
|
+
- After a PRD is complete at `.beads/artifacts/<bead-id>/prd.md` and you need executable tasks
|
|
16
|
+
- When you need to generate `prd.json` and initialize `progress.txt` for a bead
|
|
17
|
+
|
|
18
|
+
## When NOT to Use
|
|
19
|
+
|
|
20
|
+
- Before a PRD exists or when requirements are still being gathered
|
|
21
|
+
- If you only need a human-readable plan (use writing-plans instead)
|
|
22
|
+
|
|
11
23
|
|
|
12
|
-
The PRD defines the **end state** via tasks with verification steps. The agent decides HOW to get there.
|
|
13
24
|
|
|
14
|
-
**Part of:** `development-lifecycle` skill (Phase 3: Task Conversion)
|
|
15
25
|
|
|
16
26
|
## Beads-Native File Locations (Recommended)
|
|
17
27
|
|
|
@@ -1,18 +1,13 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: ralph
|
|
3
3
|
description: Use when running autonomous agent loops for extended task completion without human intervention - handles PRD-driven development, migration tasks, or batch operations
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
source: https://ghuntley.com/ralph/
|
|
8
|
-
category: automation
|
|
9
|
-
updated: 2026-01-10
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
tags: [workflow, automation]
|
|
6
|
+
dependencies: []
|
|
10
7
|
---
|
|
11
8
|
|
|
12
9
|
# Ralph Wiggum - Autonomous Agent Loop
|
|
13
10
|
|
|
14
|
-
A workflow pattern for extended autonomous work sessions where the agent iterates through tasks until completion.
|
|
15
|
-
|
|
16
11
|
## When to Use
|
|
17
12
|
|
|
18
13
|
- **PRD-driven development**: Work through a product requirements document task by task
|
|
@@ -27,6 +22,7 @@ A workflow pattern for extended autonomous work sessions where the agent iterate
|
|
|
27
22
|
- Exploratory work where the goal isn't clear
|
|
28
23
|
- Critical production changes (requires human oversight)
|
|
29
24
|
|
|
25
|
+
|
|
30
26
|
## Quick Start
|
|
31
27
|
|
|
32
28
|
Invoke the workflow with:
|