opencodekit 0.19.5 → 0.20.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 (74) hide show
  1. package/dist/index.js +1 -1
  2. package/dist/template/.opencode/command/compound.md +4 -3
  3. package/dist/template/.opencode/command/create.md +6 -11
  4. package/dist/template/.opencode/command/design.md +3 -3
  5. package/dist/template/.opencode/command/handoff.md +4 -2
  6. package/dist/template/.opencode/command/init-context.md +79 -55
  7. package/dist/template/.opencode/command/init-user.md +11 -6
  8. package/dist/template/.opencode/command/init.md +1 -3
  9. package/dist/template/.opencode/command/lfg.md +4 -2
  10. package/dist/template/.opencode/command/plan.md +9 -9
  11. package/dist/template/.opencode/command/pr.md +5 -1
  12. package/dist/template/.opencode/command/resume.md +4 -4
  13. package/dist/template/.opencode/command/review-codebase.md +4 -4
  14. package/dist/template/.opencode/command/ship.md +5 -7
  15. package/dist/template/.opencode/command/start.md +8 -10
  16. package/dist/template/.opencode/command/status.md +1 -1
  17. package/dist/template/.opencode/command/ui-slop-check.md +6 -6
  18. package/dist/template/.opencode/command/verify.md +4 -4
  19. package/dist/template/.opencode/dcp-prompts/defaults/compress-message.md +1 -0
  20. package/dist/template/.opencode/dcp.jsonc +1 -1
  21. package/dist/template/.opencode/memory.db +0 -0
  22. package/dist/template/.opencode/memory.db-shm +0 -0
  23. package/dist/template/.opencode/memory.db-wal +0 -0
  24. package/dist/template/.opencode/opencode.json +3 -5
  25. package/dist/template/.opencode/skill/chrome-devtools/SKILL.md +1 -1
  26. package/dist/template/.opencode/skill/cloudflare/SKILL.md +1 -1
  27. package/dist/template/.opencode/skill/context-initialization/SKILL.md +16 -17
  28. package/dist/template/.opencode/skill/context-management/SKILL.md +306 -79
  29. package/dist/template/.opencode/skill/core-data-expert/SKILL.md +1 -1
  30. package/dist/template/.opencode/skill/design-system-audit/SKILL.md +1 -1
  31. package/dist/template/.opencode/skill/design-taste-frontend/SKILL.md +1 -1
  32. package/dist/template/.opencode/skill/figma/SKILL.md +1 -1
  33. package/dist/template/.opencode/skill/figma-go/SKILL.md +1 -1
  34. package/dist/template/.opencode/skill/frontend-design/SKILL.md +1 -1
  35. package/dist/template/.opencode/skill/full-output-enforcement/SKILL.md +1 -1
  36. package/dist/template/.opencode/skill/high-end-visual-design/SKILL.md +1 -1
  37. package/dist/template/.opencode/skill/index-knowledge/SKILL.md +1 -1
  38. package/dist/template/.opencode/skill/industrial-brutalist-ui/SKILL.md +1 -1
  39. package/dist/template/.opencode/skill/jira/SKILL.md +1 -1
  40. package/dist/template/.opencode/skill/minimalist-ui/SKILL.md +1 -1
  41. package/dist/template/.opencode/skill/mqdh/SKILL.md +1 -1
  42. package/dist/template/.opencode/skill/opensrc/SKILL.md +184 -27
  43. package/dist/template/.opencode/skill/pdf-extract/SKILL.md +1 -1
  44. package/dist/template/.opencode/skill/pencil/SKILL.md +1 -1
  45. package/dist/template/.opencode/skill/playwright/SKILL.md +18 -6
  46. package/dist/template/.opencode/skill/{agent-browser/SKILL.md → playwright/references/agent-browser-cli.md} +0 -8
  47. package/dist/template/.opencode/skill/playwriter/SKILL.md +1 -1
  48. package/dist/template/.opencode/skill/polar/SKILL.md +1 -1
  49. package/dist/template/.opencode/skill/prd/SKILL.md +1 -1
  50. package/dist/template/.opencode/skill/react-best-practices/SKILL.md +1 -1
  51. package/dist/template/.opencode/skill/redesign-existing-projects/SKILL.md +1 -1
  52. package/dist/template/.opencode/skill/resend/SKILL.md +1 -1
  53. package/dist/template/.opencode/skill/stitch/SKILL.md +1 -1
  54. package/dist/template/.opencode/skill/stitch-design-taste/SKILL.md +1 -1
  55. package/dist/template/.opencode/skill/supabase/SKILL.md +1 -1
  56. package/dist/template/.opencode/skill/supabase-postgres-best-practices/SKILL.md +1 -1
  57. package/dist/template/.opencode/skill/tilth-cli/SKILL.md +47 -20
  58. package/dist/template/.opencode/skill/v0/SKILL.md +1 -1
  59. package/dist/template/.opencode/skill/v1-run/SKILL.md +1 -1
  60. package/dist/template/.opencode/skill/webclaw/SKILL.md +1 -1
  61. package/dist/template/.opencode/skill/writing-skills/SKILL.md +43 -6
  62. package/dist/template/.opencode/skill/{testing-skills-with-subagents/SKILL.md → writing-skills/references/testing-methodology.md} +0 -8
  63. package/package.json +1 -1
  64. package/dist/template/.opencode/skill/compaction/SKILL.md +0 -384
  65. package/dist/template/.opencode/skill/session-management/SKILL.md +0 -9
  66. package/dist/template/.opencode/skill/source-code-research/SKILL.md +0 -293
  67. package/dist/template/.opencode/skill/ui-ux-research/SKILL.md +0 -9
  68. package/dist/template/.opencode/skill/using-skills/SKILL.md +0 -117
  69. /package/dist/template/.opencode/skill/{source-code-research → opensrc}/references/analysis-tips.md +0 -0
  70. /package/dist/template/.opencode/skill/{source-code-research → opensrc}/references/anti-patterns.md +0 -0
  71. /package/dist/template/.opencode/skill/{source-code-research → opensrc}/references/common-patterns.md +0 -0
  72. /package/dist/template/.opencode/skill/{source-code-research → opensrc}/references/example-workflow.md +0 -0
  73. /package/dist/template/.opencode/skill/{source-code-research → opensrc}/references/further-reading.md +0 -0
  74. /package/dist/template/.opencode/skill/{source-code-research → opensrc}/references/source-structure.md +0 -0
@@ -1,293 +0,0 @@
1
- ---
2
- name: source-code-research
3
- description: "Use when researching library implementation details beyond API docs. Fetches package source code using opensrc to understand internals, edge cases, and implementation patterns. Complements documentation-based research with actual code inspection."
4
- version: 1.0.0
5
- tags: [research, code-quality]
6
- dependencies: [opensrc]
7
- ---
8
-
9
- # Source Code Research - Deep Library Investigation
10
-
11
- Fetch and analyze package source code when documentation is insufficient.
12
-
13
- ## When to Use
14
-
15
- - Documentation gaps — API docs don't explain behavior clearly
16
- - Edge cases — need to understand how library handles corner cases
17
- - Implementation details — need to see actual code, not just interfaces
18
- - Debugging — library behaving unexpectedly, need to trace internals
19
- - Evaluation — deciding if library fits requirements, need to assess quality
20
- - Type definitions — TypeScript types exist but implementation unclear
21
-
22
- ## When NOT to Use
23
-
24
- - Official docs answer your question (check Context7 first)
25
- - You only need API syntax (codesearch is faster)
26
- - Library is too large to analyze in session (>50k LOC)
27
-
28
- ## Prerequisites
29
-
30
- OpenSrc must be available:
31
-
32
- ```bash
33
- npx opensrc --help
34
- ```
35
-
36
- If not installed, it will be fetched via npx automatically.
37
-
38
- ## Workflow
39
-
40
- ### Step 1: Identify What to Fetch
41
-
42
- Determine the minimal package/repo needed:
43
-
44
- ```typescript
45
- // If researching a specific npm package
46
- const target = "zod"; // Just the package name
47
-
48
- // If researching Python library
49
- const target = "pypi:requests";
50
-
51
- // If researching Rust crate
52
- const target = "crates:serde";
53
-
54
- // If researching GitHub repo directly
55
- const target = "vercel/ai"; // or "github:vercel/ai@v3.0.0"
56
- ```
57
-
58
- ### Step 2: Fetch Source Code
59
-
60
- Run opensrc to clone the repository:
61
-
62
- ```bash
63
- npx opensrc <package>
64
- ```
65
-
66
- **Examples:**
67
-
68
- ```bash
69
- npx opensrc zod # Fetch latest zod from npm
70
- npx opensrc zod@3.22.0 # Fetch specific version
71
- npx opensrc pypi:requests # Fetch Python package
72
- npx opensrc vercel/ai # Fetch GitHub repo
73
- npx opensrc vercel/ai@v3.0.0 # Fetch specific tag
74
- ```
75
-
76
- **What happens:**
77
-
78
- - Clones source to `opensrc/repos/<host>/<owner>/<repo>/`
79
- - Auto-detects version from lockfiles if no version specified
80
- - Updates `opensrc/sources.json` with metadata
81
- - Adds `opensrc/` to `.gitignore` automatically (asks once)
82
-
83
- ### Step 3: Locate Relevant Code
84
-
85
- Use search tools to find code you need:
86
-
87
- ```typescript
88
- // Find all TypeScript source files
89
- glob({ pattern: "opensrc/**/src/**/*.ts" });
90
-
91
- // Search for specific function/class
92
- grep({
93
- pattern: "class ValidationError",
94
- path: "opensrc/",
95
- include: "*.ts",
96
- });
97
-
98
- // Search for function pattern
99
- grep({
100
- pattern: "export function parse",
101
- path: "opensrc/",
102
- include: "*.ts",
103
- });
104
- ```
105
-
106
- ### Step 4: Read and Analyze
107
-
108
- Read the implementation:
109
-
110
- ```typescript
111
- // Read the file
112
- read({ filePath: "opensrc/repos/github.com/colinhacks/zod/src/types.ts" });
113
-
114
- // Use LSP for navigation (if available)
115
- lsp_lsp_goto_definition({
116
- filePath: "opensrc/.../file.ts",
117
- line: 42,
118
- character: 10,
119
- });
120
-
121
- // Find all references
122
- lsp_lsp_find_references({
123
- filePath: "opensrc/.../file.ts",
124
- line: 42,
125
- character: 10,
126
- });
127
- ```
128
-
129
- ### Step 5: Document Findings
130
-
131
- Write research findings to bead artifact:
132
-
133
- ````markdown
134
- # Research: [Library Name] Implementation
135
-
136
- **Package:** [name@version]
137
- **Source:** opensrc/repos/[path]
138
- **Focus:** [What you were investigating]
139
-
140
- ## Key Findings
141
-
142
- ### [Topic 1]: [Function/Pattern Name]
143
-
144
- **Location:** `opensrc/repos/.../file.ts:42`
145
-
146
- **Implementation:**
147
-
148
- ```typescript
149
- // Paste relevant code snippet
150
- ```
151
- ````
152
-
153
- **Insights:**
154
-
155
- - [What you learned]
156
- - [Edge cases discovered]
157
- - [Performance implications]
158
-
159
- **Confidence:** High (direct source code)
160
-
161
- ---
162
-
163
- ### [Topic 2]: [Another Discovery]
164
-
165
- [Same structure]
166
-
167
- ## Answers to Original Questions
168
-
169
- 1. **Q:** [Original question]
170
- **A:** [Answer based on source code]
171
- **Evidence:** `file.ts:123-145`
172
-
173
- 2. **Q:** [Another question]
174
- **A:** [Answer]
175
-
176
- ## Recommendations
177
-
178
- Based on source analysis:
179
-
180
- - [Recommendation 1]
181
- - [Recommendation 2]
182
-
183
- ## Caveats
184
-
185
- - Version analyzed: [version]
186
- - Code may have changed in newer versions
187
- - Private APIs discovered may change without notice
188
-
189
- ````
190
-
191
- ## Limitations
192
-
193
- ### When Source Code Won't Help
194
-
195
- - **Build-time transforms**: Source may differ from runtime (Babel, webpack)
196
- - **Native modules**: C/C++ code requires different analysis
197
- - **Minified code**: Some packages don't publish source
198
- - **Monorepos**: May need to navigate complex structure
199
-
200
- ### Alternatives
201
-
202
- If opensrc doesn't work:
203
-
204
- 1. **GitHub web interface**: Browse online at github.com/owner/repo
205
- 2. **npm unpacked**: `npm pack <package>` then extract
206
- 3. **node_modules**: If already installed, check `node_modules/<package>/`
207
- 4. **Source maps**: If debugging, browser DevTools may show original source
208
-
209
- ## Integration with Other Research Methods
210
-
211
- Source code research complements other tools:
212
-
213
- | Method | Best For | Source Code Adds |
214
- | -------------- | -------------------------- | ------------------------------ |
215
- | **Context7** | API docs, official guides | Implementation details |
216
- | **codesearch** | Usage patterns in the wild | Canonical implementation |
217
- | **grepsearch** | Real-world examples | How library itself works |
218
- | **Web search** | Tutorials, blog posts | Ground truth from source |
219
- | **Codebase** | Project-specific patterns | How dependencies actually work |
220
-
221
- **Recommended flow:**
222
-
223
- 1. Context7 - Check official docs
224
- 2. Codebase - Check existing usage
225
- 3. **Source code** - If still unclear, fetch source
226
- 4. codesearch/grepsearch - See how others use it
227
- 5. Web search - Last resort for context
228
-
229
- ## Cleanup
230
-
231
- After research is complete:
232
-
233
- ```bash
234
- # Remove specific package
235
- npx opensrc remove <package>
236
-
237
- # Remove all sources
238
- npx opensrc clean
239
-
240
- # Remove just npm packages
241
- npx opensrc clean --npm
242
-
243
- # Keep sources for documentation
244
- # (opensrc/ is gitignored, won't be committed)
245
- ```
246
-
247
- ## Success Criteria
248
-
249
- You've successfully used this skill when:
250
-
251
- - [ ] Fetched correct package/version source
252
- - [ ] Located relevant implementation code
253
- - [ ] Understood behavior from reading source
254
- - [ ] Documented findings with file:line references
255
- - [ ] Answered original research question with high confidence
256
- - [ ] Provided code evidence for claims
257
-
258
- ## Quick Reference
259
-
260
- ```bash
261
- # Fetch package source
262
- npx opensrc <package> # npm (auto-detect version)
263
- npx opensrc <package>@<version> # npm (specific version)
264
- npx opensrc pypi:<package> # Python
265
- npx opensrc crates:<package> # Rust
266
- npx opensrc <owner>/<repo> # GitHub
267
- npx opensrc <owner>/<repo>@<tag> # GitHub (specific tag)
268
-
269
- # List fetched sources
270
- npx opensrc list
271
- npx opensrc list --json
272
-
273
- # Remove sources
274
- npx opensrc remove <package>
275
- npx opensrc clean
276
- npx opensrc clean --npm --pypi --crates
277
-
278
- # Source location
279
- opensrc/repos/<host>/<owner>/<repo>/
280
-
281
- # Metadata
282
- opensrc/sources.json
283
- ```
284
-
285
- ## References
286
-
287
- - `references/common-patterns.md` - Error handling, tracing behavior, quality evaluation patterns
288
- - `references/source-structure.md` - npm/PyPI/Rust source layouts
289
- - `references/analysis-tips.md` - Tests, examples, changelog, types, blame
290
- - `references/example-workflow.md` - Full zod async refinement workflow
291
- - `references/anti-patterns.md` - What not to do when researching
292
- - `references/further-reading.md` - External links
293
- ````
@@ -1,9 +0,0 @@
1
- ---
2
- description: "Merged into design-system-audit. Load that skill instead."
3
- ---
4
-
5
- # UI/UX Research
6
-
7
- > This skill has been merged into `design-system-audit` which now covers UI pattern analysis, design token auditing, and visual comparison.
8
- >
9
- > Load `design-system-audit` instead.
@@ -1,117 +0,0 @@
1
- ---
2
- name: using-skills
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
- version: 1.0.0
5
- tags: [workflow, context]
6
- dependencies: []
7
- ---
8
-
9
- <EXTREMELY-IMPORTANT>
10
- If you think there is even a 1% chance a skill might apply to what you are doing, you ABSOLUTELY MUST read the skill.
11
-
12
- IF A SKILL APPLIES TO YOUR TASK, YOU DO NOT HAVE A CHOICE. YOU MUST USE IT.
13
-
14
- This is not negotiable. This is not optional. You cannot rationalize your way out of this.
15
- </EXTREMELY-IMPORTANT>
16
-
17
- # Getting Started with Skills
18
-
19
- ## When to Use
20
-
21
- - At the start of any conversation or task to determine applicable skills
22
- - Whenever you are about to act and need to check for mandatory workflows
23
-
24
- ## When NOT to Use
25
-
26
- - After you already loaded the correct skill and are executing it
27
- - For a task that explicitly says to follow a different skill workflow
28
-
29
- ## MANDATORY FIRST RESPONSE PROTOCOL
30
-
31
- Before responding to ANY user message, you MUST complete this checklist:
32
-
33
- 1. ☐ List available skills in your mind
34
- 2. ☐ Ask yourself: "Does ANY skill match this request?"
35
- 3. ☐ If yes → Use the Skill tool to read and run the skill file
36
- 4. ☐ Announce which skill you're using
37
- 5. ☐ Follow the skill exactly
38
-
39
- **Responding WITHOUT completing this checklist = automatic failure.**
40
-
41
- ## Critical Rules
42
-
43
- 1. **Follow mandatory workflows.** Brainstorming before coding. Check for relevant skills before ANY task.
44
-
45
- 2. Execute skills with the Skill tool
46
-
47
- ## Common Rationalizations That Mean You're About To Fail
48
-
49
- If you catch yourself thinking ANY of these thoughts, STOP. You are rationalizing. Check for and use the skill.
50
-
51
- - "This is just a simple question" → WRONG. Questions are tasks. Check for skills.
52
- - "I can check git/files quickly" → WRONG. Files don't have conversation context. Check for skills.
53
- - "Let me gather information first" → WRONG. Skills tell you HOW to gather information. Check for skills.
54
- - "This doesn't need a formal skill" → WRONG. If a skill exists for it, use it.
55
- - "I remember this skill" → WRONG. Skills evolve. Run the current version.
56
- - "This doesn't count as a task" → WRONG. If you're taking action, it's a task. Check for skills.
57
- - "The skill is overkill for this" → WRONG. Skills exist because simple things become complex. Use it.
58
- - "I'll just do this one thing first" → WRONG. Check for skills BEFORE doing anything.
59
-
60
- **Why:** Skills document proven techniques that save time and prevent mistakes. Not using available skills means repeating solved problems and making known errors.
61
-
62
- If a skill for your task exists, you must use it or you will fail at your task.
63
-
64
- ## Skills with Checklists
65
-
66
- If a skill has a checklist, YOU MUST create TodoWrite todos for EACH item.
67
-
68
- **Don't:**
69
-
70
- - Work through checklist mentally
71
- - Skip creating todos "to save time"
72
- - Batch multiple items into one todo
73
- - Mark complete without doing them
74
-
75
- **Why:** Checklists without TodoWrite tracking = steps get skipped. Every time. The overhead of TodoWrite is tiny compared to the cost of missing steps.
76
-
77
- ## Announcing Skill Usage
78
-
79
- Before using a skill, announce that you are using it.
80
- "I'm using [Skill Name] to [what you're doing]."
81
-
82
- **Examples:**
83
-
84
- - "I'm using the brainstorming skill to refine your idea into a design."
85
- - "I'm using the test-driven-development skill to implement this feature."
86
-
87
- **Why:** Transparency helps your human partner understand your process and catch errors early. It also confirms you actually read the skill.
88
-
89
- # About these skills
90
-
91
- **Many skills contain rigid rules (TDD, debugging, verification).** Follow them exactly. Don't adapt away the discipline.
92
-
93
- **Some skills are flexible patterns (architecture, naming).** Adapt core principles to your context.
94
-
95
- The skill itself tells you which type it is.
96
-
97
- ## Instructions ≠ Permission to Skip Workflows
98
-
99
- Your human partner's specific instructions describe WHAT to do, not HOW.
100
-
101
- "Add X", "Fix Y" = the goal, NOT permission to skip brainstorming, TDD, or RED-GREEN-REFACTOR.
102
-
103
- **Red flags:** "Instruction was specific" • "Seems simple" • "Workflow is overkill"
104
-
105
- **Why:** Specific instructions mean clear requirements, which is when workflows matter MOST. Skipping process on "simple" tasks is how simple tasks become complex problems.
106
-
107
- ## Summary
108
-
109
- **Starting any task:**
110
-
111
- 1. If relevant skill exists → Use the skill
112
- 2. Announce you're using it
113
- 3. Follow what it says
114
-
115
- **Skill has checklist?** TodoWrite for every item.
116
-
117
- **Finding a relevant skill = mandatory to read and use it. Not optional.**