@fro.bot/systematic 1.18.8 → 1.19.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 (69) hide show
  1. package/agents/docs/ankane-readme-writer.md +67 -0
  2. package/agents/review/julik-frontend-races-reviewer.md +223 -0
  3. package/agents/review/kieran-python-reviewer.md +135 -0
  4. package/agents/review/schema-drift-detector.md +156 -0
  5. package/agents/workflow/every-style-editor.md +66 -0
  6. package/commands/agent-native-audit.md +4 -2
  7. package/commands/changelog.md +139 -0
  8. package/commands/create-agent-skill.md +5 -2
  9. package/commands/deepen-plan.md +50 -20
  10. package/commands/deploy-docs.md +120 -0
  11. package/commands/feature-video.md +352 -0
  12. package/commands/generate_command.md +164 -0
  13. package/commands/heal-skill.md +149 -0
  14. package/commands/lfg.md +14 -8
  15. package/commands/report-bug.md +151 -0
  16. package/commands/reproduce-bug.md +100 -0
  17. package/commands/resolve_parallel.md +36 -0
  18. package/commands/resolve_todo_parallel.md +37 -0
  19. package/commands/slfg.md +33 -0
  20. package/commands/test-browser.md +340 -0
  21. package/commands/test-xcode.md +333 -0
  22. package/commands/triage.md +311 -0
  23. package/commands/workflows/brainstorm.md +6 -1
  24. package/commands/workflows/compound.md +16 -13
  25. package/commands/workflows/plan.md +49 -1
  26. package/commands/workflows/review.md +28 -24
  27. package/commands/workflows/work.md +60 -25
  28. package/package.json +1 -1
  29. package/skills/andrew-kane-gem-writer/SKILL.md +185 -0
  30. package/skills/andrew-kane-gem-writer/references/database-adapters.md +231 -0
  31. package/skills/andrew-kane-gem-writer/references/module-organization.md +121 -0
  32. package/skills/andrew-kane-gem-writer/references/rails-integration.md +183 -0
  33. package/skills/andrew-kane-gem-writer/references/resources.md +119 -0
  34. package/skills/andrew-kane-gem-writer/references/testing-patterns.md +261 -0
  35. package/skills/dhh-rails-style/SKILL.md +186 -0
  36. package/skills/dhh-rails-style/references/architecture.md +653 -0
  37. package/skills/dhh-rails-style/references/controllers.md +303 -0
  38. package/skills/dhh-rails-style/references/frontend.md +510 -0
  39. package/skills/dhh-rails-style/references/gems.md +266 -0
  40. package/skills/dhh-rails-style/references/models.md +359 -0
  41. package/skills/dhh-rails-style/references/testing.md +338 -0
  42. package/skills/dspy-ruby/SKILL.md +738 -0
  43. package/skills/dspy-ruby/assets/config-template.rb +187 -0
  44. package/skills/dspy-ruby/assets/module-template.rb +300 -0
  45. package/skills/dspy-ruby/assets/signature-template.rb +221 -0
  46. package/skills/dspy-ruby/references/core-concepts.md +674 -0
  47. package/skills/dspy-ruby/references/observability.md +366 -0
  48. package/skills/dspy-ruby/references/optimization.md +603 -0
  49. package/skills/dspy-ruby/references/providers.md +418 -0
  50. package/skills/dspy-ruby/references/toolsets.md +502 -0
  51. package/skills/every-style-editor/SKILL.md +135 -0
  52. package/skills/every-style-editor/references/EVERY_WRITE_STYLE.md +529 -0
  53. package/skills/gemini-imagegen/SKILL.md +238 -0
  54. package/skills/gemini-imagegen/requirements.txt +2 -0
  55. package/skills/gemini-imagegen/scripts/compose_images.py +157 -0
  56. package/skills/gemini-imagegen/scripts/edit_image.py +144 -0
  57. package/skills/gemini-imagegen/scripts/gemini_images.py +263 -0
  58. package/skills/gemini-imagegen/scripts/generate_image.py +133 -0
  59. package/skills/gemini-imagegen/scripts/multi_turn_chat.py +216 -0
  60. package/skills/rclone/SKILL.md +151 -0
  61. package/skills/rclone/scripts/check_setup.sh +60 -0
  62. package/skills/resolve-pr-parallel/SKILL.md +90 -0
  63. package/skills/resolve-pr-parallel/scripts/get-pr-comments +68 -0
  64. package/skills/resolve-pr-parallel/scripts/resolve-pr-thread +23 -0
  65. package/skills/setup/SKILL.md +168 -0
  66. package/skills/skill-creator/SKILL.md +211 -0
  67. package/skills/skill-creator/scripts/init_skill.py +303 -0
  68. package/skills/skill-creator/scripts/package_skill.py +110 -0
  69. package/skills/skill-creator/scripts/quick_validate.py +65 -0
@@ -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
+
@@ -1,8 +1,11 @@
1
1
  ---
2
2
  name: create-agent-skill
3
- description: Create or edit Claude Code skills with expert guidance on structure and best practices
3
+ description: Create or edit OpenCode skills with expert guidance on structure and best practices
4
4
  allowed-tools: Skill(create-agent-skills)
5
- argument-hint: [skill description or requirements]
5
+ argument-hint:
6
+ - skill description or requirements
7
+ disable-model-invocation: true
6
8
  ---
7
9
 
8
10
  Invoke the create-agent-skills skill for: $ARGUMENTS
11
+
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: deepen-plan
3
3
  description: Enhance a plan with parallel research agents for each section to add depth, best practices, and implementation details
4
- argument-hint: "[path to plan file]"
4
+ argument-hint: '[path to plan file]'
5
5
  ---
6
6
 
7
7
  # Deepen Plan - Power Enhancement Mode
@@ -67,14 +67,20 @@ Dynamically discover all available skills and match them to plan sections. Don't
67
67
  # 1. Project-local skills (highest priority - project-specific)
68
68
  ls .opencode/skills/
69
69
 
70
- # 2. User's global skills
71
- ls ~/.config/opencode/skills/
70
+ # 2. User's global skills (~/.opencode/)
71
+ ls ~/.opencode/skills/
72
72
 
73
- # 3. List bundled skills from systematic plugin
74
- systematic list skills
73
+ # 3. Systematic plugin skills (auto-registered)
74
+ # Use the systematic_skill tool to list/load; no filesystem traversal needed.
75
+
76
+ # 4. ALL other installed plugins - check every plugin for skills
77
+ find ~/.opencode/plugins/cache -type d -name "skills" 2>/dev/null
78
+
79
+ # 5. Also check installed_plugins.json for all plugin locations
80
+ cat ~/.opencode/plugins/installed_plugins.json
75
81
  ```
76
82
 
77
- **Important:** Check EVERY source. Use skills from ANY installed plugin that's relevant.
83
+ **Important:** Check EVERY source. Don't assume systematic is the only plugin. Use skills from ANY installed plugin that's relevant.
78
84
 
79
85
  **Step 2: For each discovered skill, read its SKILL.md to understand what it does**
80
86
 
@@ -125,11 +131,13 @@ The skill tells you what to do - follow it. Execute the skill completely."
125
131
 
126
132
  **Example spawns:**
127
133
  ```
128
- task: "Load the systematic:agent-native-architecture skill and apply it to: [agent/tool sections of plan]"
134
+ Task general-purpose: "Use the dhh-rails-style skill at ~/.opencode/plugins/.../dhh-rails-style. Read SKILL.md and apply it to: [Rails sections of plan]"
129
135
 
130
- task: "Load the systematic:brainstorming skill and apply it to: [sections needing design exploration]"
136
+ Task general-purpose: "Use the frontend-design skill at ~/.opencode/plugins/.../frontend-design. Read SKILL.md and apply it to: [UI sections of plan]"
131
137
 
132
- task: "Load the systematic:compound-docs skill and search for relevant documented solutions for: [plan topic]"
138
+ Task general-purpose: "Use the agent-native-architecture skill at ~/.opencode/plugins/.../agent-native-architecture. Read SKILL.md and apply it to: [agent/tool sections of plan]"
139
+
140
+ Task general-purpose: "Use the security-patterns skill at ~/.opencode/skills/security-patterns. Read SKILL.md and apply it to: [full plan]"
133
141
  ```
134
142
 
135
143
  **No limit on skill sub-agents. Spawn one for every skill that could possibly be relevant.**
@@ -168,6 +176,7 @@ find docs/solutions -name "*.md" -type f 2>/dev/null
168
176
 
169
177
  # If docs/solutions doesn't exist, check alternate locations:
170
178
  find .opencode/docs -name "*.md" -type f 2>/dev/null
179
+ find ~/.opencode/docs -name "*.md" -type f 2>/dev/null
171
180
  ```
172
181
 
173
182
  **Step 2: Read frontmatter of each learning to filter**
@@ -276,9 +285,13 @@ Return concrete, actionable recommendations."
276
285
 
277
286
  **Also use Context7 MCP for framework documentation:**
278
287
 
279
- For any technologies/frameworks mentioned in the plan, use Context7 (if available) to query library documentation for specific patterns and best practices.
288
+ For any technologies/frameworks mentioned in the plan, query Context7:
289
+ ```
290
+ context7__resolve-library-id: Find library ID for [framework]
291
+ context7__query-docs: Query documentation for specific patterns
292
+ ```
280
293
 
281
- **Use WebSearch for current best practices:**
294
+ **Use google_search for current best practices:**
282
295
 
283
296
  Search for recent (2024-2026) articles, blog posts, and documentation on topics in the plan.
284
297
 
@@ -294,17 +307,34 @@ Dynamically discover every available agent and run them ALL against the plan. Do
294
307
  # 1. Project-local agents (highest priority - project-specific)
295
308
  find .opencode/agents -name "*.md" 2>/dev/null
296
309
 
297
- # 2. User's global agents
298
- find ~/.config/opencode/agents -name "*.md" 2>/dev/null
310
+ # 2. User's global agents (~/.opencode/)
311
+ find ~/.opencode/agents -name "*.md" 2>/dev/null
312
+
313
+ # 3. Systematic plugin agents (auto-registered)
314
+ # Agents are available by name; no filesystem traversal needed.
315
+
316
+ # 4. ALL other installed plugins - check every plugin for agents
317
+ find ~/.opencode/plugins/cache -path "*/agents/*.md" 2>/dev/null
318
+
319
+ # 5. Check installed_plugins.json to find all plugin locations
320
+ cat ~/.opencode/plugins/installed_plugins.json
299
321
 
300
- # 3. List bundled agents from systematic plugin
301
- systematic list agents
322
+ # 6. For local plugins (isLocal: true), check their source directories
323
+ # Parse installed_plugins.json and find local plugin paths
302
324
  ```
303
325
 
304
326
  **Important:** Check EVERY source. Include agents from:
305
327
  - Project `.opencode/agents/`
306
- - User's `~/.config/opencode/agents/`
307
- - Systematic plugin bundled agents (review/, research/, design/ categories)
328
+ - User's `~/.opencode/agents/`
329
+ - Systematic plugin (but SKIP workflow/ agents - only use review/, research/, design/, docs/)
330
+ - ALL other installed plugins (agent-sdk-dev, frontend-design, etc.)
331
+ - Any local plugins
332
+
333
+ **For Systematic plugin specifically:**
334
+ - USE: `agents/review/*` (all reviewers)
335
+ - USE: `agents/research/*` (all researchers)
336
+ - USE: `agents/design/*` (design agents)
337
+ - USE: `agents/docs/*` (documentation agents)
308
338
  - SKIP: `agents/workflow/*` (these are workflow orchestrators, not reviewers)
309
339
 
310
340
  **Step 2: For each discovered agent, read its description**
@@ -322,7 +352,7 @@ Task [agent-name]: "Review this plan using your expertise. Apply all your checks
322
352
  **CRITICAL RULES:**
323
353
  - Do NOT filter agents by "relevance" - run them ALL
324
354
  - Do NOT skip agents because they "might not apply" - let them decide
325
- - Launch ALL agents in a SINGLE message with multiple Task tool calls
355
+ - Launch ALL agents in a SINGLE message with multiple task tool calls
326
356
  - 20, 30, 40 parallel agents is fine - use everything
327
357
  - Each agent may catch something others miss
328
358
  - The goal is MAXIMUM coverage, not efficiency
@@ -450,14 +480,14 @@ After writing the enhanced plan, use the **question tool** to present these opti
450
480
 
451
481
  **Options:**
452
482
  1. **View diff** - Show what was added/changed
453
- 2. **Run `/plan_review`** - Get feedback from reviewers on enhanced plan
483
+ 2. **Run `/technical_review`** - Get feedback from reviewers on enhanced plan
454
484
  3. **Start `/workflows:work`** - Begin implementing this enhanced plan
455
485
  4. **Deepen further** - Run another round of research on specific sections
456
486
  5. **Revert** - Restore original plan (if backup exists)
457
487
 
458
488
  Based on selection:
459
489
  - **View diff** → Run `git diff [plan_path]` or show before/after
460
- - **`/plan_review`** → Call the /plan_review command with the plan file path
490
+ - **`/technical_review`** → Call the /technical_review command with the plan file path
461
491
  - **`/workflows:work`** → Call the /workflows:work command with the plan file path
462
492
  - **Deepen further** → Ask which sections need more research, then re-run those agents
463
493
  - **Revert** → Restore from git or backup
@@ -0,0 +1,120 @@
1
+ ---
2
+ name: deploy-docs
3
+ description: Validate and prepare Systematic documentation for GitHub Pages deployment
4
+ disable-model-invocation: true
5
+ ---
6
+
7
+ # Deploy Documentation Command
8
+
9
+ Validate the Systematic Starlight/Astro documentation site and prepare it for GitHub Pages deployment.
10
+
11
+ ## Step 1: Validate Documentation
12
+
13
+ Run these checks:
14
+
15
+ ```bash
16
+ # Count bundled assets
17
+ echo "Agents: $(ls agents/*/*.md | wc -l)"
18
+ echo "Commands: $(ls commands/*.md commands/workflows/*.md | wc -l)"
19
+ echo "Skills: $(ls -d skills/*/ 2>/dev/null | wc -l)"
20
+
21
+ # Verify CLI listings (review output for expected entries)
22
+ bun src/cli.ts list agents
23
+ bun src/cli.ts list skills
24
+ bun src/cli.ts list commands
25
+
26
+ # Build docs (runs docs:generate + Astro build)
27
+ bun run docs:build
28
+
29
+ # Check Astro output
30
+ test -f docs/dist/index.html && echo "✓ docs/dist/index.html present"
31
+ ```
32
+
33
+ ## Step 2: Check for Uncommitted Changes
34
+
35
+ ```bash
36
+ git status --porcelain docs/
37
+ ```
38
+
39
+ If there are uncommitted changes, warn the user to commit first.
40
+
41
+ ## Step 3: Deployment Instructions
42
+
43
+ Since GitHub Pages deployment requires a workflow file with special permissions, provide these instructions:
44
+
45
+ ### First-time Setup
46
+
47
+ 1. Create `.github/workflows/deploy-docs.yml` with the GitHub Pages workflow
48
+ 2. Go to repository Settings > Pages
49
+ 3. Set Source to "GitHub Actions"
50
+
51
+ ### Deploying
52
+
53
+ After merging to `main`, the docs will auto-deploy. Or:
54
+
55
+ 1. Go to Actions tab
56
+ 2. Select "Deploy Documentation to GitHub Pages"
57
+ 3. Click "Run workflow"
58
+
59
+ ### Workflow File Content
60
+
61
+ ```yaml
62
+ name: Deploy Documentation to GitHub Pages
63
+
64
+ on:
65
+ push:
66
+ branches: [main]
67
+ paths:
68
+ - 'docs/**'
69
+ - 'docs/scripts/**'
70
+ - 'agents/**'
71
+ - 'skills/**'
72
+ - 'commands/**'
73
+ workflow_dispatch:
74
+
75
+ permissions:
76
+ contents: read
77
+ pages: write
78
+ id-token: write
79
+
80
+ concurrency:
81
+ group: "pages"
82
+ cancel-in-progress: false
83
+
84
+ jobs:
85
+ deploy:
86
+ environment:
87
+ name: github-pages
88
+ url: ${{ steps.deployment.outputs.page_url }}
89
+ runs-on: ubuntu-latest
90
+ steps:
91
+ - uses: actions/checkout@v4
92
+ - uses: oven-sh/setup-bun@v2
93
+ with:
94
+ bun-version: '1.1.0'
95
+ - run: bun install
96
+ - run: bun run docs:build
97
+ - uses: actions/configure-pages@v4
98
+ - uses: actions/upload-pages-artifact@v3
99
+ with:
100
+ path: 'docs/dist'
101
+ - uses: actions/deploy-pages@v4
102
+ ```
103
+
104
+ ## Step 4: Report Status
105
+
106
+ Provide a summary:
107
+
108
+ ```
109
+ ## Deployment Readiness
110
+
111
+ ✓ Starlight/Astro build succeeded
112
+ ✓ Bundled asset counts match expectations
113
+ ✓ CLI listings verified
114
+
115
+ ### Next Steps
116
+ - [ ] Commit any pending changes
117
+ - [ ] Push to main branch
118
+ - [ ] Verify GitHub Pages workflow exists
119
+ - [ ] Check deployment at https://fro.bot/systematic (or your configured base URL)
120
+ ```