@hybridlabor-api/aos 4.8.0 → 4.10.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 (186) hide show
  1. package/.agents/{agents.md → AGENTS.md} +3 -1
  2. package/.agents/nodes.json +3 -1
  3. package/.agents/vendor-manifest.json +23 -1
  4. package/.claude/agents/godmode-media-eventtech.md +1 -1
  5. package/.claude/hooks/conventional-commits.mjs +125 -0
  6. package/.claude/hooks/env-file-protection.mjs +105 -0
  7. package/.claude/hooks/go-gate.mjs +101 -81
  8. package/.claude/hooks/memb-inject.mjs +29 -1
  9. package/.claude/settings.json +13 -0
  10. package/.claude/workflows/startcycle-dispatch.mjs +23 -1
  11. package/.opencode/agents/godmode-media-eventtech.md +1 -1
  12. package/.opencode/plugins/bdb-aos.js +31 -4
  13. package/CLAUDE.md +0 -571
  14. package/README.de.md +1 -1
  15. package/README.md +1 -1
  16. package/README.pt.md +1 -1
  17. package/THIRD_PARTY_NOTICES.md +126 -0
  18. package/bin/aos-doctor.mjs +1 -1
  19. package/docs/skills_table.md +1 -1
  20. package/installer.js +187 -55
  21. package/package.json +7 -3
  22. package/packages/aos-cli/README.md +80 -0
  23. package/packages/aos-cli/bin/aos-cli.mjs +134 -0
  24. package/packages/aos-cli/core-skills.json +12 -0
  25. package/packages/aos-cli/extensions/aos.ts +321 -0
  26. package/packages/aos-cli/package-lock.json +1923 -0
  27. package/packages/aos-cli/package.json +29 -0
  28. package/packages/aos-cli/scripts/check-theme.mjs +63 -0
  29. package/packages/aos-cli/themes/aos.json +97 -0
  30. package/scripts/build-plugin-manifest.mjs +131 -0
  31. package/scripts/validate-skills.mjs +81 -6
  32. package/skills/basic/ao-orchestrator/SKILL.md +116 -0
  33. package/skills/basic/bdb-eventagency-skill/SKILL.md +252 -0
  34. package/skills/basic/bdb-shipping-skill/SKILL.md +161 -0
  35. package/skills/basic/godmode-eventtech/SKILL.md +4 -1
  36. package/skills/global_config/agenttrail/SKILL.md +6 -1
  37. package/skills/global_config/aos-project-init/SKILL.md +2 -0
  38. package/skills/global_config/aos-project-init/assets/AGENTS.template.md +1 -1
  39. package/skills/global_config/aos-project-init/scripts/aos-project-doctor.mjs +1 -1
  40. package/skills/global_config/aos-setup/SKILL.md +1 -1
  41. package/skills/global_config/aos-setup/scripts/aos-doctor.mjs +1 -1
  42. package/skills/global_config/ask-tim/SKILL.md +7 -7
  43. package/skills/global_config/bash-script-generator/SKILL.md +201 -0
  44. package/skills/global_config/bash-script-generator/assets/templates/standard-template.sh +96 -0
  45. package/skills/global_config/bash-script-generator/docs/bash-scripting-guide.md +729 -0
  46. package/skills/global_config/bash-script-generator/docs/generation-best-practices.md +193 -0
  47. package/skills/global_config/bash-script-generator/docs/script-patterns.md +566 -0
  48. package/skills/global_config/bash-script-generator/docs/text-processing-guide.md +437 -0
  49. package/skills/global_config/bash-script-generator/examples/log-analyzer.sh +92 -0
  50. package/skills/global_config/bash-script-generator/scripts/generate_script_template.sh +123 -0
  51. package/skills/global_config/bash-script-generator/scripts/run_ci_checks.sh +172 -0
  52. package/skills/global_config/bash-script-generator/scripts/test_generator.sh +413 -0
  53. package/skills/global_config/bash-script-validator/SKILL.md +249 -0
  54. package/skills/global_config/bash-script-validator/docs/awk-reference.md +449 -0
  55. package/skills/global_config/bash-script-validator/docs/bash-reference.md +468 -0
  56. package/skills/global_config/bash-script-validator/docs/common-mistakes.md +623 -0
  57. package/skills/global_config/bash-script-validator/docs/grep-reference.md +395 -0
  58. package/skills/global_config/bash-script-validator/docs/regex-reference.md +391 -0
  59. package/skills/global_config/bash-script-validator/docs/sed-reference.md +454 -0
  60. package/skills/global_config/bash-script-validator/docs/shell-reference.md +463 -0
  61. package/skills/global_config/bash-script-validator/docs/shellcheck-reference.md +399 -0
  62. package/skills/global_config/bash-script-validator/examples/bad-bash.sh +55 -0
  63. package/skills/global_config/bash-script-validator/examples/bad-shell.sh +54 -0
  64. package/skills/global_config/bash-script-validator/examples/good-bash.sh +71 -0
  65. package/skills/global_config/bash-script-validator/examples/good-shell.sh +69 -0
  66. package/skills/global_config/bash-script-validator/scripts/run_ci_checks.sh +23 -0
  67. package/skills/global_config/bash-script-validator/scripts/shellcheck_wrapper.sh +174 -0
  68. package/skills/global_config/bash-script-validator/scripts/test_validate.sh +446 -0
  69. package/skills/global_config/bash-script-validator/scripts/validate.sh +512 -0
  70. package/skills/global_config/ci-pipeline/SKILL.md +135 -0
  71. package/skills/global_config/deja-memory/SKILL.md +3 -1
  72. package/skills/global_config/dispatching-parallel-agents/SKILL.md +170 -0
  73. package/skills/global_config/dockerfile-generator/SKILL.md +1038 -0
  74. package/skills/global_config/dockerfile-generator/examples/example.dockerignore +95 -0
  75. package/skills/global_config/dockerfile-generator/examples/golang-distroless.Dockerfile +34 -0
  76. package/skills/global_config/dockerfile-generator/examples/java-springboot.Dockerfile +45 -0
  77. package/skills/global_config/dockerfile-generator/examples/nextjs-production.Dockerfile +49 -0
  78. package/skills/global_config/dockerfile-generator/examples/nodejs-multistage.Dockerfile +55 -0
  79. package/skills/global_config/dockerfile-generator/examples/python-fastapi.Dockerfile +48 -0
  80. package/skills/global_config/dockerfile-generator/references/language_specific_guides.md +510 -0
  81. package/skills/global_config/dockerfile-generator/references/multistage_builds.md +570 -0
  82. package/skills/global_config/dockerfile-generator/references/optimization_patterns.md +492 -0
  83. package/skills/global_config/dockerfile-generator/references/security_best_practices.md +375 -0
  84. package/skills/global_config/dockerfile-generator/scripts/generate_dockerignore.sh +199 -0
  85. package/skills/global_config/dockerfile-generator/scripts/generate_golang.sh +172 -0
  86. package/skills/global_config/dockerfile-generator/scripts/generate_java.sh +185 -0
  87. package/skills/global_config/dockerfile-generator/scripts/generate_nodejs.sh +279 -0
  88. package/skills/global_config/dockerfile-generator/scripts/generate_python.sh +218 -0
  89. package/skills/global_config/dockerfile-generator/scripts/test_generator.sh +210 -0
  90. package/skills/global_config/dockerfile-validator/SKILL.md +300 -0
  91. package/skills/global_config/dockerfile-validator/examples/.dockerignore.example +34 -0
  92. package/skills/global_config/dockerfile-validator/examples/bad-example.Dockerfile +37 -0
  93. package/skills/global_config/dockerfile-validator/examples/golang-distroless.Dockerfile +50 -0
  94. package/skills/global_config/dockerfile-validator/examples/good-example.Dockerfile +52 -0
  95. package/skills/global_config/dockerfile-validator/examples/python-optimized.Dockerfile +53 -0
  96. package/skills/global_config/dockerfile-validator/examples/security-issues.Dockerfile +42 -0
  97. package/skills/global_config/dockerfile-validator/references/docker_best_practices.md +348 -0
  98. package/skills/global_config/dockerfile-validator/references/optimization_guide.md +473 -0
  99. package/skills/global_config/dockerfile-validator/references/security_checklist.md +208 -0
  100. package/skills/global_config/dockerfile-validator/scripts/dockerfile-validate.sh +699 -0
  101. package/skills/global_config/dockerfile-validator/scripts/test_validate.sh +35 -0
  102. package/skills/global_config/dockerfile-validator/tests/fixtures/copy-before-yarn-lock-read.Dockerfile +6 -0
  103. package/skills/global_config/dockerfile-validator/tests/fixtures/copy-before-yarn.Dockerfile +6 -0
  104. package/skills/global_config/dockerfile-validator/tests/fixtures/from-platform-nonroot.Dockerfile +7 -0
  105. package/skills/global_config/dockerfile-validator/tests/test_regression.sh +164 -0
  106. package/skills/global_config/finishing-a-development-branch/SKILL.md +228 -0
  107. package/skills/global_config/github-actions-generator/SKILL.md +353 -0
  108. package/skills/global_config/github-actions-generator/assets/templates/action/composite/action.yml +82 -0
  109. package/skills/global_config/github-actions-generator/assets/templates/action/docker/Dockerfile +25 -0
  110. package/skills/global_config/github-actions-generator/assets/templates/action/docker/action.yml +42 -0
  111. package/skills/global_config/github-actions-generator/assets/templates/action/docker/entrypoint.sh +27 -0
  112. package/skills/global_config/github-actions-generator/assets/templates/action/javascript/action.yml +33 -0
  113. package/skills/global_config/github-actions-generator/assets/templates/action/javascript/index.js +50 -0
  114. package/skills/global_config/github-actions-generator/assets/templates/action/javascript/package.json +27 -0
  115. package/skills/global_config/github-actions-generator/assets/templates/workflow/basic_workflow.yml +242 -0
  116. package/skills/global_config/github-actions-generator/assets/templates/workflow/reusable_workflow.yml +106 -0
  117. package/skills/global_config/github-actions-generator/examples/README.md +147 -0
  118. package/skills/global_config/github-actions-generator/examples/actions/setup-node-cached/action.yml +93 -0
  119. package/skills/global_config/github-actions-generator/examples/caching/docker-buildkit.yml +256 -0
  120. package/skills/global_config/github-actions-generator/examples/security/dependency-review.yml +62 -0
  121. package/skills/global_config/github-actions-generator/examples/security/sbom-attestation.yml +119 -0
  122. package/skills/global_config/github-actions-generator/examples/triggers/chatops-commands.yml +475 -0
  123. package/skills/global_config/github-actions-generator/examples/triggers/repository-dispatch.yml +418 -0
  124. package/skills/global_config/github-actions-generator/examples/triggers/workflow-orchestration.yml +404 -0
  125. package/skills/global_config/github-actions-generator/examples/workflows/docker-build-push.yml +68 -0
  126. package/skills/global_config/github-actions-generator/examples/workflows/go-ci.yml +161 -0
  127. package/skills/global_config/github-actions-generator/examples/workflows/monorepo-ci.yml +340 -0
  128. package/skills/global_config/github-actions-generator/examples/workflows/multi-environment-deploy.yml +406 -0
  129. package/skills/global_config/github-actions-generator/examples/workflows/nodejs-ci.yml +122 -0
  130. package/skills/global_config/github-actions-generator/examples/workflows/python-ci.yml +157 -0
  131. package/skills/global_config/github-actions-generator/examples/workflows/scheduled-tasks.yml +376 -0
  132. package/skills/global_config/github-actions-generator/references/advanced-triggers.md +917 -0
  133. package/skills/global_config/github-actions-generator/references/best-practices.md +755 -0
  134. package/skills/global_config/github-actions-generator/references/common-actions.md +715 -0
  135. package/skills/global_config/github-actions-generator/references/custom-actions.md +320 -0
  136. package/skills/global_config/github-actions-generator/references/expressions-and-contexts.md +688 -0
  137. package/skills/global_config/github-actions-generator/references/modern-features.md +421 -0
  138. package/skills/global_config/github-actions-generator/scripts/test_generator.sh +344 -0
  139. package/skills/global_config/github-actions-templates/SKILL.md +7 -0
  140. package/skills/global_config/github-actions-validator/SKILL.md +576 -0
  141. package/skills/global_config/github-actions-validator/examples/README.md +88 -0
  142. package/skills/global_config/github-actions-validator/examples/outdated-versions.yml +76 -0
  143. package/skills/global_config/github-actions-validator/examples/valid-ci.yml +79 -0
  144. package/skills/global_config/github-actions-validator/examples/with-errors.yml +47 -0
  145. package/skills/global_config/github-actions-validator/references/act_usage.md +233 -0
  146. package/skills/global_config/github-actions-validator/references/action_versions.md +122 -0
  147. package/skills/global_config/github-actions-validator/references/actionlint_usage.md +343 -0
  148. package/skills/global_config/github-actions-validator/references/common_errors.md +512 -0
  149. package/skills/global_config/github-actions-validator/references/modern_features.md +384 -0
  150. package/skills/global_config/github-actions-validator/references/runners.md +317 -0
  151. package/skills/global_config/github-actions-validator/scripts/install_tools.sh +113 -0
  152. package/skills/global_config/github-actions-validator/scripts/validate_workflow.sh +910 -0
  153. package/skills/global_config/github-actions-validator/tests/test_validate_workflow.sh +237 -0
  154. package/skills/global_config/makefile-generator/SKILL.md +614 -0
  155. package/skills/global_config/makefile-generator/assets/templates/.gitkeep +1 -0
  156. package/skills/global_config/makefile-generator/docs/makefile-structure.md +530 -0
  157. package/skills/global_config/makefile-generator/docs/optimization-guide.md +784 -0
  158. package/skills/global_config/makefile-generator/docs/patterns-guide.md +642 -0
  159. package/skills/global_config/makefile-generator/docs/security-guide.md +361 -0
  160. package/skills/global_config/makefile-generator/docs/targets-guide.md +642 -0
  161. package/skills/global_config/makefile-generator/docs/variables-guide.md +596 -0
  162. package/skills/global_config/makefile-generator/scripts/add_standard_targets.sh +539 -0
  163. package/skills/global_config/makefile-generator/scripts/generate_makefile_template.sh +690 -0
  164. package/skills/global_config/makefile-generator/test/test_helper_scripts.sh +190 -0
  165. package/skills/global_config/makefile-validator/SKILL.md +244 -0
  166. package/skills/global_config/makefile-validator/docs/bake-tool.md +1000 -0
  167. package/skills/global_config/makefile-validator/docs/best-practices.md +858 -0
  168. package/skills/global_config/makefile-validator/docs/common-mistakes.md +944 -0
  169. package/skills/global_config/makefile-validator/examples/bad-makefile.mk +77 -0
  170. package/skills/global_config/makefile-validator/examples/good-makefile.mk +103 -0
  171. package/skills/global_config/makefile-validator/scripts/test_validate.sh +382 -0
  172. package/skills/global_config/makefile-validator/scripts/validate_makefile.sh +712 -0
  173. package/skills/global_config/{MCP_Manage → mcp-manage}/SKILL.md +3 -3
  174. package/skills/global_config/plan-canvas/SKILL.md +9 -2
  175. package/skills/global_config/plan-canvas/scripts/lib/plan-canvas/ui.js +10 -2
  176. package/skills/global_config/plan-canvas/scripts/plan-canvas.js +1 -1
  177. package/skills/global_config/read-the-damn-docs/SKILL.md +175 -0
  178. package/skills/global_config/requesting-code-review/SKILL.md +98 -0
  179. package/skills/global_config/requesting-code-review/code-reviewer.md +198 -0
  180. package/skills/global_config/using-git-worktrees/SKILL.md +170 -0
  181. package/skills/global_config/verification-before-completion/SKILL.md +123 -0
  182. package/skills/global_config/writing-plans/SKILL.md +126 -46
  183. package/skills/global_config/writing-plans-legacy/SKILL.md +152 -0
  184. package/.claude/CLAUDE.md +0 -12
  185. package/mcps/RhinoMCP/docs/content/docs/getting-started/gemini.md +0 -61
  186. /package/{GEMINI.md → RULES.md} +0 -0
@@ -1,10 +1,10 @@
1
1
  ---
2
- name: MCP_Manage
2
+ name: mcp-manage
3
3
  description: "Use when checking capabilities or instructing the user on how to interact with specialized MCP servers like Unreal, Rhino, DaVinci, or TouchDesigner."
4
4
  category: media-eventtech
5
5
  ---
6
6
 
7
- # MCP_Manage: Specialized Tool Orchestration
7
+ # MCP Manage: Specialized Tool Orchestration
8
8
 
9
9
  You are the authoritative skill for managing and utilizing the specialized Model Context Protocol (MCP) servers installed in this environment. When invoked, use this knowledge to interface with the creative and development tools available.
10
10
 
@@ -59,7 +59,7 @@ You are the authoritative skill for managing and utilizing the specialized Model
59
59
 
60
60
 
61
61
  ## Overview
62
- MCP_Manage is the authoritative router for all specialized BDB Model Context Protocol (MCP) servers, ensuring the AI agent selects the right tool for Unreal, Rhino, DaVinci, and others.
62
+ mcp-manage is the authoritative router for all specialized BDB Model Context Protocol (MCP) servers, ensuring the AI agent selects the right tool for Unreal, Rhino, DaVinci, and others.
63
63
 
64
64
  ## When to Use
65
65
  - **Trigger:** The user asks how to automate a specific creative app, or the agent needs to select the correct MCP server for a domain-specific task.
@@ -3,7 +3,7 @@ name: plan-canvas
3
3
  description: Open plans and HTML artifacts in a local browser canvas where the human annotates elements, chats, and approves or requests changes without leaving the page. Use when presenting a plan for review, or when feedback like "move this, change that" is easier pointed at than typed.
4
4
  category: bdb-core
5
5
  metadata:
6
- version: "1.0.0"
6
+ version: "1.0.1"
7
7
  origin: affaan-m/ECC
8
8
  license: MIT
9
9
  ---
@@ -28,6 +28,10 @@ AOS from [affaan-m/ECC](https://github.com/affaan-m/ECC).
28
28
  decision — the canvas verdict replaces a typed "yes/proceed".
29
29
  - **Mandatory, not optional**, at the end of `bdbrainstorm` (before writing
30
30
  `state.goal` / handing off to `/startcycle-graph`) and `bdbmediastorm`
31
+ - **Visual Extensions (BuilderIO Integration):** When generating plans, always ask the human which Canvas version they prefer:
32
+ - **Plan-Canvas Preview**: Standard markdown/html review.
33
+ - **Archify Canvas**: For strict architecture schema validation.
34
+ - **Visual Ecosystem**: Use `/visual-plan` (turn text plans into rich visual plans), `/visual-recap` (turn diffs into interactive visual recaps), or `/visual-edit` (open a running local app for visual editing).
31
35
  (before the show-control architecture is considered final) — both produce
32
36
  a plan/spec artifact a human must approve before anything downstream
33
37
  proceeds. See each skill's own "Plan Canvas Review" section.
@@ -75,11 +79,14 @@ If your turn ends with nothing listening, the message sits in the queue and,
75
79
  from the human's side of the glass, sending appears to do nothing at all.
76
80
 
77
81
  So **run `await` as a background task** when your harness supports one (in
78
- Claude Code, a Bash call with `run_in_background: true`). It exits the moment
82
+ Claude Code, a Bash call with `run_in_background: true`; in Antigravity, use `WaitMsBeforeAsync: 500`). It exits the moment
79
83
  feedback arrives and the harness hands you the JSON, which keeps the loop alive
80
84
  across turns instead of dying with the foreground call. A foreground `await`
81
85
  works too, but only until the harness time-limits it.
82
86
 
87
+ > **OpenCode Limitations**: OpenCode currently lacks reactive background tasks (like AGY's `WaitMsBeforeAsync`) or background shells. If you are running in OpenCode, you must poll explicitly if needed (e.g., `aos-plan-canvas await <file> --timeout-ms 10000`), or launch the opencode-subagent to handle the waiting.
88
+ > Furthermore, OpenCode's execution environment often fails to launch the default browser automatically. **Whenever you use `open` or `await`, ALWAYS print the direct Canvas URL to the user in chat (e.g., "🔗 Canvas geöffnet: http://127.0.0.1:4519/canvas/...")** so they can click it manually.
89
+
83
90
  One backstop exists, and it is not an excuse to skip the above:
84
91
 
85
92
  - `aos-plan-canvas pending` lists feedback queued with no listener. Check it
@@ -544,7 +544,11 @@ function renderMarkdownArtifactHtml(bodyHtml, { title, sdkSrc }) {
544
544
  ${TOKENS_CSS}
545
545
  *{margin:0;padding:0;box-sizing:border-box}
546
546
  body{font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;line-height:1.65;font-size:14.5px}
547
- .doc{max-width:860px;margin:0 auto;padding:44px 36px 90px}
547
+ /* Two tracks: tables, code and diagrams take the whole frame; prose keeps a
548
+ readable measure. A single narrow column starved wide tables, and a single
549
+ wide column made body text unreadable. */
550
+ .doc{max-width:min(1560px,100%);margin:0 auto;padding:44px 36px 90px}
551
+ .doc>p,.doc>ul,.doc>ol,.doc>blockquote{max-width:104ch}
548
552
  h1,h2,h3,h4,h5,h6{line-height:1.25;margin:1.6em 0 .55em;letter-spacing:-.01em}
549
553
  h1{font-size:26px;margin-top:.3em;padding-bottom:.45em;border-bottom:1px solid var(--border)}
550
554
  h1:after{content:'';display:block;width:56px;height:3px;margin-top:14px;border-radius:2px;background:linear-gradient(90deg,var(--accent),var(--pink))}
@@ -563,7 +567,11 @@ ${TOKENS_CSS}
563
567
  pre code{background:none;border:none;padding:0;font-size:12.5px;line-height:1.55}
564
568
  blockquote{border-left:3px solid var(--accent);background:var(--accent-glow);border-radius:0 var(--radius-sm) var(--radius-sm) 0;padding:8px 14px;color:var(--text2)}
565
569
  table{width:100%;border-collapse:collapse;font-size:13px;display:block;overflow-x:auto}
566
- th,td{text-align:left;padding:7px 12px;border:1px solid var(--border)}
570
+ /* a clipped column must look scrollable, not truncated: keep the scrollbar visible */
571
+ table::-webkit-scrollbar{height:9px}
572
+ table::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:99px}
573
+ table::-webkit-scrollbar-track{background:var(--bg3);border-radius:99px}
574
+ th,td{text-align:left;padding:7px 10px;border:1px solid var(--border)}
567
575
  th{background:var(--bg3);font-weight:600;font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--text2);white-space:nowrap}
568
576
  tbody tr:hover{background:var(--surface-hover)}
569
577
  hr{border:none;border-top:1px solid var(--border);margin:1.6em 0}
@@ -37,7 +37,7 @@ const {
37
37
  resolvePort
38
38
  } = require('./lib/plan-canvas/server');
39
39
 
40
- const VERSION = '1.0.0'; // vendored Plan Canvas protocol version; matches SKILL.md metadata.version.
40
+ const VERSION = '1.0.1'; // vendored Plan Canvas protocol version; matches SKILL.md metadata.version.
41
41
  // Bump when the vendored JS changes, to force a stale detached server to restart.
42
42
 
43
43
  const SAFE_REQUEST_PATHS = new Set([
@@ -0,0 +1,175 @@
1
+ ---
2
+ name: read-the-damn-docs
3
+ description: >-
4
+ Use when implementing, integrating, upgrading, debugging, or answering
5
+ anything involving third-party APIs, libraries, frameworks, CLIs, cloud
6
+ services, model or provider SDKs, fast-moving product behavior, unfamiliar
7
+ repo docs or specs, errors that may indicate API drift, or high-stakes auth,
8
+ security, billing, data, migration, deployment, compliance, or privacy
9
+ behavior. Forces a docs pass before coding from memory.
10
+ category: engineering-method
11
+ source: BuilderIO/skills
12
+ ---
13
+
14
+ # Read The Damn Docs
15
+
16
+ Do not guess where authoritative docs can answer the question. The most common
17
+ correct move is to search for the current official docs, open the relevant
18
+ pages, and read them before writing code. For APIs, versions, provider behavior,
19
+ config, limits, lifecycle hooks, or security-sensitive flows, ground the answer
20
+ in what the docs actually say.
21
+
22
+ **Division of labour with `AGENTS.md`.** `AGENTS.md`'s *Zero guesswork* rule
23
+ states the obligation and the trigger list. This skill is the **procedure** that
24
+ discharges it. If the two ever disagree, the rule in `AGENTS.md` wins and this
25
+ file is the thing that should change.
26
+
27
+ Adapted from [BuilderIO/skills](https://github.com/BuilderIO/skills) (MIT).
28
+ Prose only — no upstream scripts, no agent config, no dependency.
29
+
30
+ ---
31
+
32
+ ## 1. Docs-First Triggers
33
+
34
+ Read docs before proceeding when any of these are true:
35
+
36
+ - The user asks for "latest", "current", "official", "supported", "best
37
+ practice", "recommended", "today", "now", or "look it up".
38
+ - The needed docs are **not** already in the repo or supplied by the user.
39
+ Search for the official docs rather than hoping model memory is current.
40
+ - The task adds, upgrades, configures, or imports a package, SDK, framework,
41
+ plugin, CLI, model, cloud resource, or provider integration.
42
+ - The API is fast-moving or version-sensitive: AI SDKs, model provider APIs,
43
+ Next.js, React, Tailwind, Vite, Drizzle, Prisma, Stripe, GitHub, Slack,
44
+ Notion, browser APIs, deployment platforms, auth libraries, and similar.
45
+ - The implementation depends on auth, OAuth scopes, permissions, secrets,
46
+ webhooks, billing, payments, PII, encryption, data retention, migrations,
47
+ retries, rate limits, quotas, caching, deploys, or compliance.
48
+ - An error mentions deprecation, unknown options, missing exports, invalid
49
+ config, unsupported fields, changed defaults, or version mismatch.
50
+ - The repo has local docs, ADRs, generated schemas, OpenAPI specs, route or
51
+ action registries, design-system docs, or package-level READMEs that could
52
+ define the contract.
53
+ - The choice is expensive to reverse: public wire formats, database schema,
54
+ migration strategy, persistent IDs, event names, customer-visible behavior,
55
+ or external automation contracts.
56
+ - You catch yourself about to write "usually", "probably", "I think", "from
57
+ memory", or code copied from model memory for an external API.
58
+
59
+ ---
60
+
61
+ ## 2. What Counts As Docs
62
+
63
+ Use the most authoritative source available:
64
+
65
+ - **Local** repo docs, specs, ADRs, schemas, generated types, package READMEs,
66
+ and tests — for project-specific behaviour.
67
+ - **Official** product docs, API references, migration guides, changelogs,
68
+ release notes, and SDK source or type definitions — for third-party
69
+ behaviour. Find these with web search when you do not already have the URL.
70
+ - **Package registry metadata** for versions. Before adding a dependency, check
71
+ its current version (`npm view <pkg> version`, `pnpm view <pkg> version`, or
72
+ the ecosystem equivalent), then read the docs for *that* major version.
73
+ - **Source code or type definitions** when official docs are incomplete. Treat
74
+ this as evidence, not folklore.
75
+
76
+ Avoid Stack Overflow, old blog posts, random snippets, and memory as the
77
+ primary source when official docs exist. Use community sources only to debug
78
+ symptoms *after* the authoritative contract is known.
79
+
80
+ **In this environment:** `firecrawl-search` and `firecrawl-scrape` are the
81
+ installed tools for the web pass, and `deja-memory` / `memb_mcp` can surface
82
+ prior project knowledge. Neither substitutes for a docs read.
83
+
84
+ ---
85
+
86
+ ## 3. Required Workflow
87
+
88
+ 1. **Identify the exact surface** — package name, installed version, target
89
+ version, provider endpoint, CLI command, config file, local helper, schema,
90
+ or product feature.
91
+ 2. **Search for the current official docs**, unless the relevant docs are
92
+ already local or the user supplied a URL. Targeted queries work best:
93
+ `<product> <feature> official docs`, `<package> migration guide`,
94
+ `<provider> API reference`.
95
+ 3. **Open and read the docs closest to that surface.** Prefer local docs first
96
+ for internal code, then official upstream docs. For new packages, verify the
97
+ latest version before writing imports, config, or install commands.
98
+ 4. **Extract the few facts needed** — option names, imports, lifecycle rules,
99
+ default behaviour, breaking changes, limits, permissions, and examples for
100
+ the current major version.
101
+ 5. **Implement or answer using those facts.** If the docs conflict with existing
102
+ code, inspect the local code path and call out the discrepancy — do not
103
+ silently pick one.
104
+ 6. **Verify with the smallest useful check** — typecheck, tests, build, CLI dry
105
+ run, API schema validation, or a local reproduction. This is the same
106
+ "narrowest quiet validation" rule the Shipping gate enforces.
107
+ 7. **Name what you read** in the final answer, when that evidence affected the
108
+ recommendation or the implementation.
109
+
110
+ ---
111
+
112
+ ## 4. Examples That Must Trigger A Docs Pass
113
+
114
+ - *"Add Tailwind to this app."* — Check the current Tailwind major and its
115
+ install docs before creating config files or assuming old PostCSS setup.
116
+ - *"Stream responses with the AI SDK."* — Verify the current SDK major,
117
+ provider package names, streaming helpers, and runtime examples.
118
+ - *"Wire up Stripe webhooks."* — Read current signature verification, event
119
+ retry, endpoint secret, and framework body-parsing docs before coding.
120
+ - *"Fix this Next.js caching bug."* — Read the docs for the **installed** major
121
+ and router mode before assuming cache invalidation semantics.
122
+ - *"Add Drizzle migrations."* — Read the current kit docs **and** the existing
123
+ repo migration conventions before generating files.
124
+ - *"Create a GitHub Action."* — Read Actions syntax and permissions docs,
125
+ especially `pull_request`, `workflow_run`, OIDC, tokens, and artifacts.
126
+ - *"Why does this OAuth flow fail?"* — Read the provider's scopes, redirect URI,
127
+ PKCE, token refresh, and app-verification docs before changing code.
128
+ - *"Use this repo's plan/comment/action system."* — Read local docs, route and
129
+ action registries, schemas, and tests before inventing endpoints or props.
130
+ - *"Upgrade Vite/React."* — Read the migration guide for the **exact** target
131
+ major before editing config or imports.
132
+ - *"What model should we use?"* — Read current provider model docs, pricing and
133
+ limits pages, and SDK examples before recommending.
134
+
135
+ ---
136
+
137
+ ## 5. When A Quick Local Read Is Enough
138
+
139
+ Do not search the web for every tiny edit. A docs pass can be local and brief
140
+ when the answer is already in the repo: existing helper usage, nearby tests,
141
+ typed interfaces, generated clients, ADRs, or package READMEs.
142
+
143
+ But if the task depends on an external tool, package, provider, or current
144
+ product behaviour, a search is usually the right first step. For trivial
145
+ language syntax, typo fixes, formatting, or self-contained code with no
146
+ external contract, proceed normally.
147
+
148
+ ---
149
+
150
+ ## 6. If Docs Are Unavailable
151
+
152
+ If network access, auth, or missing local files prevents reading the docs, say
153
+ that plainly **before** relying on memory. Narrow the uncertainty, inspect
154
+ source or types if available, and do not present the result as
155
+ confirmed-current. A clearly-labelled estimate is useful; an unlabelled one is
156
+ a defect.
157
+
158
+ ---
159
+
160
+ ## 7. Verification
161
+
162
+ - [ ] Every trigger in §1 was checked before writing code, not after.
163
+ - [ ] The exact version in play was established (installed vs. target), and the
164
+ docs read match that major.
165
+ - [ ] At least one authoritative source backs every external API, option name,
166
+ default, limit, and lifecycle claim in the output.
167
+ - [ ] No claim rests on Stack Overflow, a blog post, or model memory as its
168
+ primary source.
169
+ - [ ] Conflicts between docs and local code were surfaced, not silently
170
+ resolved.
171
+ - [ ] The smallest useful verification check was run and its result reported.
172
+ - [ ] The sources consulted are named in the response where they affected the
173
+ recommendation.
174
+ - [ ] Any remaining uncertainty is stated explicitly, with what would resolve it.
175
+ - [ ] No npm dependency, script, or executable was added by this skill.
@@ -0,0 +1,98 @@
1
+ ---
2
+ name: requesting-code-review
3
+ description: Use when completing tasks, implementing major features, or before merging to verify work meets requirements
4
+ category: engineering-method
5
+ source: superpowers
6
+ date_added: "2026-09-25"
7
+ ---
8
+
9
+ # Requesting Code Review
10
+
11
+ Dispatch a code reviewer subagent to catch issues before they cascade. The reviewer gets precisely crafted context for evaluation — never your session's history.
12
+
13
+ **Core principle:** Review early, review often.
14
+
15
+ ## When to Request Review
16
+
17
+ **Mandatory:**
18
+ - After each task in subagent-driven development
19
+ - After completing major feature
20
+ - Before merge to main
21
+
22
+ **Optional but valuable:**
23
+ - When stuck (fresh perspective)
24
+ - Before refactoring (baseline check)
25
+ - After fixing complex bug
26
+
27
+ ## How to Request
28
+
29
+ **1. Get git SHAs:**
30
+ ```bash
31
+ BASE_SHA=$(git rev-parse HEAD~1) # or: git merge-base origin/main HEAD
32
+ HEAD_SHA=$(git rev-parse HEAD)
33
+ ```
34
+
35
+ **2. Dispatch code reviewer subagent:**
36
+
37
+ Dispatch a `general-purpose` subagent, filling the template at [code-reviewer.md](code-reviewer.md)
38
+
39
+ **Placeholders:**
40
+ - `{DESCRIPTION}` - Brief summary of what you built
41
+ - `{PLAN_OR_REQUIREMENTS}` - What it should do
42
+ - `{BASE_SHA}` - Starting commit
43
+ - `{HEAD_SHA}` - Ending commit
44
+
45
+ **3. Act on feedback:**
46
+ - Fix Critical issues immediately
47
+ - Fix Important issues before proceeding
48
+ - Note Minor issues for later
49
+ - Push back if reviewer is wrong (with reasoning)
50
+
51
+ ## Example
52
+
53
+ ```
54
+ [Just completed Task 2: Add verification function]
55
+
56
+ You: Let me request code review before proceeding.
57
+
58
+ BASE_SHA=$(git log --oneline | grep "Task 1" | head -1 | awk '{print $1}')
59
+ HEAD_SHA=$(git rev-parse HEAD)
60
+
61
+ [Dispatch code reviewer subagent]
62
+ DESCRIPTION: Added verifyIndex() and repairIndex() with 4 issue types
63
+ PLAN_OR_REQUIREMENTS: Task 2 from docs/superpowers/plans/deployment-plan.md
64
+ BASE_SHA: a7981ec
65
+ HEAD_SHA: 3df7661
66
+
67
+ [Subagent returns]:
68
+ Strengths: Clean architecture, real tests
69
+ Issues:
70
+ Important: Missing progress indicators
71
+ Minor: Magic number (100) for reporting interval
72
+ Assessment: Ready to proceed
73
+
74
+ You: [Fix progress indicators]
75
+ [Continue to Task 3]
76
+ ```
77
+
78
+ ## Common Rationalizations
79
+
80
+ | Excuse | Reality |
81
+ |--------|---------|
82
+ | "I'll just review the diff myself instead of dispatching a reviewer" | You're the coordinator — reviewing the diff inline burns the context window you need to keep driving the work. Dispatch a reviewer subagent: the diff and the evaluation live in its context, and only the findings come back to you. |
83
+ | "The reviewer needs my whole session history to understand the change" | Hand it precisely crafted context, never your session's history. That keeps the reviewer on the work product, not your thought process. |
84
+
85
+ ## Red Flags
86
+
87
+ **Never:**
88
+ - Skip review because "it's simple"
89
+ - Ignore Critical issues
90
+ - Proceed with unfixed Important issues
91
+ - Argue with valid technical feedback
92
+
93
+ **If reviewer wrong:**
94
+ - Push back with technical reasoning
95
+ - Show code/tests that prove it works
96
+ - Request clarification
97
+
98
+ See template at: [code-reviewer.md](code-reviewer.md)
@@ -0,0 +1,198 @@
1
+ # Code Reviewer Prompt Template
2
+
3
+ Use this template when dispatching a code reviewer subagent.
4
+
5
+ **Purpose:** Review completed work against requirements and code quality standards before it cascades into more work.
6
+
7
+ ```
8
+ Subagent (general-purpose):
9
+ description: "Review code changes"
10
+ prompt: |
11
+ You are a Senior Code Reviewer with expertise in software architecture,
12
+ design patterns, and best practices. Your job is to review completed work
13
+ against its plan or requirements and identify issues before they cascade.
14
+
15
+ ## What Was Implemented
16
+
17
+ [DESCRIPTION]
18
+
19
+ ## Requirements / Plan
20
+
21
+ [PLAN_OR_REQUIREMENTS]
22
+
23
+ ## Git Range to Review
24
+
25
+ **Base:** [BASE_SHA]
26
+ **Head:** [HEAD_SHA]
27
+
28
+ ```bash
29
+ git diff --stat [BASE_SHA]..[HEAD_SHA]
30
+ git diff [BASE_SHA]..[HEAD_SHA]
31
+ ```
32
+
33
+ ## The spec is a vision document
34
+
35
+ The spec says what the software must do. It does not enumerate every
36
+ input, environment, or condition the software will meet. For behavior
37
+ the spec is silent on, judge by what a reasonable person using this
38
+ software would expect: a reasonable person's expectation is a
39
+ requirement, and a spec's silence is not permission. Grade such
40
+ findings by their effect on that person, not by whether the spec
41
+ mentions the trigger.
42
+
43
+ ## Declined to judge
44
+
45
+ Before your verdict, list every behavior you considered and set aside
46
+ as outside the plan or spec, one line each, with the reason. The
47
+ executor rules on each line; nothing you set aside is dropped
48
+ silently. An empty list means you set nothing aside.
49
+
50
+ ## Read-Only Review
51
+
52
+ Your review is read-only on this checkout. Do not mutate the working tree, the index, HEAD, or branch state in any way. Use tools like `git show`, `git diff`, and `git log` to inspect history. If you need a working copy of a different revision, check it out into a separate temporary directory (e.g. `git worktree add /tmp/review-[SHA] [SHA]`) — never move HEAD on this checkout.
53
+
54
+ ## You Do Not Dispatch Subagents
55
+
56
+ Do all of this review yourself. Never spawn a subagent to review part
57
+ of the diff, and never spawn another reviewer for a second opinion.
58
+ This process already provides every review seat the work gets; a
59
+ reviewer you spawn duplicates one of them at full cost, and its
60
+ verdict counts for nothing. If the diff feels too large for one
61
+ pass, review it in passes yourself and say so in your report.
62
+
63
+ ## What to Check
64
+
65
+ **Plan alignment:**
66
+ - Does the implementation match the plan / requirements?
67
+ - Are deviations justified improvements, or problematic departures?
68
+ - Is all planned functionality present?
69
+
70
+ **Code quality:**
71
+ - Clean separation of concerns?
72
+ - Proper error handling?
73
+ - Type safety where applicable?
74
+ - DRY without premature abstraction?
75
+ - Edge cases handled?
76
+
77
+ **Architecture:**
78
+ - Sound design decisions?
79
+ - Reasonable scalability and performance?
80
+ - Security concerns?
81
+ - Integrates cleanly with surrounding code?
82
+
83
+ **Testing:**
84
+ - Tests verify real behavior, not mocks?
85
+ - Edge cases covered?
86
+ - Integration tests where they matter?
87
+ - All tests passing?
88
+
89
+ **Production readiness:**
90
+ - Migration strategy if schema changed?
91
+ - Backward compatibility considered?
92
+ - Documentation complete?
93
+ - No obvious bugs?
94
+
95
+ ## Calibration
96
+
97
+ Categorize issues by actual severity. Not everything is Critical.
98
+ Acknowledge what was done well before listing issues — accurate praise
99
+ helps the implementer trust the rest of the feedback.
100
+
101
+ If you find significant deviations from the plan, flag them specifically
102
+ so the implementer can confirm whether the deviation was intentional.
103
+ If you find issues with the plan itself rather than the implementation,
104
+ say so.
105
+
106
+ ## Output Format
107
+
108
+ ### Strengths
109
+ [What's well done? Be specific.]
110
+
111
+ ### Issues
112
+
113
+ #### Critical (Must Fix)
114
+ [Bugs, security issues, data loss risks, broken functionality]
115
+
116
+ #### Important (Should Fix)
117
+ [Architecture problems, missing features, poor error handling, test gaps]
118
+
119
+ #### Minor (Nice to Have)
120
+ [Code style, optimization opportunities, documentation polish]
121
+
122
+ For each issue:
123
+ - File:line reference
124
+ - What's wrong
125
+ - Why it matters
126
+ - How to fix (if not obvious)
127
+
128
+ ### Recommendations
129
+ [Improvements for code quality, architecture, or process]
130
+
131
+ ### Assessment
132
+
133
+ **Ready to merge?** [Yes | No | With fixes]
134
+
135
+ **Reasoning:** [1-2 sentence technical assessment]
136
+
137
+ ## Critical Rules
138
+
139
+ **DO:**
140
+ - Categorize by actual severity
141
+ - Be specific (file:line, not vague)
142
+ - Explain WHY each issue matters
143
+ - Acknowledge strengths
144
+ - Give a clear verdict
145
+
146
+ **DON'T:**
147
+ - Say "looks good" without checking
148
+ - Mark nitpicks as Critical
149
+ - Give feedback on code you didn't actually read
150
+ - Be vague ("improve error handling")
151
+ - Avoid giving a clear verdict
152
+ ```
153
+
154
+ **Placeholders:**
155
+ - `[DESCRIPTION]` — brief summary of what was built
156
+ - `[PLAN_OR_REQUIREMENTS]` — what it should do (plan file path, task text, or requirements)
157
+ - `[BASE_SHA]` — starting commit
158
+ - `[HEAD_SHA]` — ending commit
159
+
160
+ **Reviewer returns:** Strengths, Issues (Critical / Important / Minor), Recommendations, Assessment
161
+
162
+ ## Example Output
163
+
164
+ ```
165
+ ### Strengths
166
+ - Clean database schema with proper migrations (db.ts:15-42)
167
+ - Comprehensive test coverage (18 tests, all edge cases)
168
+ - Good error handling with fallbacks (summarizer.ts:85-92)
169
+
170
+ ### Issues
171
+
172
+ #### Important
173
+ 1. **Missing help text in CLI wrapper**
174
+ - File: index-conversations:1-31
175
+ - Issue: No --help flag, users won't discover --concurrency
176
+ - Fix: Add --help case with usage examples
177
+
178
+ 2. **Date validation missing**
179
+ - File: search.ts:25-27
180
+ - Issue: Invalid dates silently return no results
181
+ - Fix: Validate ISO format, throw error with example
182
+
183
+ #### Minor
184
+ 1. **Progress indicators**
185
+ - File: indexer.ts:130
186
+ - Issue: No "X of Y" counter for long operations
187
+ - Impact: Users don't know how long to wait
188
+
189
+ ### Recommendations
190
+ - Add progress reporting for user experience
191
+ - Consider config file for excluded projects (portability)
192
+
193
+ ### Assessment
194
+
195
+ **Ready to merge: With fixes**
196
+
197
+ **Reasoning:** Core implementation is solid with good architecture and tests. Important issues (help text, date validation) are easily fixed and don't affect core functionality.
198
+ ```