@every-env/compound-plugin 0.1.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 (226) hide show
  1. package/.claude-plugin/marketplace.json +37 -0
  2. package/.github/workflows/deploy-docs.yml +39 -0
  3. package/AGENTS.md +48 -0
  4. package/CLAUDE.md +380 -0
  5. package/LICENSE +21 -0
  6. package/README.md +65 -0
  7. package/bun.lock +30 -0
  8. package/docs/css/docs.css +675 -0
  9. package/docs/css/style.css +2886 -0
  10. package/docs/index.html +1046 -0
  11. package/docs/js/main.js +225 -0
  12. package/docs/pages/agents.html +649 -0
  13. package/docs/pages/changelog.html +495 -0
  14. package/docs/pages/commands.html +523 -0
  15. package/docs/pages/getting-started.html +582 -0
  16. package/docs/pages/mcp-servers.html +409 -0
  17. package/docs/pages/skills.html +611 -0
  18. package/docs/solutions/plugin-versioning-requirements.md +77 -0
  19. package/docs/specs/claude-code.md +67 -0
  20. package/docs/specs/codex.md +59 -0
  21. package/docs/specs/opencode.md +57 -0
  22. package/package.json +26 -0
  23. package/plans/grow-your-own-garden-plugin-architecture.md +102 -0
  24. package/plans/landing-page-launchkit-refresh.md +279 -0
  25. package/plugins/coding-tutor/.claude-plugin/plugin.json +9 -0
  26. package/plugins/coding-tutor/README.md +37 -0
  27. package/plugins/coding-tutor/commands/quiz-me.md +1 -0
  28. package/plugins/coding-tutor/commands/sync-tutorials.md +25 -0
  29. package/plugins/coding-tutor/commands/teach-me.md +1 -0
  30. package/plugins/coding-tutor/skills/coding-tutor/SKILL.md +214 -0
  31. package/plugins/coding-tutor/skills/coding-tutor/scripts/create_tutorial.py +207 -0
  32. package/plugins/coding-tutor/skills/coding-tutor/scripts/index_tutorials.py +193 -0
  33. package/plugins/coding-tutor/skills/coding-tutor/scripts/quiz_priority.py +190 -0
  34. package/plugins/coding-tutor/skills/coding-tutor/scripts/setup_tutorials.py +118 -0
  35. package/plugins/compound-engineering/.claude-plugin/plugin.json +33 -0
  36. package/plugins/compound-engineering/CHANGELOG.md +393 -0
  37. package/plugins/compound-engineering/CLAUDE.md +90 -0
  38. package/plugins/compound-engineering/LICENSE +21 -0
  39. package/plugins/compound-engineering/README.md +219 -0
  40. package/plugins/compound-engineering/agents/design/design-implementation-reviewer.md +94 -0
  41. package/plugins/compound-engineering/agents/design/design-iterator.md +197 -0
  42. package/plugins/compound-engineering/agents/design/figma-design-sync.md +172 -0
  43. package/plugins/compound-engineering/agents/docs/ankane-readme-writer.md +50 -0
  44. package/plugins/compound-engineering/agents/research/best-practices-researcher.md +100 -0
  45. package/plugins/compound-engineering/agents/research/framework-docs-researcher.md +83 -0
  46. package/plugins/compound-engineering/agents/research/git-history-analyzer.md +42 -0
  47. package/plugins/compound-engineering/agents/research/repo-research-analyst.md +113 -0
  48. package/plugins/compound-engineering/agents/review/agent-native-reviewer.md +246 -0
  49. package/plugins/compound-engineering/agents/review/architecture-strategist.md +52 -0
  50. package/plugins/compound-engineering/agents/review/code-simplicity-reviewer.md +85 -0
  51. package/plugins/compound-engineering/agents/review/data-integrity-guardian.md +70 -0
  52. package/plugins/compound-engineering/agents/review/data-migration-expert.md +97 -0
  53. package/plugins/compound-engineering/agents/review/deployment-verification-agent.md +159 -0
  54. package/plugins/compound-engineering/agents/review/dhh-rails-reviewer.md +45 -0
  55. package/plugins/compound-engineering/agents/review/julik-frontend-races-reviewer.md +222 -0
  56. package/plugins/compound-engineering/agents/review/kieran-python-reviewer.md +104 -0
  57. package/plugins/compound-engineering/agents/review/kieran-rails-reviewer.md +86 -0
  58. package/plugins/compound-engineering/agents/review/kieran-typescript-reviewer.md +95 -0
  59. package/plugins/compound-engineering/agents/review/pattern-recognition-specialist.md +57 -0
  60. package/plugins/compound-engineering/agents/review/performance-oracle.md +110 -0
  61. package/plugins/compound-engineering/agents/review/security-sentinel.md +93 -0
  62. package/plugins/compound-engineering/agents/workflow/bug-reproduction-validator.md +67 -0
  63. package/plugins/compound-engineering/agents/workflow/every-style-editor.md +64 -0
  64. package/plugins/compound-engineering/agents/workflow/lint.md +16 -0
  65. package/plugins/compound-engineering/agents/workflow/pr-comment-resolver.md +69 -0
  66. package/plugins/compound-engineering/agents/workflow/spec-flow-analyzer.md +113 -0
  67. package/plugins/compound-engineering/commands/agent-native-audit.md +277 -0
  68. package/plugins/compound-engineering/commands/changelog.md +137 -0
  69. package/plugins/compound-engineering/commands/create-agent-skill.md +8 -0
  70. package/plugins/compound-engineering/commands/deepen-plan.md +546 -0
  71. package/plugins/compound-engineering/commands/deploy-docs.md +112 -0
  72. package/plugins/compound-engineering/commands/feature-video.md +342 -0
  73. package/plugins/compound-engineering/commands/generate_command.md +162 -0
  74. package/plugins/compound-engineering/commands/heal-skill.md +142 -0
  75. package/plugins/compound-engineering/commands/lfg.md +19 -0
  76. package/plugins/compound-engineering/commands/plan_review.md +7 -0
  77. package/plugins/compound-engineering/commands/release-docs.md +211 -0
  78. package/plugins/compound-engineering/commands/report-bug.md +150 -0
  79. package/plugins/compound-engineering/commands/reproduce-bug.md +99 -0
  80. package/plugins/compound-engineering/commands/resolve_parallel.md +34 -0
  81. package/plugins/compound-engineering/commands/resolve_pr_parallel.md +49 -0
  82. package/plugins/compound-engineering/commands/resolve_todo_parallel.md +35 -0
  83. package/plugins/compound-engineering/commands/test-browser.md +339 -0
  84. package/plugins/compound-engineering/commands/triage.md +310 -0
  85. package/plugins/compound-engineering/commands/workflows/compound.md +202 -0
  86. package/plugins/compound-engineering/commands/workflows/plan.md +466 -0
  87. package/plugins/compound-engineering/commands/workflows/review.md +514 -0
  88. package/plugins/compound-engineering/commands/workflows/work.md +363 -0
  89. package/plugins/compound-engineering/commands/xcode-test.md +331 -0
  90. package/plugins/compound-engineering/skills/agent-browser/SKILL.md +223 -0
  91. package/plugins/compound-engineering/skills/agent-native-architecture/SKILL.md +435 -0
  92. package/plugins/compound-engineering/skills/agent-native-architecture/references/action-parity-discipline.md +409 -0
  93. package/plugins/compound-engineering/skills/agent-native-architecture/references/agent-execution-patterns.md +467 -0
  94. package/plugins/compound-engineering/skills/agent-native-architecture/references/agent-native-testing.md +582 -0
  95. package/plugins/compound-engineering/skills/agent-native-architecture/references/architecture-patterns.md +478 -0
  96. package/plugins/compound-engineering/skills/agent-native-architecture/references/dynamic-context-injection.md +338 -0
  97. package/plugins/compound-engineering/skills/agent-native-architecture/references/files-universal-interface.md +301 -0
  98. package/plugins/compound-engineering/skills/agent-native-architecture/references/from-primitives-to-domain-tools.md +359 -0
  99. package/plugins/compound-engineering/skills/agent-native-architecture/references/mcp-tool-design.md +506 -0
  100. package/plugins/compound-engineering/skills/agent-native-architecture/references/mobile-patterns.md +871 -0
  101. package/plugins/compound-engineering/skills/agent-native-architecture/references/product-implications.md +443 -0
  102. package/plugins/compound-engineering/skills/agent-native-architecture/references/refactoring-to-prompt-native.md +317 -0
  103. package/plugins/compound-engineering/skills/agent-native-architecture/references/self-modification.md +269 -0
  104. package/plugins/compound-engineering/skills/agent-native-architecture/references/shared-workspace-architecture.md +680 -0
  105. package/plugins/compound-engineering/skills/agent-native-architecture/references/system-prompt-design.md +250 -0
  106. package/plugins/compound-engineering/skills/andrew-kane-gem-writer/SKILL.md +184 -0
  107. package/plugins/compound-engineering/skills/andrew-kane-gem-writer/references/database-adapters.md +231 -0
  108. package/plugins/compound-engineering/skills/andrew-kane-gem-writer/references/module-organization.md +121 -0
  109. package/plugins/compound-engineering/skills/andrew-kane-gem-writer/references/rails-integration.md +183 -0
  110. package/plugins/compound-engineering/skills/andrew-kane-gem-writer/references/resources.md +119 -0
  111. package/plugins/compound-engineering/skills/andrew-kane-gem-writer/references/testing-patterns.md +261 -0
  112. package/plugins/compound-engineering/skills/compound-docs/SKILL.md +510 -0
  113. package/plugins/compound-engineering/skills/compound-docs/assets/critical-pattern-template.md +34 -0
  114. package/plugins/compound-engineering/skills/compound-docs/assets/resolution-template.md +93 -0
  115. package/plugins/compound-engineering/skills/compound-docs/references/yaml-schema.md +65 -0
  116. package/plugins/compound-engineering/skills/compound-docs/schema.yaml +176 -0
  117. package/plugins/compound-engineering/skills/create-agent-skills/SKILL.md +299 -0
  118. package/plugins/compound-engineering/skills/create-agent-skills/references/api-security.md +226 -0
  119. package/plugins/compound-engineering/skills/create-agent-skills/references/be-clear-and-direct.md +531 -0
  120. package/plugins/compound-engineering/skills/create-agent-skills/references/best-practices.md +404 -0
  121. package/plugins/compound-engineering/skills/create-agent-skills/references/common-patterns.md +595 -0
  122. package/plugins/compound-engineering/skills/create-agent-skills/references/core-principles.md +437 -0
  123. package/plugins/compound-engineering/skills/create-agent-skills/references/executable-code.md +175 -0
  124. package/plugins/compound-engineering/skills/create-agent-skills/references/iteration-and-testing.md +474 -0
  125. package/plugins/compound-engineering/skills/create-agent-skills/references/official-spec.md +185 -0
  126. package/plugins/compound-engineering/skills/create-agent-skills/references/recommended-structure.md +168 -0
  127. package/plugins/compound-engineering/skills/create-agent-skills/references/skill-structure.md +372 -0
  128. package/plugins/compound-engineering/skills/create-agent-skills/references/using-scripts.md +113 -0
  129. package/plugins/compound-engineering/skills/create-agent-skills/references/using-templates.md +112 -0
  130. package/plugins/compound-engineering/skills/create-agent-skills/references/workflows-and-validation.md +510 -0
  131. package/plugins/compound-engineering/skills/create-agent-skills/templates/router-skill.md +73 -0
  132. package/plugins/compound-engineering/skills/create-agent-skills/templates/simple-skill.md +33 -0
  133. package/plugins/compound-engineering/skills/create-agent-skills/workflows/add-reference.md +96 -0
  134. package/plugins/compound-engineering/skills/create-agent-skills/workflows/add-script.md +93 -0
  135. package/plugins/compound-engineering/skills/create-agent-skills/workflows/add-template.md +74 -0
  136. package/plugins/compound-engineering/skills/create-agent-skills/workflows/add-workflow.md +120 -0
  137. package/plugins/compound-engineering/skills/create-agent-skills/workflows/audit-skill.md +138 -0
  138. package/plugins/compound-engineering/skills/create-agent-skills/workflows/create-domain-expertise-skill.md +605 -0
  139. package/plugins/compound-engineering/skills/create-agent-skills/workflows/create-new-skill.md +191 -0
  140. package/plugins/compound-engineering/skills/create-agent-skills/workflows/get-guidance.md +121 -0
  141. package/plugins/compound-engineering/skills/create-agent-skills/workflows/upgrade-to-router.md +161 -0
  142. package/plugins/compound-engineering/skills/create-agent-skills/workflows/verify-skill.md +204 -0
  143. package/plugins/compound-engineering/skills/dhh-rails-style/SKILL.md +185 -0
  144. package/plugins/compound-engineering/skills/dhh-rails-style/references/architecture.md +653 -0
  145. package/plugins/compound-engineering/skills/dhh-rails-style/references/controllers.md +303 -0
  146. package/plugins/compound-engineering/skills/dhh-rails-style/references/frontend.md +510 -0
  147. package/plugins/compound-engineering/skills/dhh-rails-style/references/gems.md +266 -0
  148. package/plugins/compound-engineering/skills/dhh-rails-style/references/models.md +359 -0
  149. package/plugins/compound-engineering/skills/dhh-rails-style/references/testing.md +338 -0
  150. package/plugins/compound-engineering/skills/dspy-ruby/SKILL.md +594 -0
  151. package/plugins/compound-engineering/skills/dspy-ruby/assets/config-template.rb +359 -0
  152. package/plugins/compound-engineering/skills/dspy-ruby/assets/module-template.rb +326 -0
  153. package/plugins/compound-engineering/skills/dspy-ruby/assets/signature-template.rb +143 -0
  154. package/plugins/compound-engineering/skills/dspy-ruby/references/core-concepts.md +265 -0
  155. package/plugins/compound-engineering/skills/dspy-ruby/references/optimization.md +623 -0
  156. package/plugins/compound-engineering/skills/dspy-ruby/references/providers.md +338 -0
  157. package/plugins/compound-engineering/skills/every-style-editor/SKILL.md +134 -0
  158. package/plugins/compound-engineering/skills/every-style-editor/references/EVERY_WRITE_STYLE.md +529 -0
  159. package/plugins/compound-engineering/skills/file-todos/SKILL.md +251 -0
  160. package/plugins/compound-engineering/skills/file-todos/assets/todo-template.md +155 -0
  161. package/plugins/compound-engineering/skills/frontend-design/SKILL.md +42 -0
  162. package/plugins/compound-engineering/skills/gemini-imagegen/SKILL.md +237 -0
  163. package/plugins/compound-engineering/skills/gemini-imagegen/requirements.txt +2 -0
  164. package/plugins/compound-engineering/skills/gemini-imagegen/scripts/compose_images.py +157 -0
  165. package/plugins/compound-engineering/skills/gemini-imagegen/scripts/edit_image.py +144 -0
  166. package/plugins/compound-engineering/skills/gemini-imagegen/scripts/gemini_images.py +263 -0
  167. package/plugins/compound-engineering/skills/gemini-imagegen/scripts/generate_image.py +133 -0
  168. package/plugins/compound-engineering/skills/gemini-imagegen/scripts/multi_turn_chat.py +216 -0
  169. package/plugins/compound-engineering/skills/git-worktree/SKILL.md +302 -0
  170. package/plugins/compound-engineering/skills/git-worktree/scripts/worktree-manager.sh +345 -0
  171. package/plugins/compound-engineering/skills/rclone/SKILL.md +150 -0
  172. package/plugins/compound-engineering/skills/rclone/scripts/check_setup.sh +60 -0
  173. package/plugins/compound-engineering/skills/skill-creator/SKILL.md +209 -0
  174. package/plugins/compound-engineering/skills/skill-creator/scripts/init_skill.py +303 -0
  175. package/plugins/compound-engineering/skills/skill-creator/scripts/package_skill.py +110 -0
  176. package/plugins/compound-engineering/skills/skill-creator/scripts/quick_validate.py +65 -0
  177. package/src/commands/convert.ts +156 -0
  178. package/src/commands/install.ts +221 -0
  179. package/src/commands/list.ts +37 -0
  180. package/src/converters/claude-to-codex.ts +124 -0
  181. package/src/converters/claude-to-opencode.ts +392 -0
  182. package/src/index.ts +20 -0
  183. package/src/parsers/claude.ts +248 -0
  184. package/src/targets/codex.ts +91 -0
  185. package/src/targets/index.ts +29 -0
  186. package/src/targets/opencode.ts +48 -0
  187. package/src/types/claude.ts +88 -0
  188. package/src/types/codex.ts +23 -0
  189. package/src/types/opencode.ts +54 -0
  190. package/src/utils/codex-agents.ts +64 -0
  191. package/src/utils/files.ts +64 -0
  192. package/src/utils/frontmatter.ts +65 -0
  193. package/tests/claude-parser.test.ts +89 -0
  194. package/tests/cli.test.ts +289 -0
  195. package/tests/codex-agents.test.ts +62 -0
  196. package/tests/codex-converter.test.ts +121 -0
  197. package/tests/codex-writer.test.ts +76 -0
  198. package/tests/converter.test.ts +171 -0
  199. package/tests/fixtures/custom-paths/.claude-plugin/plugin.json +8 -0
  200. package/tests/fixtures/custom-paths/agents/default-agent.md +5 -0
  201. package/tests/fixtures/custom-paths/commands/default-command.md +5 -0
  202. package/tests/fixtures/custom-paths/custom-agents/custom-agent.md +5 -0
  203. package/tests/fixtures/custom-paths/custom-commands/custom-command.md +5 -0
  204. package/tests/fixtures/custom-paths/custom-hooks/hooks.json +7 -0
  205. package/tests/fixtures/custom-paths/custom-skills/custom-skill/SKILL.md +5 -0
  206. package/tests/fixtures/custom-paths/hooks/hooks.json +7 -0
  207. package/tests/fixtures/custom-paths/skills/default-skill/SKILL.md +5 -0
  208. package/tests/fixtures/invalid-command-path/.claude-plugin/plugin.json +5 -0
  209. package/tests/fixtures/invalid-hooks-path/.claude-plugin/plugin.json +5 -0
  210. package/tests/fixtures/invalid-mcp-path/.claude-plugin/plugin.json +5 -0
  211. package/tests/fixtures/mcp-file/.claude-plugin/plugin.json +5 -0
  212. package/tests/fixtures/mcp-file/.mcp.json +6 -0
  213. package/tests/fixtures/sample-plugin/.claude-plugin/plugin.json +30 -0
  214. package/tests/fixtures/sample-plugin/agents/agent-one.md +10 -0
  215. package/tests/fixtures/sample-plugin/agents/security-reviewer.md +7 -0
  216. package/tests/fixtures/sample-plugin/commands/command-one.md +7 -0
  217. package/tests/fixtures/sample-plugin/commands/model-command.md +8 -0
  218. package/tests/fixtures/sample-plugin/commands/nested/command-two.md +9 -0
  219. package/tests/fixtures/sample-plugin/commands/pattern-command.md +7 -0
  220. package/tests/fixtures/sample-plugin/commands/skill-command.md +7 -0
  221. package/tests/fixtures/sample-plugin/commands/todo-command.md +7 -0
  222. package/tests/fixtures/sample-plugin/hooks/hooks.json +156 -0
  223. package/tests/fixtures/sample-plugin/skills/skill-one/SKILL.md +6 -0
  224. package/tests/frontmatter.test.ts +20 -0
  225. package/tests/opencode-writer.test.ts +62 -0
  226. package/tsconfig.json +14 -0
@@ -0,0 +1,342 @@
1
+ ---
2
+ name: feature-video
3
+ description: Record a video walkthrough of a feature and add it to the PR description
4
+ argument-hint: "[PR number or 'current'] [optional: base URL, default localhost:3000]"
5
+ ---
6
+
7
+ # Feature Video Walkthrough
8
+
9
+ <command_purpose>Record a video walkthrough demonstrating a feature, upload it, and add it to the PR description.</command_purpose>
10
+
11
+ ## Introduction
12
+
13
+ <role>Developer Relations Engineer creating feature demo videos</role>
14
+
15
+ This command creates professional video walkthroughs of features for PR documentation:
16
+ - Records browser interactions using agent-browser CLI
17
+ - Demonstrates the complete user flow
18
+ - Uploads the video for easy sharing
19
+ - Updates the PR description with an embedded video
20
+
21
+ ## Prerequisites
22
+
23
+ <requirements>
24
+ - Local development server running (e.g., `bin/dev`, `rails server`)
25
+ - agent-browser CLI installed
26
+ - Git repository with a PR to document
27
+ - `ffmpeg` installed (for video conversion)
28
+ - `rclone` configured (optional, for cloud upload - see rclone skill)
29
+ </requirements>
30
+
31
+ ## Setup
32
+
33
+ **Check installation:**
34
+ ```bash
35
+ command -v agent-browser >/dev/null 2>&1 && echo "Installed" || echo "NOT INSTALLED"
36
+ ```
37
+
38
+ **Install if needed:**
39
+ ```bash
40
+ npm install -g agent-browser && agent-browser install
41
+ ```
42
+
43
+ See the `agent-browser` skill for detailed usage.
44
+
45
+ ## Main Tasks
46
+
47
+ ### 1. Parse Arguments
48
+
49
+ <parse_args>
50
+
51
+ **Arguments:** $ARGUMENTS
52
+
53
+ Parse the input:
54
+ - First argument: PR number or "current" (defaults to current branch's PR)
55
+ - Second argument: Base URL (defaults to `http://localhost:3000`)
56
+
57
+ ```bash
58
+ # Get PR number for current branch if needed
59
+ gh pr view --json number -q '.number'
60
+ ```
61
+
62
+ </parse_args>
63
+
64
+ ### 2. Gather Feature Context
65
+
66
+ <gather_context>
67
+
68
+ **Get PR details:**
69
+ ```bash
70
+ gh pr view [number] --json title,body,files,headRefName -q '.'
71
+ ```
72
+
73
+ **Get changed files:**
74
+ ```bash
75
+ gh pr view [number] --json files -q '.files[].path'
76
+ ```
77
+
78
+ **Map files to testable routes** (same as playwright-test):
79
+
80
+ | File Pattern | Route(s) |
81
+ |-------------|----------|
82
+ | `app/views/users/*` | `/users`, `/users/:id`, `/users/new` |
83
+ | `app/controllers/settings_controller.rb` | `/settings` |
84
+ | `app/javascript/controllers/*_controller.js` | Pages using that Stimulus controller |
85
+ | `app/components/*_component.rb` | Pages rendering that component |
86
+
87
+ </gather_context>
88
+
89
+ ### 3. Plan the Video Flow
90
+
91
+ <plan_flow>
92
+
93
+ Before recording, create a shot list:
94
+
95
+ 1. **Opening shot**: Homepage or starting point (2-3 seconds)
96
+ 2. **Navigation**: How user gets to the feature
97
+ 3. **Feature demonstration**: Core functionality (main focus)
98
+ 4. **Edge cases**: Error states, validation, etc. (if applicable)
99
+ 5. **Success state**: Completed action/result
100
+
101
+ Ask user to confirm or adjust the flow:
102
+
103
+ ```markdown
104
+ **Proposed Video Flow**
105
+
106
+ Based on PR #[number]: [title]
107
+
108
+ 1. Start at: /[starting-route]
109
+ 2. Navigate to: /[feature-route]
110
+ 3. Demonstrate:
111
+ - [Action 1]
112
+ - [Action 2]
113
+ - [Action 3]
114
+ 4. Show result: [success state]
115
+
116
+ Estimated duration: ~[X] seconds
117
+
118
+ Does this look right?
119
+ 1. Yes, start recording
120
+ 2. Modify the flow (describe changes)
121
+ 3. Add specific interactions to demonstrate
122
+ ```
123
+
124
+ </plan_flow>
125
+
126
+ ### 4. Setup Video Recording
127
+
128
+ <setup_recording>
129
+
130
+ **Create videos directory:**
131
+ ```bash
132
+ mkdir -p tmp/videos
133
+ ```
134
+
135
+ **Recording approach: Use browser screenshots as frames**
136
+
137
+ agent-browser captures screenshots at key moments, then combine into video using ffmpeg:
138
+
139
+ ```bash
140
+ ffmpeg -framerate 2 -pattern_type glob -i 'tmp/screenshots/*.png' -vf "scale=1280:-1" tmp/videos/feature-demo.gif
141
+ ```
142
+
143
+ </setup_recording>
144
+
145
+ ### 5. Record the Walkthrough
146
+
147
+ <record_walkthrough>
148
+
149
+ Execute the planned flow, capturing each step:
150
+
151
+ **Step 1: Navigate to starting point**
152
+ ```bash
153
+ agent-browser open "[base-url]/[start-route]"
154
+ agent-browser wait 2000
155
+ agent-browser screenshot tmp/screenshots/01-start.png
156
+ ```
157
+
158
+ **Step 2: Perform navigation/interactions**
159
+ ```bash
160
+ agent-browser snapshot -i # Get refs
161
+ agent-browser click @e1 # Click navigation element
162
+ agent-browser wait 1000
163
+ agent-browser screenshot tmp/screenshots/02-navigate.png
164
+ ```
165
+
166
+ **Step 3: Demonstrate feature**
167
+ ```bash
168
+ agent-browser snapshot -i # Get refs for feature elements
169
+ agent-browser click @e2 # Click feature element
170
+ agent-browser wait 1000
171
+ agent-browser screenshot tmp/screenshots/03-feature.png
172
+ ```
173
+
174
+ **Step 4: Capture result**
175
+ ```bash
176
+ agent-browser wait 2000
177
+ agent-browser screenshot tmp/screenshots/04-result.png
178
+ ```
179
+
180
+ **Create video/GIF from screenshots:**
181
+
182
+ ```bash
183
+ # Create directories
184
+ mkdir -p tmp/videos tmp/screenshots
185
+
186
+ # Create MP4 video (RECOMMENDED - better quality, smaller size)
187
+ # -framerate 0.5 = 2 seconds per frame (slower playback)
188
+ # -framerate 1 = 1 second per frame
189
+ ffmpeg -y -framerate 0.5 -pattern_type glob -i 'tmp/screenshots/*.png' \
190
+ -c:v libx264 -pix_fmt yuv420p -vf "scale=1280:-2" \
191
+ tmp/videos/feature-demo.mp4
192
+
193
+ # Create low-quality GIF for preview (small file, for GitHub embed)
194
+ ffmpeg -y -framerate 0.5 -pattern_type glob -i 'tmp/screenshots/*.png' \
195
+ -vf "scale=640:-1:flags=lanczos,split[s0][s1];[s0]palettegen=max_colors=128[p];[s1][p]paletteuse" \
196
+ -loop 0 tmp/videos/feature-demo-preview.gif
197
+ ```
198
+
199
+ **Note:**
200
+ - The `-2` in MP4 scale ensures height is divisible by 2 (required for H.264)
201
+ - Preview GIF uses 640px width and 128 colors to keep file size small (~100-200KB)
202
+
203
+ </record_walkthrough>
204
+
205
+ ### 6. Upload the Video
206
+
207
+ <upload_video>
208
+
209
+ **Upload with rclone:**
210
+
211
+ ```bash
212
+ # Check rclone is configured
213
+ rclone listremotes
214
+
215
+ # Upload video, preview GIF, and screenshots to cloud storage
216
+ # Use --s3-no-check-bucket to avoid permission errors
217
+ rclone copy tmp/videos/ r2:kieran-claude/pr-videos/pr-[number]/ --s3-no-check-bucket --progress
218
+ rclone copy tmp/screenshots/ r2:kieran-claude/pr-videos/pr-[number]/screenshots/ --s3-no-check-bucket --progress
219
+
220
+ # List uploaded files
221
+ rclone ls r2:kieran-claude/pr-videos/pr-[number]/
222
+ ```
223
+
224
+ Public URLs (R2 with public access):
225
+ ```
226
+ Video: https://pub-4047722ebb1b4b09853f24d3b61467f1.r2.dev/pr-videos/pr-[number]/feature-demo.mp4
227
+ Preview: https://pub-4047722ebb1b4b09853f24d3b61467f1.r2.dev/pr-videos/pr-[number]/feature-demo-preview.gif
228
+ ```
229
+
230
+ </upload_video>
231
+
232
+ ### 7. Update PR Description
233
+
234
+ <update_pr>
235
+
236
+ **Get current PR body:**
237
+ ```bash
238
+ gh pr view [number] --json body -q '.body'
239
+ ```
240
+
241
+ **Add video section to PR description:**
242
+
243
+ If the PR already has a video section, replace it. Otherwise, append:
244
+
245
+ **IMPORTANT:** GitHub cannot embed external MP4s directly. Use a clickable GIF that links to the video:
246
+
247
+ ```markdown
248
+ ## Demo
249
+
250
+ [![Feature Demo]([preview-gif-url])]([video-mp4-url])
251
+
252
+ *Click to view full video*
253
+ ```
254
+
255
+ Example:
256
+ ```markdown
257
+ [![Feature Demo](https://pub-4047722ebb1b4b09853f24d3b61467f1.r2.dev/pr-videos/pr-137/feature-demo-preview.gif)](https://pub-4047722ebb1b4b09853f24d3b61467f1.r2.dev/pr-videos/pr-137/feature-demo.mp4)
258
+ ```
259
+
260
+ **Update the PR:**
261
+ ```bash
262
+ gh pr edit [number] --body "[updated body with video section]"
263
+ ```
264
+
265
+ **Or add as a comment if preferred:**
266
+ ```bash
267
+ gh pr comment [number] --body "## Feature Demo
268
+
269
+ ![Demo]([video-url])
270
+
271
+ _Automated walkthrough of the changes in this PR_"
272
+ ```
273
+
274
+ </update_pr>
275
+
276
+ ### 8. Cleanup
277
+
278
+ <cleanup>
279
+
280
+ ```bash
281
+ # Optional: Clean up screenshots
282
+ rm -rf tmp/screenshots
283
+
284
+ # Keep videos for reference
285
+ echo "Video retained at: tmp/videos/feature-demo.gif"
286
+ ```
287
+
288
+ </cleanup>
289
+
290
+ ### 9. Summary
291
+
292
+ <summary>
293
+
294
+ Present completion summary:
295
+
296
+ ```markdown
297
+ ## Feature Video Complete
298
+
299
+ **PR:** #[number] - [title]
300
+ **Video:** [url or local path]
301
+ **Duration:** ~[X] seconds
302
+ **Format:** [GIF/MP4]
303
+
304
+ ### Shots Captured
305
+ 1. [Starting point] - [description]
306
+ 2. [Navigation] - [description]
307
+ 3. [Feature demo] - [description]
308
+ 4. [Result] - [description]
309
+
310
+ ### PR Updated
311
+ - [x] Video section added to PR description
312
+ - [ ] Ready for review
313
+
314
+ **Next steps:**
315
+ - Review the video to ensure it accurately demonstrates the feature
316
+ - Share with reviewers for context
317
+ ```
318
+
319
+ </summary>
320
+
321
+ ## Quick Usage Examples
322
+
323
+ ```bash
324
+ # Record video for current branch's PR
325
+ /feature-video
326
+
327
+ # Record video for specific PR
328
+ /feature-video 847
329
+
330
+ # Record with custom base URL
331
+ /feature-video 847 http://localhost:5000
332
+
333
+ # Record for staging environment
334
+ /feature-video current https://staging.example.com
335
+ ```
336
+
337
+ ## Tips
338
+
339
+ - **Keep it short**: 10-30 seconds is ideal for PR demos
340
+ - **Focus on the change**: Don't include unrelated UI
341
+ - **Show before/after**: If fixing a bug, show the broken state first (if possible)
342
+ - **Annotate if needed**: Add text overlays for complex features
@@ -0,0 +1,162 @@
1
+ ---
2
+ name: generate_command
3
+ description: Create a new custom slash command following conventions and best practices
4
+ argument-hint: "[command purpose and requirements]"
5
+ ---
6
+
7
+ # Create a Custom Claude Code Command
8
+
9
+ Create a new slash command in `.claude/commands/` for the requested task.
10
+
11
+ ## Goal
12
+
13
+ #$ARGUMENTS
14
+
15
+ ## Key Capabilities to Leverage
16
+
17
+ **File Operations:**
18
+ - Read, Edit, Write - modify files precisely
19
+ - Glob, Grep - search codebase
20
+ - MultiEdit - atomic multi-part changes
21
+
22
+ **Development:**
23
+ - Bash - run commands (git, tests, linters)
24
+ - Task - launch specialized agents for complex tasks
25
+ - TodoWrite - track progress with todo lists
26
+
27
+ **Web & APIs:**
28
+ - WebFetch, WebSearch - research documentation
29
+ - GitHub (gh cli) - PRs, issues, reviews
30
+ - Playwright - browser automation, screenshots
31
+
32
+ **Integrations:**
33
+ - AppSignal - logs and monitoring
34
+ - Context7 - framework docs
35
+ - Stripe, Todoist, Featurebase (if relevant)
36
+
37
+ ## Best Practices
38
+
39
+ 1. **Be specific and clear** - detailed instructions yield better results
40
+ 2. **Break down complex tasks** - use step-by-step plans
41
+ 3. **Use examples** - reference existing code patterns
42
+ 4. **Include success criteria** - tests pass, linting clean, etc.
43
+ 5. **Think first** - use "think hard" or "plan" keywords for complex problems
44
+ 6. **Iterate** - guide the process step by step
45
+
46
+ ## Required: YAML Frontmatter
47
+
48
+ **EVERY command MUST start with YAML frontmatter:**
49
+
50
+ ```yaml
51
+ ---
52
+ name: command-name
53
+ description: Brief description of what this command does (max 100 chars)
54
+ argument-hint: "[what arguments the command accepts]"
55
+ ---
56
+ ```
57
+
58
+ **Fields:**
59
+ - `name`: Lowercase command identifier (used internally)
60
+ - `description`: Clear, concise summary of command purpose
61
+ - `argument-hint`: Shows user what arguments are expected (e.g., `[file path]`, `[PR number]`, `[optional: format]`)
62
+
63
+ ## Structure Your Command
64
+
65
+ ```markdown
66
+ # [Command Name]
67
+
68
+ [Brief description of what this command does]
69
+
70
+ ## Steps
71
+
72
+ 1. [First step with specific details]
73
+ - Include file paths, patterns, or constraints
74
+ - Reference existing code if applicable
75
+
76
+ 2. [Second step]
77
+ - Use parallel tool calls when possible
78
+ - Check/verify results
79
+
80
+ 3. [Final steps]
81
+ - Run tests
82
+ - Lint code
83
+ - Commit changes (if appropriate)
84
+
85
+ ## Success Criteria
86
+
87
+ - [ ] Tests pass
88
+ - [ ] Code follows style guide
89
+ - [ ] Documentation updated (if needed)
90
+ ```
91
+
92
+ ## Tips for Effective Commands
93
+
94
+ - **Use $ARGUMENTS** placeholder for dynamic inputs
95
+ - **Reference CLAUDE.md** patterns and conventions
96
+ - **Include verification steps** - tests, linting, visual checks
97
+ - **Be explicit about constraints** - don't modify X, use pattern Y
98
+ - **Use XML tags** for structured prompts: `<task>`, `<requirements>`, `<constraints>`
99
+
100
+ ## Example Pattern
101
+
102
+ ```markdown
103
+ Implement #$ARGUMENTS following these steps:
104
+
105
+ 1. Research existing patterns
106
+ - Search for similar code using Grep
107
+ - Read relevant files to understand approach
108
+
109
+ 2. Plan the implementation
110
+ - Think through edge cases and requirements
111
+ - Consider test cases needed
112
+
113
+ 3. Implement
114
+ - Follow existing code patterns (reference specific files)
115
+ - Write tests first if doing TDD
116
+ - Ensure code follows CLAUDE.md conventions
117
+
118
+ 4. Verify
119
+ - Run tests: `bin/rails test`
120
+ - Run linter: `bundle exec standardrb`
121
+ - Check changes with git diff
122
+
123
+ 5. Commit (optional)
124
+ - Stage changes
125
+ - Write clear commit message
126
+ ```
127
+
128
+ ## Creating the Command File
129
+
130
+ 1. **Create the file** at `.claude/commands/[name].md` (subdirectories like `workflows/` supported)
131
+ 2. **Start with YAML frontmatter** (see section above)
132
+ 3. **Structure the command** using the template above
133
+ 4. **Test the command** by using it with appropriate arguments
134
+
135
+ ## Command File Template
136
+
137
+ ```markdown
138
+ ---
139
+ name: command-name
140
+ description: What this command does
141
+ argument-hint: "[expected arguments]"
142
+ ---
143
+
144
+ # Command Title
145
+
146
+ Brief introduction of what the command does and when to use it.
147
+
148
+ ## Workflow
149
+
150
+ ### Step 1: [First Major Step]
151
+
152
+ Details about what to do.
153
+
154
+ ### Step 2: [Second Major Step]
155
+
156
+ Details about what to do.
157
+
158
+ ## Success Criteria
159
+
160
+ - [ ] Expected outcome 1
161
+ - [ ] Expected outcome 2
162
+ ```
@@ -0,0 +1,142 @@
1
+ ---
2
+ name: heal-skill
3
+ description: Fix incorrect SKILL.md files when a skill has wrong instructions or outdated API references
4
+ argument-hint: [optional: specific issue to fix]
5
+ allowed-tools: [Read, Edit, Bash(ls:*), Bash(git:*)]
6
+ ---
7
+
8
+ <objective>
9
+ Update a skill's SKILL.md and related files based on corrections discovered during execution.
10
+
11
+ Analyze the conversation to detect which skill is running, reflect on what went wrong, propose specific fixes, get user approval, then apply changes with optional commit.
12
+ </objective>
13
+
14
+ <context>
15
+ Skill detection: !`ls -1 ./skills/*/SKILL.md | head -5`
16
+ </context>
17
+
18
+ <quick_start>
19
+ <workflow>
20
+ 1. **Detect skill** from conversation context (invocation messages, recent SKILL.md references)
21
+ 2. **Reflect** on what went wrong and how you discovered the fix
22
+ 3. **Present** proposed changes with before/after diffs
23
+ 4. **Get approval** before making any edits
24
+ 5. **Apply** changes and optionally commit
25
+ </workflow>
26
+ </quick_start>
27
+
28
+ <process>
29
+ <step_1 name="detect_skill">
30
+ Identify the skill from conversation context:
31
+
32
+ - Look for skill invocation messages
33
+ - Check which SKILL.md was recently referenced
34
+ - Examine current task context
35
+
36
+ Set: `SKILL_NAME=[skill-name]` and `SKILL_DIR=./skills/$SKILL_NAME`
37
+
38
+ If unclear, ask the user.
39
+ </step_1>
40
+
41
+ <step_2 name="reflection_and_analysis">
42
+ Focus on $ARGUMENTS if provided, otherwise analyze broader context.
43
+
44
+ Determine:
45
+ - **What was wrong**: Quote specific sections from SKILL.md that are incorrect
46
+ - **Discovery method**: Context7, error messages, trial and error, documentation lookup
47
+ - **Root cause**: Outdated API, incorrect parameters, wrong endpoint, missing context
48
+ - **Scope of impact**: Single section or multiple? Related files affected?
49
+ - **Proposed fix**: Which files, which sections, before/after for each
50
+ </step_2>
51
+
52
+ <step_3 name="scan_affected_files">
53
+ ```bash
54
+ ls -la $SKILL_DIR/
55
+ ls -la $SKILL_DIR/references/ 2>/dev/null
56
+ ls -la $SKILL_DIR/scripts/ 2>/dev/null
57
+ ```
58
+ </step_3>
59
+
60
+ <step_4 name="present_proposed_changes">
61
+ Present changes in this format:
62
+
63
+ ```
64
+ **Skill being healed:** [skill-name]
65
+ **Issue discovered:** [1-2 sentence summary]
66
+ **Root cause:** [brief explanation]
67
+
68
+ **Files to be modified:**
69
+ - [ ] SKILL.md
70
+ - [ ] references/[file].md
71
+ - [ ] scripts/[file].py
72
+
73
+ **Proposed changes:**
74
+
75
+ ### Change 1: SKILL.md - [Section name]
76
+ **Location:** Line [X] in SKILL.md
77
+
78
+ **Current (incorrect):**
79
+ ```
80
+ [exact text from current file]
81
+ ```
82
+
83
+ **Corrected:**
84
+ ```
85
+ [new text]
86
+ ```
87
+
88
+ **Reason:** [why this fixes the issue]
89
+
90
+ [repeat for each change across all files]
91
+
92
+ **Impact assessment:**
93
+ - Affects: [authentication/API endpoints/parameters/examples/etc.]
94
+
95
+ **Verification:**
96
+ These changes will prevent: [specific error that prompted this]
97
+ ```
98
+ </step_4>
99
+
100
+ <step_5 name="request_approval">
101
+ ```
102
+ Should I apply these changes?
103
+
104
+ 1. Yes, apply and commit all changes
105
+ 2. Apply but don't commit (let me review first)
106
+ 3. Revise the changes (I'll provide feedback)
107
+ 4. Cancel (don't make changes)
108
+
109
+ Choose (1-4):
110
+ ```
111
+
112
+ **Wait for user response. Do not proceed without approval.**
113
+ </step_5>
114
+
115
+ <step_6 name="apply_changes">
116
+ Only after approval (option 1 or 2):
117
+
118
+ 1. Use Edit tool for each correction across all files
119
+ 2. Read back modified sections to verify
120
+ 3. If option 1, commit with structured message showing what was healed
121
+ 4. Confirm completion with file list
122
+ </step_6>
123
+ </process>
124
+
125
+ <success_criteria>
126
+ - Skill correctly detected from conversation context
127
+ - All incorrect sections identified with before/after
128
+ - User approved changes before application
129
+ - All edits applied across SKILL.md and related files
130
+ - Changes verified by reading back
131
+ - Commit created if user chose option 1
132
+ - Completion confirmed with file list
133
+ </success_criteria>
134
+
135
+ <verification>
136
+ Before completing:
137
+
138
+ - Read back each modified section to confirm changes applied
139
+ - Ensure cross-file consistency (SKILL.md examples match references/)
140
+ - Verify git commit created if option 1 was selected
141
+ - Check no unintended files were modified
142
+ </verification>
@@ -0,0 +1,19 @@
1
+ ---
2
+ name: lfg
3
+ description: Full autonomous engineering workflow
4
+ argument-hint: "[feature description]"
5
+ ---
6
+
7
+ Run these slash commands in order. Do not do anything else.
8
+
9
+ 1. `/ralph-wiggum:ralph-loop "finish all slash commands" --completion-promise "DONE"`
10
+ 2. `/workflows:plan $ARGUMENTS`
11
+ 3. `/compound-engineering:deepen-plan`
12
+ 4. `/workflows:work`
13
+ 5. `/workflows:review`
14
+ 6. `/compound-engineering:resolve_todo_parallel`
15
+ 7. `/compound-engineering:test-browser`
16
+ 8. `/compound-engineering:feature-video`
17
+ 9. Output `<promise>DONE</promise>` when video is in PR
18
+
19
+ Start with step 1 now.
@@ -0,0 +1,7 @@
1
+ ---
2
+ name: plan_review
3
+ description: Have multiple specialized agents review a plan in parallel
4
+ argument-hint: "[plan file path or plan content]"
5
+ ---
6
+
7
+ Have @agent-dhh-rails-reviewer @agent-kieran-rails-reviewer @agent-code-simplicity-reviewer review this plan in parallel.