@fro.bot/systematic 1.22.7 โ†’ 1.23.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 (40) hide show
  1. package/package.json +1 -1
  2. package/skills/agent-browser/SKILL.md +511 -170
  3. package/skills/agent-browser/references/authentication.md +303 -0
  4. package/skills/agent-browser/references/commands.md +266 -0
  5. package/skills/agent-browser/references/profiling.md +120 -0
  6. package/skills/agent-browser/references/proxy-support.md +194 -0
  7. package/skills/agent-browser/references/session-management.md +193 -0
  8. package/skills/agent-browser/references/snapshot-refs.md +194 -0
  9. package/skills/agent-browser/references/video-recording.md +173 -0
  10. package/skills/agent-browser/templates/authenticated-session.sh +105 -0
  11. package/skills/agent-browser/templates/capture-workflow.sh +69 -0
  12. package/skills/agent-browser/templates/form-automation.sh +62 -0
  13. package/skills/agent-native-audit/SKILL.md +279 -0
  14. package/skills/ce-brainstorm/SKILL.md +146 -0
  15. package/skills/ce-compound/SKILL.md +317 -0
  16. package/skills/ce-plan/SKILL.md +642 -0
  17. package/skills/ce-review/SKILL.md +559 -0
  18. package/skills/ce-work/SKILL.md +471 -0
  19. package/skills/changelog/SKILL.md +139 -0
  20. package/skills/create-agent-skill/SKILL.md +10 -0
  21. package/skills/create-agent-skills/SKILL.md +3 -14
  22. package/skills/deepen-plan/SKILL.md +545 -0
  23. package/skills/deploy-docs/SKILL.md +113 -0
  24. package/skills/feature-video/SKILL.md +352 -0
  25. package/skills/generate_command/SKILL.md +163 -0
  26. package/skills/heal-skill/SKILL.md +148 -0
  27. package/skills/lfg/SKILL.md +34 -0
  28. package/skills/report-bug/SKILL.md +151 -0
  29. package/skills/reproduce-bug/SKILL.md +101 -0
  30. package/skills/resolve_parallel/SKILL.md +35 -0
  31. package/skills/resolve_todo_parallel/SKILL.md +38 -0
  32. package/skills/slfg/SKILL.md +33 -0
  33. package/skills/test-browser/SKILL.md +394 -0
  34. package/skills/test-xcode/SKILL.md +333 -0
  35. package/skills/triage/SKILL.md +312 -0
  36. package/skills/workflows-brainstorm/SKILL.md +11 -0
  37. package/skills/workflows-compound/SKILL.md +10 -0
  38. package/skills/workflows-plan/SKILL.md +10 -0
  39. package/skills/workflows-review/SKILL.md +10 -0
  40. package/skills/workflows-work/SKILL.md +10 -0
@@ -0,0 +1,471 @@
1
+ ---
2
+ name: ce:work
3
+ description: Execute work plans efficiently while maintaining quality and finishing features
4
+ argument-hint: '[plan file, specification, or todo file path]'
5
+ ---
6
+
7
+ # Work Plan Execution Command
8
+
9
+ Execute a work plan efficiently while maintaining quality and finishing features.
10
+
11
+ ## Introduction
12
+
13
+ This command takes a work document (plan, specification, or todo file) and executes it systematically. The focus is on **shipping complete features** by understanding requirements quickly, following existing patterns, and maintaining quality throughout.
14
+
15
+ ## Input Document
16
+
17
+ <input_document> #$ARGUMENTS </input_document>
18
+
19
+ ## Execution Workflow
20
+
21
+ ### Phase 1: Quick Start
22
+
23
+ 1. **Read Plan and Clarify**
24
+
25
+ - Read the work document completely
26
+ - Review any references or links provided in the plan
27
+ - If anything is unclear or ambiguous, ask clarifying questions now
28
+ - Get user approval to proceed
29
+ - **Do not skip this** - better to ask questions now than build the wrong thing
30
+
31
+ 2. **Setup Environment**
32
+
33
+ First, check the current branch:
34
+
35
+ ```bash
36
+ current_branch=$(git branch --show-current)
37
+ default_branch=$(git symbolic-ref refs/remotes/origin/HEAD 2>/dev/null | sed 's@^refs/remotes/origin/@@')
38
+
39
+ # Fallback if remote HEAD isn't set
40
+ if [ -z "$default_branch" ]; then
41
+ default_branch=$(git rev-parse --verify origin/main >/dev/null 2>&1 && echo "main" || echo "master")
42
+ fi
43
+ ```
44
+
45
+ **If already on a feature branch** (not the default branch):
46
+ - Ask: "Continue working on `[current_branch]`, or create a new branch?"
47
+ - If continuing, proceed to step 3
48
+ - If creating new, follow Option A or B below
49
+
50
+ **If on the default branch**, choose how to proceed:
51
+
52
+ **Option A: Create a new branch**
53
+ ```bash
54
+ git pull origin [default_branch]
55
+ git checkout -b feature-branch-name
56
+ ```
57
+ Use a meaningful name based on the work (e.g., `feat/user-authentication`, `fix/email-validation`).
58
+
59
+ **Option B: Use a worktree (recommended for parallel development)**
60
+ ```bash
61
+ skill: git-worktree
62
+ # The skill will create a new branch from the default branch in an isolated worktree
63
+ ```
64
+
65
+ **Option C: Continue on the default branch**
66
+ - Requires explicit user confirmation
67
+ - Only proceed after user explicitly says "yes, commit to [default_branch]"
68
+ - Never commit directly to the default branch without explicit permission
69
+
70
+ **Recommendation**: Use worktree if:
71
+ - You want to work on multiple features simultaneously
72
+ - You want to keep the default branch clean while experimenting
73
+ - You plan to switch between branches frequently
74
+
75
+ 3. **Create Todo List**
76
+ - Use todowrite to break plan into actionable tasks
77
+ - Include dependencies between tasks
78
+ - Prioritize based on what needs to be done first
79
+ - Include testing and quality check tasks
80
+ - Keep tasks specific and completable
81
+
82
+ ### Phase 2: Execute
83
+
84
+ 1. **Task Execution Loop**
85
+
86
+ For each task in priority order:
87
+
88
+ ```
89
+ while (tasks remain):
90
+ - Mark task as in_progress in todowrite
91
+ - Read any referenced files from the plan
92
+ - Look for similar patterns in codebase
93
+ - Implement following existing conventions
94
+ - Write tests for new functionality
95
+ - Run System-Wide Test Check (see below)
96
+ - Run tests after changes
97
+ - Mark task as completed in todowrite
98
+ - Mark off the corresponding checkbox in the plan file ([ ] โ†’ [x])
99
+ - Evaluate for incremental commit (see below)
100
+ ```
101
+
102
+ **System-Wide Test Check** โ€” Before marking a task done, pause and ask:
103
+
104
+ | Question | What to do |
105
+ |----------|------------|
106
+ | **What fires when this runs?** Callbacks, middleware, observers, event handlers โ€” trace two levels out from your change. | Read the actual code (not docs) for callbacks on models you touch, middleware in the request chain, `after_*` hooks. |
107
+ | **Do my tests exercise the real chain?** If every dependency is mocked, the test proves your logic works *in isolation* โ€” it says nothing about the interaction. | Write at least one integration test that uses real objects through the full callback/middleware chain. No mocks for the layers that interact. |
108
+ | **Can failure leave orphaned state?** If your code persists state (DB row, cache, file) before calling an external service, what happens when the service fails? Does retry create duplicates? | Trace the failure path with real objects. If state is created before the risky call, test that failure cleans up or that retry is idempotent. |
109
+ | **What other interfaces expose this?** Mixins, DSLs, alternative entry points (Agent vs Chat vs ChatMethods). | Grep for the method/behavior in related classes. If parity is needed, add it now โ€” not as a follow-up. |
110
+ | **Do error strategies align across layers?** Retry middleware + application fallback + framework error handling โ€” do they conflict or create double execution? | List the specific error classes at each layer. Verify your rescue list matches what the lower layer actually raises. |
111
+
112
+ **When to skip:** Leaf-node changes with no callbacks, no state persistence, no parallel interfaces. If the change is purely additive (new helper method, new view partial), the check takes 10 seconds and the answer is "nothing fires, skip."
113
+
114
+ **When this matters most:** Any change that touches models with callbacks, error handling with fallback/retry, or functionality exposed through multiple interfaces.
115
+
116
+ **IMPORTANT**: Always update the original plan document by checking off completed items. Use the edit tool to change `- [ ]` to `- [x]` for each task you finish. This keeps the plan as a living document showing progress and ensures no checkboxes are left unchecked.
117
+
118
+ 2. **Incremental Commits**
119
+
120
+ After completing each task, evaluate whether to create an incremental commit:
121
+
122
+ | Commit when... | Don't commit when... |
123
+ |----------------|---------------------|
124
+ | Logical unit complete (model, service, component) | Small part of a larger unit |
125
+ | Tests pass + meaningful progress | Tests failing |
126
+ | About to switch contexts (backend โ†’ frontend) | Purely scaffolding with no behavior |
127
+ | About to attempt risky/uncertain changes | Would need a "WIP" commit message |
128
+
129
+ **Heuristic:** "Can I write a commit message that describes a complete, valuable change? If yes, commit. If the message would be 'WIP' or 'partial X', wait."
130
+
131
+ **Commit workflow:**
132
+ ```bash
133
+ # 1. Verify tests pass (use project's test command)
134
+ # Examples: bin/rails test, npm test, pytest, go test, etc.
135
+
136
+ # 2. Stage only files related to this logical unit (not `git add .`)
137
+ git add <files related to this logical unit>
138
+
139
+ # 3. Commit with conventional message
140
+ git commit -m "feat(scope): description of this unit"
141
+ ```
142
+
143
+ **Handling merge conflicts:** If conflicts arise during rebasing or merging, resolve them immediately. Incremental commits make conflict resolution easier since each commit is small and focused.
144
+
145
+ **Note:** Incremental commits use clean conventional messages without attribution footers. The final Phase 4 commit/PR includes the full attribution.
146
+
147
+ 3. **Follow Existing Patterns**
148
+
149
+ - The plan should reference similar code - read those files first
150
+ - Match naming conventions exactly
151
+ - Reuse existing components where possible
152
+ - Follow project coding standards (see AGENTS.md)
153
+ - When in doubt, grep for similar implementations
154
+
155
+ 4. **Test Continuously**
156
+
157
+ - Run relevant tests after each significant change
158
+ - Don't wait until the end to test
159
+ - Fix failures immediately
160
+ - Add new tests for new functionality
161
+ - **Unit tests with mocks prove logic in isolation. Integration tests with real objects prove the layers work together.** If your change touches callbacks, middleware, or error handling โ€” you need both.
162
+
163
+ 5. **Figma Design Sync** (if applicable)
164
+
165
+ For UI work with Figma designs:
166
+
167
+ - Implement components following design specs
168
+ - Use figma-design-sync agent iteratively to compare
169
+ - Fix visual differences identified
170
+ - Repeat until implementation matches design
171
+
172
+ 6. **Track Progress**
173
+ - Keep todowrite updated as you complete tasks
174
+ - Note any blockers or unexpected discoveries
175
+ - Create new tasks if scope expands
176
+ - Keep user informed of major milestones
177
+
178
+ ### Phase 3: Quality Check
179
+
180
+ 1. **Run Core Quality Checks**
181
+
182
+ Always run before submitting:
183
+
184
+ ```bash
185
+ # Run full test suite (use project's test command)
186
+ # Examples: bin/rails test, npm test, pytest, go test, etc.
187
+
188
+ # Run linting (per AGENTS.md)
189
+ # Use linting-agent before pushing to origin
190
+ ```
191
+
192
+ 2. **Consider Reviewer Agents** (Optional)
193
+
194
+ Use for complex, risky, or large changes. Read agents from `compound-engineering.local.md` frontmatter (`review_agents`). If no settings file, invoke the `setup` skill to create one.
195
+
196
+ Run configured agents in parallel with task tool. Present findings and address critical issues.
197
+
198
+ 3. **Final Validation**
199
+ - All todowrite tasks marked completed
200
+ - All tests pass
201
+ - Linting passes
202
+ - Code follows existing patterns
203
+ - Figma designs match (if applicable)
204
+ - No console errors or warnings
205
+
206
+ 4. **Prepare Operational Validation Plan** (REQUIRED)
207
+ - Add a `## Post-Deploy Monitoring & Validation` section to the PR description for every change.
208
+ - Include concrete:
209
+ - Log queries/search terms
210
+ - Metrics or dashboards to watch
211
+ - Expected healthy signals
212
+ - Failure signals and rollback/mitigation trigger
213
+ - Validation window and owner
214
+ - If there is truly no production/runtime impact, still include the section with: `No additional operational monitoring required` and a one-line reason.
215
+
216
+ ### Phase 4: Ship It
217
+
218
+ 1. **Create Commit**
219
+
220
+ ```bash
221
+ git add .
222
+ git status # Review what's being committed
223
+ git diff --staged # Check the changes
224
+
225
+ # Commit with conventional format
226
+ git commit -m "$(cat <<'EOF'
227
+ feat(scope): description of what and why
228
+
229
+ Brief explanation if needed.
230
+
231
+ ๐Ÿค– Generated with [OpenCode](https://claude.com/claude-code)
232
+
233
+ Co-Authored-By: Claude <noreply@anthropic.com>
234
+ EOF
235
+ )"
236
+ ```
237
+
238
+ 2. **Capture and Upload Screenshots for UI Changes** (REQUIRED for any UI work)
239
+
240
+ For **any** design changes, new views, or UI modifications, you MUST capture and upload screenshots:
241
+
242
+ **Step 1: Start dev server** (if not running)
243
+ ```bash
244
+ bin/dev # Run in background
245
+ ```
246
+
247
+ **Step 2: Capture screenshots with agent-browser CLI**
248
+ ```bash
249
+ agent-browser open http://localhost:3000/[route]
250
+ agent-browser snapshot -i
251
+ agent-browser screenshot output.png
252
+ ```
253
+ See the `agent-browser` skill for detailed usage.
254
+
255
+ **Step 3: Upload using imgup skill**
256
+ ```bash
257
+ skill: imgup
258
+ # Then upload each screenshot:
259
+ imgup -h pixhost screenshot.png # pixhost works without API key
260
+ # Alternative hosts: catbox, imagebin, beeimg
261
+ ```
262
+
263
+ **What to capture:**
264
+ - **New screens**: Screenshot of the new UI
265
+ - **Modified screens**: Before AND after screenshots
266
+ - **Design implementation**: Screenshot showing Figma design match
267
+
268
+ **IMPORTANT**: Always include uploaded image URLs in PR description. This provides visual context for reviewers and documents the change.
269
+
270
+ 3. **Create Pull Request**
271
+
272
+ ```bash
273
+ git push -u origin feature-branch-name
274
+
275
+ gh pr create --title "Feature: [Description]" --body "$(cat <<'EOF'
276
+ ## Summary
277
+ - What was built
278
+ - Why it was needed
279
+ - Key decisions made
280
+
281
+ ## Testing
282
+ - Tests added/modified
283
+ - Manual testing performed
284
+
285
+ ## Post-Deploy Monitoring & Validation
286
+ - **What to monitor/search**
287
+ - Logs:
288
+ - Metrics/Dashboards:
289
+ - **Validation checks (queries/commands)**
290
+ - `command or query here`
291
+ - **Expected healthy behavior**
292
+ - Expected signal(s)
293
+ - **Failure signal(s) / rollback trigger**
294
+ - Trigger + immediate action
295
+ - **Validation window & owner**
296
+ - Window:
297
+ - Owner:
298
+ - **If no operational impact**
299
+ - `No additional operational monitoring required: <reason>`
300
+
301
+ ## Before / After Screenshots
302
+ | Before | After |
303
+ |--------|-------|
304
+ | ![before](URL) | ![after](URL) |
305
+
306
+ ## Figma Design
307
+ [Link if applicable]
308
+
309
+ ---
310
+
311
+ [![Compound Engineered](https://img.shields.io/badge/Compound-Engineered-6366f1)](https://github.com/EveryInc/compound-engineering-plugin) ๐Ÿค– Generated with [OpenCode](https://claude.com/claude-code)
312
+ EOF
313
+ )"
314
+ ```
315
+
316
+ 4. **Update Plan Status**
317
+
318
+ If the input document has YAML frontmatter with a `status` field, update it to `completed`:
319
+ ```
320
+ status: active โ†’ status: completed
321
+ ```
322
+
323
+ 5. **Notify User**
324
+ - Summarize what was completed
325
+ - Link to PR
326
+ - Note any follow-up work needed
327
+ - Suggest next steps if applicable
328
+
329
+ ---
330
+
331
+ ## Swarm Mode (Optional)
332
+
333
+ For complex plans with multiple independent workstreams, enable swarm mode for parallel execution with coordinated agents.
334
+
335
+ ### When to Use Swarm Mode
336
+
337
+ | Use Swarm Mode when... | Use Standard Mode when... |
338
+ |------------------------|---------------------------|
339
+ | Plan has 5+ independent tasks | Plan is linear/sequential |
340
+ | Multiple specialists needed (review + test + implement) | Single-focus work |
341
+ | Want maximum parallelism | Simpler mental model preferred |
342
+ | Large feature with clear phases | Small feature or bug fix |
343
+
344
+ ### Enabling Swarm Mode
345
+
346
+ To trigger swarm execution, say:
347
+
348
+ > "Make a Task list and launch an army of agent swarm subagents to build the plan"
349
+
350
+ Or explicitly request: "Use swarm mode for this work"
351
+
352
+ ### Swarm Workflow
353
+
354
+ When swarm mode is enabled, the workflow changes:
355
+
356
+ 1. **Create Team**
357
+ ```
358
+ Teammate({ operation: "spawnTeam", team_name: "work-{timestamp}" })
359
+ ```
360
+
361
+ 2. **Create Task List with Dependencies**
362
+ - Parse plan into TaskCreate items
363
+ - Set up blockedBy relationships for sequential dependencies
364
+ - Independent tasks have no blockers (can run in parallel)
365
+
366
+ 3. **Spawn Specialized Teammates**
367
+ ```
368
+ task({
369
+ team_name: "work-{timestamp}",
370
+ name: "implementer",
371
+ subagent_type: "general-purpose",
372
+ prompt: "Claim implementation tasks, execute, mark complete",
373
+ run_in_background: true
374
+ })
375
+
376
+ task({
377
+ team_name: "work-{timestamp}",
378
+ name: "tester",
379
+ subagent_type: "general-purpose",
380
+ prompt: "Claim testing tasks, run tests, mark complete",
381
+ run_in_background: true
382
+ })
383
+ ```
384
+
385
+ 4. **Coordinate and Monitor**
386
+ - Team lead monitors task completion
387
+ - Spawn additional workers as phases unblock
388
+ - Handle plan approval if required
389
+
390
+ 5. **Cleanup**
391
+ ```
392
+ Teammate({ operation: "requestShutdown", target_agent_id: "implementer" })
393
+ Teammate({ operation: "requestShutdown", target_agent_id: "tester" })
394
+ Teammate({ operation: "cleanup" })
395
+ ```
396
+
397
+ See the `orchestrating-swarms` skill for detailed swarm patterns and best practices.
398
+
399
+ ---
400
+
401
+ ## Key Principles
402
+
403
+ ### Start Fast, Execute Faster
404
+
405
+ - Get clarification once at the start, then execute
406
+ - Don't wait for perfect understanding - ask questions and move
407
+ - The goal is to **finish the feature**, not create perfect process
408
+
409
+ ### The Plan is Your Guide
410
+
411
+ - Work documents should reference similar code and patterns
412
+ - Load those references and follow them
413
+ - Don't reinvent - match what exists
414
+
415
+ ### Test As You Go
416
+
417
+ - Run tests after each change, not at the end
418
+ - Fix failures immediately
419
+ - Continuous testing prevents big surprises
420
+
421
+ ### Quality is Built In
422
+
423
+ - Follow existing patterns
424
+ - Write tests for new code
425
+ - Run linting before pushing
426
+ - Use reviewer agents for complex/risky changes only
427
+
428
+ ### Ship Complete Features
429
+
430
+ - Mark all tasks completed before moving on
431
+ - Don't leave features 80% done
432
+ - A finished feature that ships beats a perfect feature that doesn't
433
+
434
+ ## Quality Checklist
435
+
436
+ Before creating PR, verify:
437
+
438
+ - [ ] All clarifying questions asked and answered
439
+ - [ ] All todowrite tasks marked completed
440
+ - [ ] Tests pass (run project's test command)
441
+ - [ ] Linting passes (use linting-agent)
442
+ - [ ] Code follows existing patterns
443
+ - [ ] Figma designs match implementation (if applicable)
444
+ - [ ] Before/after screenshots captured and uploaded (for UI changes)
445
+ - [ ] Commit messages follow conventional format
446
+ - [ ] PR description includes Post-Deploy Monitoring & Validation section (or explicit no-impact rationale)
447
+ - [ ] PR description includes summary, testing notes, and screenshots
448
+ - [ ] PR description includes Compound Engineered badge
449
+
450
+ ## When to Use Reviewer Agents
451
+
452
+ **Don't use by default.** Use reviewer agents only when:
453
+
454
+ - Large refactor affecting many files (10+)
455
+ - Security-sensitive changes (authentication, permissions, data access)
456
+ - Performance-critical code paths
457
+ - Complex algorithms or business logic
458
+ - User explicitly requests thorough review
459
+
460
+ For most features: tests + linting + following patterns is sufficient.
461
+
462
+ ## Common Pitfalls to Avoid
463
+
464
+ - **Analysis paralysis** - Don't overthink, read the plan and execute
465
+ - **Skipping clarifying questions** - Ask now, not after building wrong thing
466
+ - **Ignoring plan references** - The plan has links for a reason
467
+ - **Testing at the end** - Test continuously or suffer later
468
+ - **Forgetting todowrite** - Track progress or lose track of what's done
469
+ - **80% done syndrome** - Finish the feature, don't move on early
470
+ - **Over-reviewing simple changes** - Save reviewer agents for complex work
471
+
@@ -0,0 +1,139 @@
1
+ ---
2
+ name: changelog
3
+ description: Create engaging changelogs for recent merges to main branch
4
+ argument-hint: '[optional: daily|weekly, or time period in days]'
5
+ disable-model-invocation: true
6
+ ---
7
+
8
+ You are a witty and enthusiastic product marketer tasked with creating a fun, engaging change log for an internal development team. Your goal is to summarize the latest merges to the main branch, highlighting new features, bug fixes, and giving credit to the hard-working developers.
9
+
10
+ ## Time Period
11
+
12
+ - For daily changelogs: Look at PRs merged in the last 24 hours
13
+ - For weekly summaries: Look at PRs merged in the last 7 days
14
+ - Always specify the time period in the title (e.g., "Daily" vs "Weekly")
15
+ - Default: Get the latest changes from the last day from the main branch of the repository
16
+
17
+ ## PR Analysis
18
+
19
+ Analyze the provided GitHub changes and related issues. Look for:
20
+
21
+ 1. New features that have been added
22
+ 2. Bug fixes that have been implemented
23
+ 3. Any other significant changes or improvements
24
+ 4. References to specific issues and their details
25
+ 5. Names of contributors who made the changes
26
+ 6. Use gh cli to lookup the PRs as well and the description of the PRs
27
+ 7. Check PR labels to identify feature type (feature, bug, chore, etc.)
28
+ 8. Look for breaking changes and highlight them prominently
29
+ 9. Include PR numbers for traceability
30
+ 10. Check if PRs are linked to issues and include issue context
31
+
32
+ ## Content Priorities
33
+
34
+ 1. Breaking changes (if any) - MUST be at the top
35
+ 2. User-facing features
36
+ 3. Critical bug fixes
37
+ 4. Performance improvements
38
+ 5. Developer experience improvements
39
+ 6. Documentation updates
40
+
41
+ ## Formatting Guidelines
42
+
43
+ Now, create a change log summary with the following guidelines:
44
+
45
+ 1. Keep it concise and to the point
46
+ 2. Highlight the most important changes first
47
+ 3. Group similar changes together (e.g., all new features, all bug fixes)
48
+ 4. Include issue references where applicable
49
+ 5. Mention the names of contributors, giving them credit for their work
50
+ 6. Add a touch of humor or playfulness to make it engaging
51
+ 7. Use emojis sparingly to add visual interest
52
+ 8. Keep total message under 2000 characters for Discord
53
+ 9. Use consistent emoji for each section
54
+ 10. Format code/technical terms in backticks
55
+ 11. Include PR numbers in parentheses (e.g., "Fixed login bug (#123)")
56
+
57
+ ## Deployment Notes
58
+
59
+ When relevant, include:
60
+
61
+ - Database migrations required
62
+ - Environment variable updates needed
63
+ - Manual intervention steps post-deploy
64
+ - Dependencies that need updating
65
+
66
+ Your final output should be formatted as follows:
67
+
68
+ <change_log>
69
+
70
+ # ๐Ÿš€ [Daily/Weekly] Change Log: [Current Date]
71
+
72
+ ## ๐Ÿšจ Breaking Changes (if any)
73
+
74
+ [List any breaking changes that require immediate attention]
75
+
76
+ ## ๐ŸŒŸ New Features
77
+
78
+ [List new features here with PR numbers]
79
+
80
+ ## ๐Ÿ› Bug Fixes
81
+
82
+ [List bug fixes here with PR numbers]
83
+
84
+ ## ๐Ÿ› ๏ธ Other Improvements
85
+
86
+ [List other significant changes or improvements]
87
+
88
+ ## ๐Ÿ™Œ Shoutouts
89
+
90
+ [Mention contributors and their contributions]
91
+
92
+ ## ๐ŸŽ‰ Fun Fact of the Day
93
+
94
+ [Include a brief, work-related fun fact or joke]
95
+
96
+ </change_log>
97
+
98
+ ## Style Guide Review
99
+
100
+ Now review the changelog using the EVERY_WRITE_STYLE.md file and go one by one to make sure you are following the style guide. Use multiple agents, run in parallel to make it faster.
101
+
102
+ Remember, your final output should only include the content within the <change_log> tags. Do not include any of your thought process or the original data in the output.
103
+
104
+ ## Discord Posting (Optional)
105
+
106
+ You can post changelogs to Discord by adding your own webhook URL:
107
+
108
+ ```
109
+ # Set your Discord webhook URL
110
+ DISCORD_WEBHOOK_URL="https://discord.com/api/webhooks/YOUR_WEBHOOK_ID/YOUR_WEBHOOK_TOKEN"
111
+
112
+ # Post using curl
113
+ curl -H "Content-Type: application/json" \
114
+ -d "{\"content\": \"{{CHANGELOG}}\"}" \
115
+ $DISCORD_WEBHOOK_URL
116
+ ```
117
+
118
+ To get a webhook URL, go to your Discord server โ†’ Server Settings โ†’ Integrations โ†’ Webhooks โ†’ New Webhook.
119
+
120
+ ## Error Handling
121
+
122
+ - If no changes in the time period, post a "quiet day" message: "๐ŸŒค๏ธ Quiet day! No new changes merged."
123
+ - If unable to fetch PR details, list the PR numbers for manual review
124
+ - Always validate message length before posting to Discord (max 2000 chars)
125
+
126
+ ## Schedule Recommendations
127
+
128
+ - Run daily at 6 AM NY time for previous day's changes
129
+ - Run weekly summary on Mondays for the previous week
130
+ - Special runs after major releases or deployments
131
+
132
+ ## Audience Considerations
133
+
134
+ Adjust the tone and detail level based on the channel:
135
+
136
+ - **Dev team channels**: Include technical details, performance metrics, code snippets
137
+ - **Product team channels**: Focus on user-facing changes and business impact
138
+ - **Leadership channels**: Highlight progress on key initiatives and blockers
139
+
@@ -0,0 +1,10 @@
1
+ ---
2
+ name: create-agent-skill
3
+ description: Create or edit OpenCode skills with expert guidance on structure and best practices
4
+ allowed-tools: systematic_skill(create-agent-skills)
5
+ argument-hint: '[skill description or requirements]'
6
+ disable-model-invocation: true
7
+ ---
8
+
9
+ Invoke the create-agent-skills skill for: $ARGUMENTS
10
+
@@ -97,22 +97,11 @@ Access individual args: `$ARGUMENTS[0]` or shorthand `$0`, `$1`, `$2`.
97
97
 
98
98
  ### Dynamic Context Injection
99
99
 
100
- The `` !`command` `` syntax runs shell commands before content is sent to Claude:
100
+ Skills support dynamic context injection: prefix a backtick-wrapped shell command with an exclamation mark, and the preprocessor executes it at load time, replacing the directive with stdout. Write an exclamation mark immediately before the opening backtick of the command you want executed (for example, to inject the current git branch, write the exclamation mark followed by `git branch --show-current` wrapped in backticks).
101
101
 
102
- ```yaml
103
- ---
104
- name: pr-summary
105
- description: Summarize changes in a pull request
106
- context: fork
107
- agent: Explore
108
- ---
109
-
110
- ## Context
111
- - PR diff: !`gh pr diff`
112
- - Changed files: !`gh pr diff --name-only`
102
+ **Important:** The preprocessor scans the entire SKILL.md as plain text โ€” it does not parse markdown. Directives inside fenced code blocks or inline code spans are still executed. If a skill documents this syntax with literal examples, the preprocessor will attempt to run them, causing load failures. To safely document this feature, describe it in prose (as done here) or place examples in a reference file, which is loaded on-demand by Claude and not preprocessed.
113
103
 
114
- Summarize this pull request...
115
- ```
104
+ For a concrete example of dynamic context injection in a skill, see [official-spec.md](references/official-spec.md) ยง "Dynamic Context Injection".
116
105
 
117
106
  ### Running in a Subagent
118
107