opencodekit 0.15.1 → 0.15.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.
Files changed (54) hide show
  1. package/dist/index.js +1 -1
  2. package/dist/template/.opencode/README.md +1 -1
  3. package/dist/template/.opencode/agent/scout.md +159 -3
  4. package/dist/template/.opencode/agent/vision.md +4 -4
  5. package/dist/template/.opencode/command/agent-browser.md +21 -0
  6. package/dist/template/.opencode/command/complete-next-task.md +77 -0
  7. package/dist/template/.opencode/command/create.md +38 -3
  8. package/dist/template/.opencode/command/design-audit.md +1 -1
  9. package/dist/template/.opencode/command/design.md +1 -1
  10. package/dist/template/.opencode/command/finish.md +8 -0
  11. package/dist/template/.opencode/command/frontend-design.md +21 -0
  12. package/dist/template/.opencode/command/index-knowledge.md +25 -0
  13. package/dist/template/.opencode/command/init.md +6 -0
  14. package/dist/template/.opencode/command/opensrc.md +58 -0
  15. package/dist/template/.opencode/command/skill-create.md +3 -3
  16. package/dist/template/.opencode/command/skill-optimize.md +2 -2
  17. package/dist/template/.opencode/command/start.md +15 -6
  18. package/dist/template/.opencode/command/ui-review.md +1 -1
  19. package/dist/template/.opencode/memory/_templates/prd.md +50 -14
  20. package/dist/template/.opencode/opencode.json +2 -1
  21. package/dist/template/.opencode/package.json +1 -1
  22. package/dist/template/.opencode/plans/1768385996691-silent-wizard.md +237 -0
  23. package/dist/template/.opencode/skill/accessibility-audit/SKILL.md +1 -1
  24. package/dist/template/.opencode/skill/agent-browser/SKILL.md +376 -0
  25. package/dist/template/.opencode/skill/design-system-audit/SKILL.md +1 -1
  26. package/dist/template/.opencode/skill/frontend-design/SKILL.md +155 -0
  27. package/dist/template/.opencode/skill/frontend-design/references/animation/motion-advanced.md +224 -0
  28. package/dist/template/.opencode/skill/frontend-design/references/animation/motion-core.md +171 -0
  29. package/dist/template/.opencode/skill/frontend-design/references/canvas/execution.md +90 -0
  30. package/dist/template/.opencode/skill/frontend-design/references/canvas/philosophy.md +94 -0
  31. package/dist/template/.opencode/skill/frontend-design/references/shadcn/accessibility.md +132 -0
  32. package/dist/template/.opencode/skill/frontend-design/references/shadcn/core-components.md +153 -0
  33. package/dist/template/.opencode/skill/frontend-design/references/shadcn/form-components.md +158 -0
  34. package/dist/template/.opencode/skill/frontend-design/references/shadcn/setup.md +69 -0
  35. package/dist/template/.opencode/skill/frontend-design/references/shadcn/theming.md +152 -0
  36. package/dist/template/.opencode/skill/frontend-design/references/tailwind/responsive.md +112 -0
  37. package/dist/template/.opencode/skill/frontend-design/references/tailwind/utilities-layout.md +134 -0
  38. package/dist/template/.opencode/skill/frontend-design/references/tailwind/utilities-styling.md +165 -0
  39. package/dist/template/.opencode/skill/frontend-design/references/tailwind/v4-config.md +147 -0
  40. package/dist/template/.opencode/skill/frontend-design/references/tailwind/v4-features.md +128 -0
  41. package/dist/template/.opencode/skill/index-knowledge/SKILL.md +358 -0
  42. package/dist/template/.opencode/skill/mockup-to-code/SKILL.md +1 -1
  43. package/dist/template/.opencode/skill/opensrc/SKILL.md +115 -0
  44. package/dist/template/.opencode/skill/opensrc/references/architecture.md +176 -0
  45. package/dist/template/.opencode/skill/opensrc/references/cli-usage.md +176 -0
  46. package/dist/template/.opencode/skill/opensrc/references/registry-support.md +137 -0
  47. package/dist/template/.opencode/skill/prd/SKILL.md +212 -0
  48. package/dist/template/.opencode/skill/prd-task/SKILL.md +128 -0
  49. package/dist/template/.opencode/skill/prd-task/references/prd-schema.json +28 -0
  50. package/dist/template/.opencode/skill/skill-creator/SKILL.md +155 -0
  51. package/dist/template/.opencode/skill/ui-ux-research/SKILL.md +1 -1
  52. package/dist/template/.opencode/skill/visual-analysis/SKILL.md +1 -1
  53. package/package.json +1 -1
  54. package/dist/template/.opencode/skill/frontend-aesthetics/SKILL.md +0 -117
package/dist/index.js CHANGED
@@ -750,7 +750,7 @@ var cac = (name = "") => new CAC(name);
750
750
  // package.json
751
751
  var package_default = {
752
752
  name: "opencodekit",
753
- version: "0.15.1",
753
+ version: "0.15.3",
754
754
  description: "CLI tool for bootstrapping and managing OpenCodeKit projects",
755
755
  keywords: ["agents", "cli", "mcp", "opencode", "opencodekit", "template"],
756
756
  license: "MIT",
@@ -119,7 +119,7 @@ GOOGLE_APPLICATION_CREDENTIALS=/path/to/key.json
119
119
 
120
120
  **Core:** brainstorming, writing-plans, executing-plans, verification-before-completion, using-superpowers, finishing-a-development-branch
121
121
  **Code:** requesting-code-review, receiving-code-review, root-cause-tracing, test-driven-development, testing-anti-patterns, condition-based-waiting, defense-in-depth, systematic-debugging
122
- **UI/UX:** frontend-aesthetics, mockup-to-code, visual-analysis, ui-ux-research, accessibility-audit, design-system-audit
122
+ **UI/UX:** frontend-design, mockup-to-code, visual-analysis, ui-ux-research, accessibility-audit, design-system-audit
123
123
  **Workflow:** gemini-large-context, subagent-driven-development, dispatching-parallel-agents, using-git-worktrees, sharing-skills, writing-skills, testing-skills-with-subagents
124
124
 
125
125
  **Note:** Skills load via native `skill()` tool. Commands auto-load relevant expertise.
@@ -44,6 +44,20 @@ Tool results and user messages may include `<system-reminder>` tags. These conta
44
44
 
45
45
  External research: library docs, GitHub patterns, framework analysis.
46
46
 
47
+ ## Memory First
48
+
49
+ Before hitting external APIs, check past research:
50
+
51
+ ```typescript
52
+ memory - search({ query: "<topic keywords>", limit: 3 });
53
+ ```
54
+
55
+ If memory returns high-confidence findings on this exact topic, synthesize and return without external calls. Only proceed to external sources if:
56
+
57
+ - No relevant memory found
58
+ - Memory findings are outdated or low-confidence
59
+ - Question requires fresher data
60
+
47
61
  ## Strengths
48
62
 
49
63
  - Official documentation lookup
@@ -85,6 +99,118 @@ Every code reference must include a GitHub permalink. Never link to a branch or
85
99
 
86
100
  To construct a permalink: use `gh_grep_searchGitHub` to find code, then build the URL from the repository and file path returned. Format: `https://github.com/owner/repo/blob/<sha>/path/to/file#L10-L20`.
87
101
 
102
+ ## Tool Priority (External Sources Only)
103
+
104
+ | Priority | Tool | Use Case | Speed |
105
+ | -------- | ------------- | -------------------------------------- | ------- |
106
+ | 1 | memory-search | Past research findings | Instant |
107
+ | 2 | context7 | Official library docs | Fast |
108
+ | 3 | codesearch | Usage patterns in real code | Fast |
109
+ | 4 | gh_grep | Cross-repo deep code search | Medium |
110
+ | 5 | webfetch | Specific doc URLs, READMEs, changelogs | Medium |
111
+ | 6 | opensrc + LSP | Clone & analyze source code | Slow |
112
+ | 7 | websearch | Tutorials, blog posts, recent news | Slow |
113
+
114
+ **Rule:** Exhaust faster tools before slower ones. Run tools in parallel when independent.
115
+
116
+ ## webfetch Usage
117
+
118
+ Use `webfetch` for specific external URLs when you have a known target:
119
+
120
+ ```typescript
121
+ // GitHub raw files
122
+ webfetch({
123
+ url: "https://raw.githubusercontent.com/owner/repo/main/README.md",
124
+ format: "markdown",
125
+ });
126
+
127
+ // Documentation pages
128
+ webfetch({ url: "https://zod.dev/docs/guides/async", format: "markdown" });
129
+
130
+ // Release notes
131
+ webfetch({ url: "https://github.com/colinhacks/zod/releases", format: "markdown" });
132
+
133
+ // API references
134
+ webfetch({ url: "https://docs.example.com/api/authentication", format: "markdown" });
135
+ ```
136
+
137
+ **When to use:**
138
+
139
+ - User provides a specific URL
140
+ - context7 returns a doc link worth fetching
141
+ - Need CHANGELOG or release notes
142
+ - GitHub README has details not in context7
143
+
144
+ ## Source Code Deep Dive
145
+
146
+ When documentation is insufficient, analyze actual source code.
147
+
148
+ ### Step 1: Load the Skill
149
+
150
+ ```typescript
151
+ skill({ name: "source-code-research" });
152
+ ```
153
+
154
+ ### Step 2: Clone the Package
155
+
156
+ ```bash
157
+ npx opensrc <package> # npm (auto-detects version)
158
+ npx opensrc <package>@<version> # specific version
159
+ npx opensrc pypi:<package> # Python
160
+ npx opensrc <owner>/<repo> # GitHub repo
161
+ ```
162
+
163
+ ### Step 3: Navigate with LSP
164
+
165
+ After cloning, source lands in `opensrc/repos/github.com/<owner>/<repo>/`. Use LSP:
166
+
167
+ ```typescript
168
+ // Get file structure
169
+ lsp({
170
+ operation: "documentSymbol",
171
+ filePath: "opensrc/repos/.../src/index.ts",
172
+ line: 1,
173
+ character: 1,
174
+ });
175
+
176
+ // Jump to definition
177
+ lsp({
178
+ operation: "goToDefinition",
179
+ filePath: "opensrc/repos/.../src/types.ts",
180
+ line: 42,
181
+ character: 10,
182
+ });
183
+
184
+ // Find all usages
185
+ lsp({
186
+ operation: "findReferences",
187
+ filePath: "opensrc/repos/.../src/core.ts",
188
+ line: 100,
189
+ character: 5,
190
+ });
191
+ ```
192
+
193
+ ### Step 4: Search Within Clone
194
+
195
+ ```typescript
196
+ // Find specific patterns
197
+ grep({ pattern: "async.*refine", path: "opensrc/", include: "*.ts" });
198
+
199
+ // Check tests for usage examples
200
+ glob({ pattern: "opensrc/**/test/**/*.ts" });
201
+ glob({ pattern: "opensrc/**/*.test.ts" });
202
+ ```
203
+
204
+ ### Step 5: Construct Permalinks
205
+
206
+ Build GitHub permalinks from cloned code:
207
+
208
+ ```
209
+ https://github.com/<owner>/<repo>/blob/<sha>/path/to/file.ts#L42-L56
210
+ ```
211
+
212
+ Get SHA from `opensrc/sources.json` or the cloned repo.
213
+
88
214
  ## Guidelines
89
215
 
90
216
  Cite sources with links. No emojis. Explain what the code does, why it's designed that way, and how to use it.
@@ -93,10 +219,40 @@ Compare implementations across repositories when doing deep research. Note which
93
219
 
94
220
  ## When Things Fail
95
221
 
96
- If context7 doesn't find the library, clone the repo directly and read the source plus README.
222
+ ### Fallback Chain
223
+
224
+ ```
225
+ context7 fails → try codesearch for patterns
226
+ codesearch empty → try gh_grep with broader query
227
+ gh_grep empty → webfetch specific doc URLs if known
228
+ still stuck → opensrc clone + LSP analysis
229
+ last resort → websearch for tutorials/blogs
230
+ ```
231
+
232
+ ### Specific Failures
233
+
234
+ **context7 doesn't find library:**
235
+
236
+ 1. Try `codesearch({ query: "<library> <function> example" })`
237
+ 2. Try `gh_grep_searchGitHub({ query: "import.*from.*<library>" })`
238
+ 3. Clone with `npx opensrc <library>` and read source
239
+
240
+ **gh_grep returns nothing:**
241
+
242
+ - Broaden query: search concepts, not exact function names
243
+ - Try different language filters
244
+ - Search for error messages or config patterns
245
+
246
+ **opensrc clone fails:**
247
+
248
+ - Check if package exists on npm/pypi/crates
249
+ - Try GitHub URL directly: `npx opensrc owner/repo`
250
+ - Fall back to `webfetch` on raw GitHub files
97
251
 
98
- If gh_grep returns nothing, broaden your query. Search for concepts instead of exact function names.
252
+ **API rate limits:**
99
253
 
100
- If you hit API rate limits, work from already-cloned repos in the temp directory.
254
+ - Work from already-cloned repos in `opensrc/`
255
+ - Use `memory-search` to find cached findings
256
+ - Reduce parallel calls, go sequential
101
257
 
102
258
  If you're uncertain, say so explicitly. Propose a hypothesis but flag it as unverified.
@@ -65,9 +65,9 @@ Comprehensive analysis with actionable recommendations.
65
65
  **Use when:** Design review, accessibility audit, system consistency check
66
66
  **Skills:** Combine multiple skills based on task:
67
67
 
68
- - **UI/UX Review**: Primary `ui-ux-research`, supporting `frontend-aesthetics`
68
+ - **UI/UX Review**: Primary `ui-ux-research`, supporting `frontend-design`
69
69
  - **Accessibility**: Primary `accessibility-audit`, supporting `visual-analysis`
70
- - **Design System**: Primary `design-system-audit`, supporting `frontend-aesthetics`
70
+ - **Design System**: Primary `design-system-audit`, supporting `frontend-design`
71
71
  - **Mockup Analysis**: Primary `mockup-to-code`, supporting `visual-analysis`
72
72
 
73
73
  ```
@@ -99,7 +99,7 @@ Load skill(s) → Systematic analysis → Structured findings → Recommendation
99
99
  - "Check accessibility" → `accessibility-audit`
100
100
  - "Audit our design system" → `design-system-audit`
101
101
  - "Convert this design to code" → `mockup-to-code`
102
- - "Is this too AI-looking?" → `frontend-aesthetics`
102
+ - "Is this too AI-looking?" → `frontend-design`
103
103
  - "Deep UI/UX analysis" → `ui-ux-research`
104
104
 
105
105
  ## Output Format
@@ -144,4 +144,4 @@ When reviewing designs, actively identify these AI-slop patterns:
144
144
  - Excessive rounded corners on everything
145
145
  - Glassmorphism without purpose
146
146
 
147
- **Alternative directions** are covered in `frontend-aesthetics` skill.
147
+ **Alternative directions** are covered in `frontend-design` skill.
@@ -0,0 +1,21 @@
1
+ ---
2
+ description: Automate browser tasks (scraping, form filling, web interaction)
3
+ argument-hint: "[what you want to do in the browser]"
4
+ agent: general
5
+ ---
6
+
7
+ # Agent Browser: $ARGUMENTS
8
+
9
+ Automate browser tasks using agent-browser CLI.
10
+
11
+ ## Load Skill
12
+
13
+ ```typescript
14
+ skill({ name: "agent-browser" });
15
+ ```
16
+
17
+ Then follow the skill instructions to help with browser automation.
18
+
19
+ <user-request>
20
+ $ARGUMENTS
21
+ </user-request>
@@ -0,0 +1,77 @@
1
+ ---
2
+ description: Complete the next incomplete PRD task for a bead
3
+ argument-hint: "<bead-id>"
4
+ agent: build
5
+ ---
6
+
7
+ # Complete Next Task: $ARGUMENTS
8
+
9
+ Complete one task from a bead PRD task list.
10
+
11
+ This command is **Beads-native**:
12
+
13
+ - PRD: `.beads/artifacts/<bead-id>/prd.md`
14
+ - Tasks: `.beads/artifacts/<bead-id>/prd.json`
15
+ - Progress: `.beads/artifacts/<bead-id>/progress.txt`
16
+
17
+ ## Preconditions
18
+
19
+ - A bead exists: `bd show $ARGUMENTS`
20
+ - PRD task list exists:
21
+
22
+ ```bash
23
+ ls ".beads/artifacts/$ARGUMENTS/prd.json"
24
+ ```
25
+
26
+ If missing:
27
+
28
+ - Create PRD: `.beads/artifacts/$ARGUMENTS/prd.md` (use `skill({ name: "prd" })`)
29
+ - Convert: `skill({ name: "prd-task" })`
30
+
31
+ ## Process
32
+
33
+ ### 1) Get Bearings
34
+
35
+ - Read `.beads/artifacts/$ARGUMENTS/progress.txt` (create if missing)
36
+ - Read `.beads/artifacts/$ARGUMENTS/prd.json`
37
+ - Pick the next task with `passes: false`
38
+
39
+ ### 2) Implement the Task
40
+
41
+ Implement only what’s needed to satisfy the verification steps.
42
+
43
+ ### 3) Run Feedback Loops (Required)
44
+
45
+ Run what applies to the repo:
46
+
47
+ - tests
48
+ - lint
49
+ - typecheck
50
+
51
+ Do not commit if any fail.
52
+
53
+ ### 4) Update PRD JSON
54
+
55
+ Set that task’s `passes` to `true`.
56
+
57
+ ### 5) Update Progress Log
58
+
59
+ Append a short entry to `.beads/artifacts/$ARGUMENTS/progress.txt`:
60
+
61
+ ```markdown
62
+ ## Task - <task.id>
63
+
64
+ - What was implemented
65
+ - Files changed
66
+ - Learnings / patterns
67
+ ```
68
+
69
+ ### 6) Commit (Ask First)
70
+
71
+ Show staged changes and ask user before committing.
72
+
73
+ ## Completion
74
+
75
+ If all tasks have `passes: true`, report that the PRD is complete and recommend:
76
+
77
+ - `/finish $ARGUMENTS`
@@ -60,7 +60,9 @@ bd create "[title]" -t epic -p 1
60
60
 
61
61
  ## Create Spec
62
62
 
63
- Write `.beads/artifacts/<bead-id>/spec.md`:
63
+ Write `.beads/artifacts/<bead-id>/spec.md`.
64
+
65
+ Treat `spec.md` as a **short task card** (one screen): goal + success criteria + constraints. Put the detailed plan and task breakdown in `prd.md`.
64
66
 
65
67
  ```markdown
66
68
  # [Title]
@@ -84,9 +86,16 @@ Write `.beads/artifacts/<bead-id>/spec.md`:
84
86
  **Must:** [required]
85
87
  **Never:** [forbidden]
86
88
 
89
+ ## PRD (Optional)
90
+
91
+ If this task has a PRD, keep details there:
92
+
93
+ - `.beads/artifacts/<bead-id>/prd.md`
94
+ - `.beads/artifacts/<bead-id>/prd.json` (generated)
95
+
87
96
  ## Notes
88
97
 
89
- [context if needed]
98
+ [only brief context here; details belong in prd.md]
90
99
  ```
91
100
 
92
101
  ## If Epic: Create Subtasks
@@ -104,6 +113,30 @@ Visualize:
104
113
 
105
114
  !`bd dep tree bd-[epic]`
106
115
 
116
+ ## Optional: Create a PRD (Recommended for features)
117
+
118
+ If the work is more than a small one-off change, create a PRD alongside the spec.
119
+
120
+ - Template: `.opencode/memory/_templates/prd.md`
121
+ - Output: `.beads/artifacts/<bead-id>/prd.md`
122
+
123
+ ```typescript
124
+ skill({ name: "prd" });
125
+ ```
126
+
127
+ Write the PRD so it includes a `## Tasks` section (each `### ... [category]` with `**Verification:**` bullets).
128
+
129
+ After PRD is written, convert it to executable tasks:
130
+
131
+ ```typescript
132
+ skill({ name: "prd-task" });
133
+ ```
134
+
135
+ This generates:
136
+
137
+ - `.beads/artifacts/<bead-id>/prd.json`
138
+ - `.beads/artifacts/<bead-id>/progress.txt`
139
+
107
140
  ## Sync
108
141
 
109
142
  ```bash
@@ -119,7 +152,9 @@ Type: [task/bug/feature/epic]
119
152
  Priority: [0-4]
120
153
  Spec: .beads/artifacts/bd-[id]/spec.md
121
154
 
122
- Next: /implement bd-[id]
155
+ Next:
156
+ - `/start bd-[id]` (recommended)
157
+ - or `/implement bd-[id]` (direct implementation)
123
158
  ```
124
159
 
125
160
  If epic with subtasks:
@@ -474,7 +474,7 @@ Save outputs to:
474
474
 
475
475
  | Need | Skill |
476
476
  | ---------------------- | --------------------- |
477
- | Aesthetic improvements | `frontend-aesthetics` |
477
+ | Aesthetic improvements | `frontend-design` |
478
478
  | Implement from mockup | `mockup-to-code` |
479
479
  | Accessibility audit | `accessibility-audit` |
480
480
  | Visual analysis | `visual-analysis` |
@@ -55,7 +55,7 @@ read({ filePath: "src/styles/globals.css" });
55
55
 
56
56
  ## Phase 2: Aesthetic Direction (DECISION GATE)
57
57
 
58
- skill({ name: "frontend-aesthetics" })
58
+ skill({ name: "frontend-design" })
59
59
 
60
60
  **BEFORE any design work, you MUST state:**
61
61
 
@@ -76,6 +76,14 @@ Read the spec and check each criterion:
76
76
 
77
77
  For each success criterion listed, run its verification. All must pass. If something's missing, go back and implement it.
78
78
 
79
+ ## If PRD Tasks Exist
80
+
81
+ If `.beads/artifacts/$ARGUMENTS/prd.json` exists:
82
+
83
+ - Ensure every task has `passes: true`
84
+ - If tasks remain incomplete, do NOT close the bead yet
85
+ - Continue with: `/complete-next-task $ARGUMENTS`
86
+
79
87
  ## Review Changes (Ask Before Commit)
80
88
 
81
89
  Show what would be committed:
@@ -0,0 +1,21 @@
1
+ ---
2
+ description: Create distinctive, production-grade frontend interfaces
3
+ argument-hint: "[component/page description]"
4
+ agent: build
5
+ ---
6
+
7
+ # Frontend Design: $ARGUMENTS
8
+
9
+ Create UI components, pages, or applications with React, Tailwind CSS v4, shadcn/ui, and Motion.
10
+
11
+ ## Load Skill
12
+
13
+ ```typescript
14
+ skill({ name: "frontend-design" });
15
+ ```
16
+
17
+ Then follow the skill instructions to create the interface.
18
+
19
+ <user-request>
20
+ $ARGUMENTS
21
+ </user-request>
@@ -0,0 +1,25 @@
1
+ ---
2
+ description: Generate hierarchical AGENTS.md knowledge base
3
+ argument-hint: "[optional focus or notes]"
4
+ agent: plan
5
+ ---
6
+
7
+ # Index Knowledge: $ARGUMENTS
8
+
9
+ Generate or refresh hierarchical `AGENTS.md` files for this codebase.
10
+
11
+ ## Load Skill
12
+
13
+ ```typescript
14
+ skill({ name: "index-knowledge" });
15
+ ```
16
+
17
+ Then follow the skill workflow to:
18
+
19
+ - Analyze the repo structure
20
+ - Identify subsystem boundaries
21
+ - Generate/refresh `AGENTS.md` files (root + nested where appropriate)
22
+
23
+ <user-request>
24
+ $ARGUMENTS
25
+ </user-request>
@@ -140,6 +140,12 @@ Detected subsystems that may benefit from nested AGENTS.md:
140
140
  Create nested AGENTS.md files? (y/n)
141
141
  ```
142
142
 
143
+ ### Optional Follow-Up: Index Knowledge
144
+
145
+ If the repo is large or keeps changing (monorepos especially), generate/refresh hierarchical `AGENTS.md` using:
146
+
147
+ - `/index-knowledge`
148
+
143
149
  ## Phase 5: Populate Memory Files
144
150
 
145
151
  ### .opencode/memory/user.md
@@ -0,0 +1,58 @@
1
+ ---
2
+ description: Clone a repo and enhance with AGENTS.md knowledge base
3
+ ---
4
+
5
+ Clone a repository using opensrc and generate hierarchical AGENTS.md documentation.
6
+
7
+ ## Workflow
8
+
9
+ ### Step 1: Load opensrc skill
10
+
11
+ ```
12
+ skill({ name: 'opensrc' })
13
+ ```
14
+
15
+ ### Step 2: Clone the repository
16
+
17
+ ```bash
18
+ npx opensrc <repo>
19
+ ```
20
+
21
+ Where `<repo>` is extracted from the user request (supports `owner/repo`, `github:owner/repo`, full URL, etc.)
22
+
23
+ ### Step 3: Navigate to cloned repo
24
+
25
+ After clone completes, cd into the repo:
26
+
27
+ ```bash
28
+ cd opensrc/repos/github.com/<owner>/<repo>/
29
+ ```
30
+
31
+ Parse owner/repo from the input or from `opensrc/sources.json` after clone.
32
+
33
+ ### Step 4: Load index-knowledge skill
34
+
35
+ ```
36
+ skill({ name: 'index-knowledge' })
37
+ ```
38
+
39
+ Execute in **update mode** (default) - modify existing AGENTS.md + create new where warranted.
40
+
41
+ ### Step 5: Report completion
42
+
43
+ ```
44
+ === opensrc Complete ===
45
+
46
+ Repository: <owner>/<repo>
47
+ Location: opensrc/repos/github.com/<owner>/<repo>/
48
+
49
+ AGENTS.md files generated:
50
+ ✓ ./AGENTS.md (root)
51
+ ✓ ./src/... (if applicable)
52
+
53
+ The repository is now enhanced with agent context.
54
+ ```
55
+
56
+ <user-request>
57
+ $ARGUMENTS
58
+ </user-request>
@@ -19,13 +19,13 @@ Skills are process instructions that:
19
19
 
20
20
  ## Prerequisites
21
21
 
22
- Load the skill-writing skill first:
22
+ Load the skill-creator skill first:
23
23
 
24
24
  ```typescript
25
- skill({ name: "writing-skills" });
25
+ skill({ name: "skill-creator" });
26
26
  ```
27
27
 
28
- This provides the TDD framework for skill creation.
28
+ This provides the framework for skill creation.
29
29
 
30
30
  ## Phase 1: Define the Problem
31
31
 
@@ -10,10 +10,10 @@ Improve an existing skill to be more effective, concise, and resistant to agent
10
10
 
11
11
  ## Prerequisites
12
12
 
13
- Load the skill-writing methodology:
13
+ Load the skill-creator skill:
14
14
 
15
15
  ```typescript
16
- skill({ name: "writing-skills" });
16
+ skill({ name: "skill-creator" });
17
17
  ```
18
18
 
19
19
  ## Phase 1: Locate and Load Current Skill
@@ -206,6 +206,9 @@ Task({
206
206
  Look for:
207
207
 
208
208
  - `spec.md` - Requirements and constraints
209
+ - `prd.md` - PRD (optional, recommended for features)
210
+ - `prd.json` - PRD tasks (generated from prd.md)
211
+ - `progress.txt` - PRD execution progress (append-only)
209
212
  - `research.md` - Previous research
210
213
  - `plan.md` - Implementation plan
211
214
  - `handoffs/` - Previous session handoffs
@@ -250,6 +253,11 @@ memory -
250
253
 
251
254
  If memory search fails (Ollama not running), continue without it.
252
255
 
256
+ ## PRD Tasks (If Present)
257
+
258
+ - If `.beads/artifacts/$ARGUMENTS/prd.json` exists: next is `/complete-next-task $ARGUMENTS`.
259
+ - If `.beads/artifacts/$ARGUMENTS/prd.md` exists but `prd.json` does not: generate tasks with `prd-task` (see `/create` for the full PRD workflow).
260
+
253
261
  ## Determine Next Step
254
262
 
255
263
  Based on task type and what exists:
@@ -264,12 +272,13 @@ Based on task type and what exists:
264
272
 
265
273
  ### For Tasks/Subtasks (leaf work)
266
274
 
267
- | Artifacts Found | Next Command |
268
- | --------------------- | ----------------------- |
269
- | Nothing | `/research $ARGUMENTS` |
270
- | Only spec.md | `/plan $ARGUMENTS` |
271
- | spec.md + research.md | `/plan $ARGUMENTS` |
272
- | plan.md exists | `/implement $ARGUMENTS` |
275
+ | Artifacts Found | Next Command |
276
+ | --------------------- | -------------------------------- |
277
+ | Nothing | `/research $ARGUMENTS` |
278
+ | Only spec.md | `/plan $ARGUMENTS` |
279
+ | spec.md + research.md | `/plan $ARGUMENTS` |
280
+ | plan.md exists | `/implement $ARGUMENTS` |
281
+ | prd.json exists | `/complete-next-task $ARGUMENTS` |
273
282
 
274
283
  ## Output
275
284
 
@@ -17,7 +17,7 @@ skill({ name: "beads" }); // Session protocol
17
17
  ```
18
18
 
19
19
  ```typescript
20
- skill({ name: "frontend-aesthetics" });
20
+ skill({ name: "frontend-design" });
21
21
  skill({ name: "visual-analysis" });
22
22
  skill({ name: "accessibility-audit" });
23
23
  ```