@event4u/agent-config 1.9.1

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 (446) hide show
  1. package/.agent-src/README.md +64 -0
  2. package/.agent-src/commands/agent-handoff.md +64 -0
  3. package/.agent-src/commands/agent-status.md +83 -0
  4. package/.agent-src/commands/agents-audit.md +243 -0
  5. package/.agent-src/commands/agents-cleanup.md +169 -0
  6. package/.agent-src/commands/agents-prepare.md +137 -0
  7. package/.agent-src/commands/analyze-reference-repo.md +191 -0
  8. package/.agent-src/commands/bug-fix.md +181 -0
  9. package/.agent-src/commands/bug-investigate.md +175 -0
  10. package/.agent-src/commands/commit.md +121 -0
  11. package/.agent-src/commands/compress.md +177 -0
  12. package/.agent-src/commands/config-agent-settings.md +126 -0
  13. package/.agent-src/commands/context-create.md +167 -0
  14. package/.agent-src/commands/context-refactor.md +170 -0
  15. package/.agent-src/commands/copilot-agents-init.md +150 -0
  16. package/.agent-src/commands/copilot-agents-optimize.md +251 -0
  17. package/.agent-src/commands/create-pr-description.md +112 -0
  18. package/.agent-src/commands/create-pr.md +76 -0
  19. package/.agent-src/commands/do-and-judge.md +114 -0
  20. package/.agent-src/commands/do-in-steps.md +84 -0
  21. package/.agent-src/commands/e2e-heal.md +98 -0
  22. package/.agent-src/commands/e2e-plan.md +85 -0
  23. package/.agent-src/commands/estimate-ticket.md +80 -0
  24. package/.agent-src/commands/feature-dev.md +111 -0
  25. package/.agent-src/commands/feature-explore.md +180 -0
  26. package/.agent-src/commands/feature-plan.md +288 -0
  27. package/.agent-src/commands/feature-refactor.md +181 -0
  28. package/.agent-src/commands/feature-roadmap.md +184 -0
  29. package/.agent-src/commands/fix-ci.md +48 -0
  30. package/.agent-src/commands/fix-portability.md +97 -0
  31. package/.agent-src/commands/fix-pr-bot-comments.md +146 -0
  32. package/.agent-src/commands/fix-pr-comments.md +58 -0
  33. package/.agent-src/commands/fix-pr-developer-comments.md +152 -0
  34. package/.agent-src/commands/fix-references.md +94 -0
  35. package/.agent-src/commands/fix-seeder.md +146 -0
  36. package/.agent-src/commands/implement-ticket.md +133 -0
  37. package/.agent-src/commands/jira-ticket.md +71 -0
  38. package/.agent-src/commands/judge.md +86 -0
  39. package/.agent-src/commands/memory-add.md +130 -0
  40. package/.agent-src/commands/memory-full.md +97 -0
  41. package/.agent-src/commands/memory-promote.md +144 -0
  42. package/.agent-src/commands/mode.md +121 -0
  43. package/.agent-src/commands/module-create.md +132 -0
  44. package/.agent-src/commands/module-explore.md +157 -0
  45. package/.agent-src/commands/optimize-agents.md +139 -0
  46. package/.agent-src/commands/optimize-augmentignore.md +262 -0
  47. package/.agent-src/commands/optimize-rtk-filters.md +120 -0
  48. package/.agent-src/commands/optimize-skills.md +121 -0
  49. package/.agent-src/commands/override-create.md +97 -0
  50. package/.agent-src/commands/override-manage.md +96 -0
  51. package/.agent-src/commands/package-reset.md +154 -0
  52. package/.agent-src/commands/package-test.md +154 -0
  53. package/.agent-src/commands/prepare-for-review.md +91 -0
  54. package/.agent-src/commands/project-analyze.md +300 -0
  55. package/.agent-src/commands/project-health.md +95 -0
  56. package/.agent-src/commands/propose-memory.md +108 -0
  57. package/.agent-src/commands/quality-fix.md +106 -0
  58. package/.agent-src/commands/refine-ticket.md +81 -0
  59. package/.agent-src/commands/review-changes.md +130 -0
  60. package/.agent-src/commands/review-routing.md +111 -0
  61. package/.agent-src/commands/roadmap-create.md +110 -0
  62. package/.agent-src/commands/roadmap-execute.md +68 -0
  63. package/.agent-src/commands/rule-compliance-audit.md +139 -0
  64. package/.agent-src/commands/tests-create.md +73 -0
  65. package/.agent-src/commands/tests-execute.md +58 -0
  66. package/.agent-src/commands/threat-model.md +115 -0
  67. package/.agent-src/commands/update-form-request-messages.md +189 -0
  68. package/.agent-src/commands/upstream-contribute.md +171 -0
  69. package/.agent-src/contexts/augment-infrastructure.md +181 -0
  70. package/.agent-src/contexts/documentation-hierarchy.md +142 -0
  71. package/.agent-src/contexts/model-recommendations.md +142 -0
  72. package/.agent-src/contexts/override-system.md +187 -0
  73. package/.agent-src/contexts/skills-and-commands.md +154 -0
  74. package/.agent-src/contexts/subagent-configuration.md +62 -0
  75. package/.agent-src/guidelines/agent-infra/agent-interaction-and-decision-quality.md +110 -0
  76. package/.agent-src/guidelines/agent-infra/break-glass-usage.md +113 -0
  77. package/.agent-src/guidelines/agent-infra/developer-judgment.md +82 -0
  78. package/.agent-src/guidelines/agent-infra/engineering-memory-data-format.md +117 -0
  79. package/.agent-src/guidelines/agent-infra/layered-settings.md +158 -0
  80. package/.agent-src/guidelines/agent-infra/memory-access.md +121 -0
  81. package/.agent-src/guidelines/agent-infra/naming.md +69 -0
  82. package/.agent-src/guidelines/agent-infra/output-patterns.md +117 -0
  83. package/.agent-src/guidelines/agent-infra/review-routing-data-format.md +144 -0
  84. package/.agent-src/guidelines/agent-infra/role-contracts.md +211 -0
  85. package/.agent-src/guidelines/agent-infra/role-mode-router.md +89 -0
  86. package/.agent-src/guidelines/agent-infra/runtime-layer.md +89 -0
  87. package/.agent-src/guidelines/agent-infra/self-improvement-pipeline.md +135 -0
  88. package/.agent-src/guidelines/agent-infra/size-and-scope.md +189 -0
  89. package/.agent-src/guidelines/agent-infra/tool-integration.md +73 -0
  90. package/.agent-src/guidelines/docs/readme-size-and-splitting.md +153 -0
  91. package/.agent-src/guidelines/e2e/playwright.md +363 -0
  92. package/.agent-src/guidelines/php/api-design.md +115 -0
  93. package/.agent-src/guidelines/php/artisan-commands.md +81 -0
  94. package/.agent-src/guidelines/php/blade-ui.md +78 -0
  95. package/.agent-src/guidelines/php/controllers.md +90 -0
  96. package/.agent-src/guidelines/php/database.md +111 -0
  97. package/.agent-src/guidelines/php/eloquent.md +208 -0
  98. package/.agent-src/guidelines/php/flux.md +80 -0
  99. package/.agent-src/guidelines/php/general.md +191 -0
  100. package/.agent-src/guidelines/php/git.md +96 -0
  101. package/.agent-src/guidelines/php/jobs.md +111 -0
  102. package/.agent-src/guidelines/php/livewire.md +71 -0
  103. package/.agent-src/guidelines/php/logging.md +79 -0
  104. package/.agent-src/guidelines/php/naming.md +89 -0
  105. package/.agent-src/guidelines/php/patterns/dependency-injection.md +57 -0
  106. package/.agent-src/guidelines/php/patterns/dtos.md +199 -0
  107. package/.agent-src/guidelines/php/patterns/events.md +67 -0
  108. package/.agent-src/guidelines/php/patterns/factory.md +53 -0
  109. package/.agent-src/guidelines/php/patterns/pipelines.md +66 -0
  110. package/.agent-src/guidelines/php/patterns/policies.md +66 -0
  111. package/.agent-src/guidelines/php/patterns/repositories.md +122 -0
  112. package/.agent-src/guidelines/php/patterns/service-layer.md +64 -0
  113. package/.agent-src/guidelines/php/patterns/strategy.md +69 -0
  114. package/.agent-src/guidelines/php/patterns.md +28 -0
  115. package/.agent-src/guidelines/php/performance.md +92 -0
  116. package/.agent-src/guidelines/php/resources.md +100 -0
  117. package/.agent-src/guidelines/php/security.md +110 -0
  118. package/.agent-src/guidelines/php/sql.md +97 -0
  119. package/.agent-src/guidelines/php/validations.md +119 -0
  120. package/.agent-src/guidelines/php/websocket.md +100 -0
  121. package/.agent-src/personas/README.md +104 -0
  122. package/.agent-src/personas/ai-agent.md +77 -0
  123. package/.agent-src/personas/critical-challenger.md +73 -0
  124. package/.agent-src/personas/developer.md +73 -0
  125. package/.agent-src/personas/product-owner.md +78 -0
  126. package/.agent-src/personas/qa.md +67 -0
  127. package/.agent-src/personas/senior-engineer.md +77 -0
  128. package/.agent-src/personas/stakeholder.md +78 -0
  129. package/.agent-src/rules/agent-docs.md +61 -0
  130. package/.agent-src/rules/analysis-skill-routing.md +48 -0
  131. package/.agent-src/rules/architecture.md +62 -0
  132. package/.agent-src/rules/artifact-drafting-protocol.md +73 -0
  133. package/.agent-src/rules/ask-when-uncertain.md +52 -0
  134. package/.agent-src/rules/augment-portability.md +38 -0
  135. package/.agent-src/rules/augment-source-of-truth.md +128 -0
  136. package/.agent-src/rules/capture-learnings.md +89 -0
  137. package/.agent-src/rules/cli-output-handling.md +94 -0
  138. package/.agent-src/rules/commit-conventions.md +64 -0
  139. package/.agent-src/rules/context-hygiene.md +90 -0
  140. package/.agent-src/rules/docker-commands.md +55 -0
  141. package/.agent-src/rules/docs-sync.md +79 -0
  142. package/.agent-src/rules/downstream-changes.md +70 -0
  143. package/.agent-src/rules/e2e-testing.md +53 -0
  144. package/.agent-src/rules/guidelines.md +90 -0
  145. package/.agent-src/rules/improve-before-implement.md +94 -0
  146. package/.agent-src/rules/language-and-tone.md +104 -0
  147. package/.agent-src/rules/laravel-translations.md +48 -0
  148. package/.agent-src/rules/markdown-safe-codeblocks.md +18 -0
  149. package/.agent-src/rules/minimal-safe-diff.md +87 -0
  150. package/.agent-src/rules/missing-tool-handling.md +62 -0
  151. package/.agent-src/rules/model-recommendation.md +70 -0
  152. package/.agent-src/rules/package-ci-checks.md +80 -0
  153. package/.agent-src/rules/php-coding.md +63 -0
  154. package/.agent-src/rules/preservation-guard.md +29 -0
  155. package/.agent-src/rules/review-routing-awareness.md +125 -0
  156. package/.agent-src/rules/reviewer-awareness.md +92 -0
  157. package/.agent-src/rules/roadmap-progress-sync.md +56 -0
  158. package/.agent-src/rules/role-mode-adherence.md +54 -0
  159. package/.agent-src/rules/rule-type-governance.md +46 -0
  160. package/.agent-src/rules/runtime-safety.md +42 -0
  161. package/.agent-src/rules/scope-control.md +40 -0
  162. package/.agent-src/rules/security-sensitive-stop.md +77 -0
  163. package/.agent-src/rules/size-enforcement.md +29 -0
  164. package/.agent-src/rules/skill-improvement-trigger.md +58 -0
  165. package/.agent-src/rules/skill-quality.md +110 -0
  166. package/.agent-src/rules/slash-commands.md +30 -0
  167. package/.agent-src/rules/think-before-action.md +91 -0
  168. package/.agent-src/rules/token-efficiency.md +99 -0
  169. package/.agent-src/rules/tool-safety.md +36 -0
  170. package/.agent-src/rules/upstream-proposal.md +76 -0
  171. package/.agent-src/rules/user-interaction.md +79 -0
  172. package/.agent-src/rules/verify-before-complete.md +120 -0
  173. package/.agent-src/scripts/scan-seeder-violations.php +145 -0
  174. package/.agent-src/scripts/update_roadmap_progress.py +244 -0
  175. package/.agent-src/skills/adversarial-review/SKILL.md +149 -0
  176. package/.agent-src/skills/agent-docs-writing/SKILL.md +234 -0
  177. package/.agent-src/skills/analysis-autonomous-mode/SKILL.md +197 -0
  178. package/.agent-src/skills/analysis-skill-router/SKILL.md +134 -0
  179. package/.agent-src/skills/api-design/SKILL.md +104 -0
  180. package/.agent-src/skills/api-endpoint/SKILL.md +185 -0
  181. package/.agent-src/skills/api-testing/SKILL.md +206 -0
  182. package/.agent-src/skills/artisan-commands/SKILL.md +78 -0
  183. package/.agent-src/skills/authz-review/SKILL.md +171 -0
  184. package/.agent-src/skills/aws-infrastructure/SKILL.md +152 -0
  185. package/.agent-src/skills/blade-ui/SKILL.md +75 -0
  186. package/.agent-src/skills/blast-radius-analyzer/SKILL.md +185 -0
  187. package/.agent-src/skills/bug-analyzer/SKILL.md +256 -0
  188. package/.agent-src/skills/check-refs/SKILL.md +72 -0
  189. package/.agent-src/skills/code-refactoring/SKILL.md +200 -0
  190. package/.agent-src/skills/code-review/SKILL.md +214 -0
  191. package/.agent-src/skills/command-routing/SKILL.md +96 -0
  192. package/.agent-src/skills/command-writing/SKILL.md +143 -0
  193. package/.agent-src/skills/composer-packages/SKILL.md +172 -0
  194. package/.agent-src/skills/context-authoring/SKILL.md +157 -0
  195. package/.agent-src/skills/context-document/SKILL.md +153 -0
  196. package/.agent-src/skills/conventional-commits-writing/SKILL.md +70 -0
  197. package/.agent-src/skills/copilot-agents-optimization/SKILL.md +220 -0
  198. package/.agent-src/skills/copilot-config/SKILL.md +203 -0
  199. package/.agent-src/skills/dashboard-design/SKILL.md +116 -0
  200. package/.agent-src/skills/data-flow-mapper/SKILL.md +160 -0
  201. package/.agent-src/skills/database/SKILL.md +91 -0
  202. package/.agent-src/skills/dependency-upgrade/SKILL.md +204 -0
  203. package/.agent-src/skills/description-assist/SKILL.md +169 -0
  204. package/.agent-src/skills/design-review/SKILL.md +228 -0
  205. package/.agent-src/skills/devcontainer/SKILL.md +121 -0
  206. package/.agent-src/skills/developer-like-execution/SKILL.md +276 -0
  207. package/.agent-src/skills/docker/SKILL.md +245 -0
  208. package/.agent-src/skills/dto-creator/SKILL.md +117 -0
  209. package/.agent-src/skills/eloquent/SKILL.md +92 -0
  210. package/.agent-src/skills/eloquent/evals/last-run.json +99 -0
  211. package/.agent-src/skills/eloquent/evals/triggers.json +16 -0
  212. package/.agent-src/skills/estimate-ticket/SKILL.md +186 -0
  213. package/.agent-src/skills/estimate-ticket/evals/output-schema.yml +20 -0
  214. package/.agent-src/skills/estimate-ticket/evals/triggers.json +18 -0
  215. package/.agent-src/skills/fe-design/SKILL.md +223 -0
  216. package/.agent-src/skills/feature-planning/SKILL.md +226 -0
  217. package/.agent-src/skills/file-editor/SKILL.md +129 -0
  218. package/.agent-src/skills/finishing-a-development-branch/SKILL.md +200 -0
  219. package/.agent-src/skills/flux/SKILL.md +64 -0
  220. package/.agent-src/skills/git-workflow/SKILL.md +102 -0
  221. package/.agent-src/skills/github-ci/SKILL.md +122 -0
  222. package/.agent-src/skills/grafana/SKILL.md +168 -0
  223. package/.agent-src/skills/guideline-writing/SKILL.md +147 -0
  224. package/.agent-src/skills/jira-integration/SKILL.md +182 -0
  225. package/.agent-src/skills/jobs-events/SKILL.md +87 -0
  226. package/.agent-src/skills/judge-bug-hunter/SKILL.md +157 -0
  227. package/.agent-src/skills/judge-code-quality/SKILL.md +158 -0
  228. package/.agent-src/skills/judge-security-auditor/SKILL.md +167 -0
  229. package/.agent-src/skills/judge-test-coverage/SKILL.md +154 -0
  230. package/.agent-src/skills/laravel/SKILL.md +195 -0
  231. package/.agent-src/skills/laravel-horizon/SKILL.md +169 -0
  232. package/.agent-src/skills/laravel-mail/SKILL.md +193 -0
  233. package/.agent-src/skills/laravel-middleware/SKILL.md +185 -0
  234. package/.agent-src/skills/laravel-notifications/SKILL.md +168 -0
  235. package/.agent-src/skills/laravel-pennant/SKILL.md +188 -0
  236. package/.agent-src/skills/laravel-pulse/SKILL.md +160 -0
  237. package/.agent-src/skills/laravel-reverb/SKILL.md +205 -0
  238. package/.agent-src/skills/laravel-scheduling/SKILL.md +167 -0
  239. package/.agent-src/skills/laravel-validation/SKILL.md +71 -0
  240. package/.agent-src/skills/learning-to-rule-or-skill/SKILL.md +249 -0
  241. package/.agent-src/skills/lint-skills/SKILL.md +72 -0
  242. package/.agent-src/skills/livewire/SKILL.md +79 -0
  243. package/.agent-src/skills/logging-monitoring/SKILL.md +100 -0
  244. package/.agent-src/skills/mcp/SKILL.md +193 -0
  245. package/.agent-src/skills/merge-conflicts/SKILL.md +158 -0
  246. package/.agent-src/skills/migration-creator/SKILL.md +160 -0
  247. package/.agent-src/skills/module-management/SKILL.md +154 -0
  248. package/.agent-src/skills/multi-tenancy/SKILL.md +129 -0
  249. package/.agent-src/skills/openapi/SKILL.md +154 -0
  250. package/.agent-src/skills/override-management/SKILL.md +186 -0
  251. package/.agent-src/skills/performance/SKILL.md +69 -0
  252. package/.agent-src/skills/performance-analysis/SKILL.md +118 -0
  253. package/.agent-src/skills/pest-testing/SKILL.md +321 -0
  254. package/.agent-src/skills/php-coder/SKILL.md +78 -0
  255. package/.agent-src/skills/php-coder/evals/triggers.json +16 -0
  256. package/.agent-src/skills/php-debugging/SKILL.md +184 -0
  257. package/.agent-src/skills/php-service/SKILL.md +96 -0
  258. package/.agent-src/skills/playwright-testing/SKILL.md +244 -0
  259. package/.agent-src/skills/project-analysis-core/SKILL.md +138 -0
  260. package/.agent-src/skills/project-analysis-hypothesis-driven/SKILL.md +130 -0
  261. package/.agent-src/skills/project-analysis-laravel/SKILL.md +119 -0
  262. package/.agent-src/skills/project-analysis-nextjs/SKILL.md +123 -0
  263. package/.agent-src/skills/project-analysis-node-express/SKILL.md +111 -0
  264. package/.agent-src/skills/project-analysis-react/SKILL.md +119 -0
  265. package/.agent-src/skills/project-analysis-symfony/SKILL.md +111 -0
  266. package/.agent-src/skills/project-analysis-zend-laminas/SKILL.md +108 -0
  267. package/.agent-src/skills/project-analyzer/SKILL.md +341 -0
  268. package/.agent-src/skills/project-docs/SKILL.md +137 -0
  269. package/.agent-src/skills/quality-tools/SKILL.md +411 -0
  270. package/.agent-src/skills/readme-reviewer/SKILL.md +187 -0
  271. package/.agent-src/skills/readme-writing/SKILL.md +142 -0
  272. package/.agent-src/skills/readme-writing-package/SKILL.md +185 -0
  273. package/.agent-src/skills/receiving-code-review/SKILL.md +190 -0
  274. package/.agent-src/skills/refine-ticket/SKILL.md +310 -0
  275. package/.agent-src/skills/refine-ticket/detection-map.yml +124 -0
  276. package/.agent-src/skills/refine-ticket/evals/output-schema.yml +16 -0
  277. package/.agent-src/skills/refine-ticket/evals/triggers.json +16 -0
  278. package/.agent-src/skills/requesting-code-review/SKILL.md +199 -0
  279. package/.agent-src/skills/review-routing/SKILL.md +195 -0
  280. package/.agent-src/skills/roadmap-management/SKILL.md +303 -0
  281. package/.agent-src/skills/rtk-output-filtering/SKILL.md +184 -0
  282. package/.agent-src/skills/rule-writing/SKILL.md +148 -0
  283. package/.agent-src/skills/security/SKILL.md +79 -0
  284. package/.agent-src/skills/security-audit/SKILL.md +123 -0
  285. package/.agent-src/skills/sentry-integration/SKILL.md +170 -0
  286. package/.agent-src/skills/sequential-thinking/SKILL.md +158 -0
  287. package/.agent-src/skills/skill-improvement-pipeline/SKILL.md +155 -0
  288. package/.agent-src/skills/skill-management/SKILL.md +121 -0
  289. package/.agent-src/skills/skill-reviewer/SKILL.md +218 -0
  290. package/.agent-src/skills/skill-writing/SKILL.md +291 -0
  291. package/.agent-src/skills/skill-writing/evals/triggers.json +16 -0
  292. package/.agent-src/skills/sql-writing/SKILL.md +74 -0
  293. package/.agent-src/skills/subagent-orchestration/SKILL.md +190 -0
  294. package/.agent-src/skills/systematic-debugging/SKILL.md +244 -0
  295. package/.agent-src/skills/technical-specification/SKILL.md +185 -0
  296. package/.agent-src/skills/terraform/SKILL.md +137 -0
  297. package/.agent-src/skills/terragrunt/SKILL.md +217 -0
  298. package/.agent-src/skills/test-driven-development/SKILL.md +252 -0
  299. package/.agent-src/skills/test-performance/SKILL.md +172 -0
  300. package/.agent-src/skills/threat-modeling/SKILL.md +189 -0
  301. package/.agent-src/skills/traefik/SKILL.md +319 -0
  302. package/.agent-src/skills/universal-project-analysis/SKILL.md +179 -0
  303. package/.agent-src/skills/upstream-contribute/SKILL.md +255 -0
  304. package/.agent-src/skills/using-git-worktrees/SKILL.md +148 -0
  305. package/.agent-src/skills/validate-feature-fit/SKILL.md +113 -0
  306. package/.agent-src/skills/verify-before-complete/SKILL.md +188 -0
  307. package/.agent-src/skills/websocket/SKILL.md +75 -0
  308. package/.agent-src/templates/AGENTS.md +146 -0
  309. package/.agent-src/templates/agent-settings.md +256 -0
  310. package/.agent-src/templates/agents/.gitattributes.fragment +16 -0
  311. package/.agent-src/templates/agents/agent-project-settings.example.yml +138 -0
  312. package/.agent-src/templates/agents/memory/architecture-decisions.example.yml +95 -0
  313. package/.agent-src/templates/agents/memory/domain-invariants.example.yml +80 -0
  314. package/.agent-src/templates/agents/memory/historical-patterns.example.yml +82 -0
  315. package/.agent-src/templates/agents/memory/incident-learnings.example.yml +113 -0
  316. package/.agent-src/templates/agents/memory/ownership.example.yml +75 -0
  317. package/.agent-src/templates/agents/memory/product-rules.example.yml +87 -0
  318. package/.agent-src/templates/agents/proposal.example.md +143 -0
  319. package/.agent-src/templates/command.md +84 -0
  320. package/.agent-src/templates/contexts/auth-model.md +59 -0
  321. package/.agent-src/templates/contexts/data-sensitivity.md +60 -0
  322. package/.agent-src/templates/contexts/deployment-order.md +72 -0
  323. package/.agent-src/templates/contexts/observability.md +64 -0
  324. package/.agent-src/templates/contexts/tenant-boundaries.md +68 -0
  325. package/.agent-src/templates/contexts.md +116 -0
  326. package/.agent-src/templates/copilot-instructions.md +115 -0
  327. package/.agent-src/templates/features.md +125 -0
  328. package/.agent-src/templates/github-workflows/memory-hygiene.yml +133 -0
  329. package/.agent-src/templates/github-workflows/pr-risk-review.yml +123 -0
  330. package/.agent-src/templates/github-workflows/proposal-drift.yml +118 -0
  331. package/.agent-src/templates/overrides/command.md +24 -0
  332. package/.agent-src/templates/overrides/guideline.md +21 -0
  333. package/.agent-src/templates/overrides/rule.md +19 -0
  334. package/.agent-src/templates/overrides/skill.md +24 -0
  335. package/.agent-src/templates/overrides/template.md +21 -0
  336. package/.agent-src/templates/persona.md +99 -0
  337. package/.agent-src/templates/roadmaps.md +109 -0
  338. package/.agent-src/templates/scripts/README.md +195 -0
  339. package/.agent-src/templates/scripts/check_memory.py +283 -0
  340. package/.agent-src/templates/scripts/check_memory_proposal.py +180 -0
  341. package/.agent-src/templates/scripts/historical-bug-patterns.example.yml +84 -0
  342. package/.agent-src/templates/scripts/implement_ticket/__init__.py +57 -0
  343. package/.agent-src/templates/scripts/implement_ticket/__main__.py +9 -0
  344. package/.agent-src/templates/scripts/implement_ticket/cli.py +171 -0
  345. package/.agent-src/templates/scripts/implement_ticket/delivery_state.py +130 -0
  346. package/.agent-src/templates/scripts/implement_ticket/dispatcher.py +134 -0
  347. package/.agent-src/templates/scripts/implement_ticket/persona_policy.py +85 -0
  348. package/.agent-src/templates/scripts/implement_ticket/steps/__init__.py +49 -0
  349. package/.agent-src/templates/scripts/implement_ticket/steps/analyze.py +98 -0
  350. package/.agent-src/templates/scripts/implement_ticket/steps/implement.py +145 -0
  351. package/.agent-src/templates/scripts/implement_ticket/steps/memory.py +136 -0
  352. package/.agent-src/templates/scripts/implement_ticket/steps/plan.py +175 -0
  353. package/.agent-src/templates/scripts/implement_ticket/steps/refine.py +140 -0
  354. package/.agent-src/templates/scripts/implement_ticket/steps/report.py +195 -0
  355. package/.agent-src/templates/scripts/implement_ticket/steps/test.py +180 -0
  356. package/.agent-src/templates/scripts/implement_ticket/steps/verify.py +170 -0
  357. package/.agent-src/templates/scripts/memory_hash.py +75 -0
  358. package/.agent-src/templates/scripts/memory_lookup.py +216 -0
  359. package/.agent-src/templates/scripts/memory_report.py +184 -0
  360. package/.agent-src/templates/scripts/memory_signal.py +167 -0
  361. package/.agent-src/templates/scripts/memory_status.py +156 -0
  362. package/.agent-src/templates/scripts/ownership-map.example.yml +87 -0
  363. package/.agent-src/templates/scripts/pr-risk-config.example.yml +76 -0
  364. package/.agent-src/templates/scripts/pr_review_routing.py +340 -0
  365. package/.agent-src/templates/scripts/pr_risk_review.py +211 -0
  366. package/.agent-src/templates/skill.md +136 -0
  367. package/.augment-plugin/marketplace.json +32 -0
  368. package/.augment-plugin/plugin.json +21 -0
  369. package/.claude-plugin/marketplace.json +119 -0
  370. package/AGENTS.md +121 -0
  371. package/CHANGELOG.md +279 -0
  372. package/CONTRIBUTING.md +176 -0
  373. package/LICENSE +21 -0
  374. package/README.md +357 -0
  375. package/bin/install.php +38 -0
  376. package/composer.json +29 -0
  377. package/config/agent-settings.template.yml +96 -0
  378. package/config/profiles/balanced.ini +10 -0
  379. package/config/profiles/full.ini +10 -0
  380. package/config/profiles/minimal.ini +10 -0
  381. package/docs/architecture.md +144 -0
  382. package/docs/customization.md +88 -0
  383. package/docs/development.md +171 -0
  384. package/docs/getting-started.md +130 -0
  385. package/docs/github-topics.md +84 -0
  386. package/docs/installation.md +376 -0
  387. package/docs/mcp.md +133 -0
  388. package/docs/quality.md +98 -0
  389. package/docs/skills-catalog.md +136 -0
  390. package/docs/troubleshooting.md +167 -0
  391. package/llms.txt +130 -0
  392. package/package.json +31 -0
  393. package/scripts/audit_skill_descriptions.py +168 -0
  394. package/scripts/check_compression.py +221 -0
  395. package/scripts/check_memory.py +341 -0
  396. package/scripts/check_memory_proposal.py +180 -0
  397. package/scripts/check_portability.py +320 -0
  398. package/scripts/check_proposal.py +269 -0
  399. package/scripts/check_references.py +400 -0
  400. package/scripts/ci_summary.py +131 -0
  401. package/scripts/compress.py +671 -0
  402. package/scripts/compress.sh +18 -0
  403. package/scripts/first-run.sh +109 -0
  404. package/scripts/generate_catalog.py +116 -0
  405. package/scripts/install +151 -0
  406. package/scripts/install-hooks.sh +29 -0
  407. package/scripts/install.py +487 -0
  408. package/scripts/install.sh +637 -0
  409. package/scripts/install_anthropic_key.sh +101 -0
  410. package/scripts/inventory_frontmatter.py +164 -0
  411. package/scripts/lint_marketplace.py +142 -0
  412. package/scripts/lint_regression.py +232 -0
  413. package/scripts/mcp_render.py +159 -0
  414. package/scripts/measure_patterns.py +376 -0
  415. package/scripts/memory_hash.py +75 -0
  416. package/scripts/memory_lookup.py +441 -0
  417. package/scripts/memory_report.py +336 -0
  418. package/scripts/memory_signal.py +210 -0
  419. package/scripts/memory_status.py +195 -0
  420. package/scripts/postinstall.sh +60 -0
  421. package/scripts/readme_linter.py +580 -0
  422. package/scripts/refine_ticket_detect.py +623 -0
  423. package/scripts/requirements-evals.txt +7 -0
  424. package/scripts/runtime_dispatcher.py +265 -0
  425. package/scripts/runtime_handler.py +148 -0
  426. package/scripts/runtime_registry.py +166 -0
  427. package/scripts/schemas/command.schema.json +32 -0
  428. package/scripts/schemas/persona.schema.json +42 -0
  429. package/scripts/schemas/rule.schema.json +28 -0
  430. package/scripts/schemas/skill.schema.json +73 -0
  431. package/scripts/setup.sh +230 -0
  432. package/scripts/setup_eval_venv.sh +58 -0
  433. package/scripts/skill_linter.py +2175 -0
  434. package/scripts/skill_trigger_eval.py +651 -0
  435. package/scripts/tool_registry.py +146 -0
  436. package/scripts/tools/__init__.py +1 -0
  437. package/scripts/tools/adapter_errors.py +63 -0
  438. package/scripts/tools/base_adapter.py +91 -0
  439. package/scripts/tools/github_adapter.py +128 -0
  440. package/scripts/tools/jira_adapter.py +115 -0
  441. package/scripts/update_counts.py +147 -0
  442. package/scripts/validate_frontmatter.py +424 -0
  443. package/templates/consumer-settings/README.md +46 -0
  444. package/templates/consumer-settings/augment-settings.json +12 -0
  445. package/templates/consumer-settings/claude-settings.json +9 -0
  446. package/templates/consumer-settings/copilot-settings.json +14 -0
@@ -0,0 +1,291 @@
1
+ ---
2
+ name: skill-writing
3
+ description: "Use when deciding 'should this be a skill or a rule?', creating/improving/reviewing agent skills, SKILL.md frontmatter, or procedure sections — even without saying 'skill-writing'."
4
+ source: project
5
+ ---
6
+
7
+ # skill-writing
8
+
9
+ ## When to use
10
+
11
+ Use this skill when:
12
+
13
+ * Creating a new skill from scratch
14
+ * Improving an existing skill
15
+ * Reviewing skill quality
16
+ * Deciding what belongs in a skill vs a rule
17
+
18
+ Typical examples:
19
+
20
+ * "Create a skill for X"
21
+ * "This skill needs improvement"
22
+ * "Should this be a skill or a rule?"
23
+
24
+ Do not use this skill when:
25
+
26
+ * Writing rules (rules are constraints, not workflows)
27
+ * Writing commands (commands are direct invocations)
28
+
29
+ ## Goal
30
+
31
+ * Create executable skills, not documentation
32
+ * Ensure every skill answers: When? How? What output?
33
+ * Prevent common mistakes: too broad, too generic, missing validation
34
+
35
+ ## Preconditions
36
+
37
+ * Clear understanding of the intended task
38
+ * Distinction: rules = always apply, skills = triggered workflows
39
+ * Access to a skill template or existing reference skill
40
+
41
+ ## Decision matrix: What goes where?
42
+
43
+ Before creating anything, classify the content:
44
+
45
+ | If the content is... | Then it is... | Action |
46
+ |---|---|---|
47
+ | An always-true constraint ("never X", "always Y") | **Rule** | Create/update `.augment/rules/` |
48
+ | A step-by-step workflow with decisions and validation | **Skill** | Create/update `.augment/skills/` |
49
+ | A coding convention or reference material | **Guideline** | Create/update `.augment/guidelines/` |
50
+ | Baseline model knowledge (how jq works, what `docker exec` does) | **Nothing** | Do not create anything |
51
+ | Simple tool usage without complex workflow | **Nothing** | Do not create anything |
52
+ | Already covered by an existing skill/rule/guideline | **Update** | Extend the existing file |
53
+
54
+ ### The critical test
55
+
56
+ Ask: **"Does the model need this to do its job correctly?"**
57
+
58
+ * If the model already knows it → **Nothing**
59
+ * If the model knows it but does it wrong in THIS project → **Rule or Guideline**
60
+ * If the model needs a multi-step workflow to get it right → **Skill**
61
+
62
+ ### When "Nothing" is the right answer
63
+
64
+ Do NOT create a skill or rule for:
65
+
66
+ * Standard tool usage (jq, grep, docker exec, git commands)
67
+ * Framework basics the model already knows
68
+ * Single-command operations without decision logic
69
+ * Knowledge that belongs in a skill's procedure as a step, not as its own skill
70
+
71
+ ### Size and structure hints
72
+
73
+ → See `guidelines/agent-infra/size-and-scope.md` for full limits.
74
+
75
+ * Target: 300–900 words. Review for split above 1200 words. Strongly consider split above 1500 words.
76
+ * If multiple workflows exist → split into multiple skills
77
+ * If two skills overlap heavily → merge
78
+ * If a skill becomes "read the guideline" → it lost its purpose, restore the workflow
79
+
80
+ ## Procedure
81
+
82
+ ### 0. Inspect, then run the Drafting Protocol
83
+
84
+ Before writing, **inspect** the landscape: grep
85
+ `.agent-src.uncompressed/skills/` and `rules/` for duplicates or
86
+ near-matches, and **analyze** 1–2 gold-standard peers (e.g. `pest-testing`,
87
+ `php-coder`) to anchor shape and tone. If requirements are unclear or
88
+ incomplete, stop and ask — do not assume.
89
+
90
+ Then run the Understand → Research → Draft sequence from the
91
+ [`artifact-drafting-protocol`](../../rules/artifact-drafting-protocol.md)
92
+ rule. Skip only on explicit *"just do it"* bypass or trivial edits
93
+ (typo, link, single-line clarification).
94
+
95
+ ### 1. Define the trigger
96
+
97
+ Write "When to use" first. This is the in-body trigger — it documents the
98
+ workflow's entry conditions for anyone reading the skill.
99
+
100
+ Good:
101
+ Use when creating Laravel middleware for request filtering
102
+
103
+ Bad:
104
+ Use when working with Laravel
105
+
106
+ ### 1b. Write a pushy frontmatter description
107
+
108
+ The `description:` field is what Claude reads at routing time. Polite or
109
+ generic descriptions cause **undertriggering**. Normative source:
110
+ `skill-quality` rule § *Description Triggering*.
111
+
112
+ Three rules: name 2+ triggers (domains, symptoms, user phrasing), end with
113
+ `... even if they don't explicitly ask for \`<skill-name>\`.`, and stay
114
+ **≤ 200 characters** (`skill_linter.py` warns `description_too_long` above
115
+ that). When trimming to fit, drop adjectives or the second example phrasing
116
+ before you drop a trigger class or the `even if ...` tail.
117
+
118
+ Canonical before/after (2026-04-21 audit baseline):
119
+
120
+ ```yaml
121
+ # Bad (138 chars, polite, single trigger class):
122
+ description: "Use when writing Playwright E2E tests — browser automation,
123
+ visual regression testing, Page Objects, fixtures, and reliable test
124
+ patterns."
125
+
126
+ # Good (pushy, second trigger class, explicit tail):
127
+ description: "Use when writing Playwright E2E tests — locators, assertions,
128
+ Page Objects, fixtures, CI, and flaky test prevention — even if the user
129
+ doesn't say Playwright."
130
+ ```
131
+
132
+ The *good* version routes correctly on *"my E2E keeps flaking on CI"*
133
+ without naming Playwright. Run `python3 scripts/audit_skill_descriptions.py`
134
+ after writing; if flagged `too-short` or `no-trigger-prefix`, rewrite
135
+ before commit.
136
+
137
+ When iterating on phrasing with the user (e.g. "make this pushier",
138
+ "will this ever fire"), delegate to the
139
+ [`description-assist`](../description-assist/SKILL.md) skill — it runs the
140
+ approval-gated propose / pick loop with at most two rounds.
141
+
142
+ ### 1c. Propose a trigger-eval stub (new skills only)
143
+
144
+ When creating a new skill, propose a stub
145
+ `.agent-src.uncompressed/skills/{name}/evals/triggers.json` before writing
146
+ the body. Draw the queries from Phase A of the drafting protocol (the
147
+ user's "should trigger" and "must not trigger" answers).
148
+
149
+ Stub shape — 5 should-trigger + 5 should-not-trigger queries, first-person,
150
+ single-sentence, **no leakage of the skill name** in the queries:
151
+
152
+ ```json
153
+ {
154
+ "skill": "{name}",
155
+ "description": "5 should-trigger + 5 should-not-trigger queries. No query mentions '{name}' directly. Near-misses share domain vocabulary without being the actual task.",
156
+ "queries": [
157
+ {"q": "<phrasing from user Phase A that MUST route here>", "trigger": true},
158
+ {"q": "<another should-trigger phrasing>", "trigger": true},
159
+ {"q": "<...3 more>", "trigger": true},
160
+ {"q": "<near-miss sharing vocabulary but different task>", "trigger": false},
161
+ {"q": "<another near-miss>", "trigger": false},
162
+ {"q": "<...3 more>", "trigger": false}
163
+ ]
164
+ }
165
+ ```
166
+
167
+ Present the stub as a numbered-options prompt (per `user-interaction`):
168
+
169
+ ```
170
+ > 1. Accept stub as drafted — commit alongside the skill
171
+ > 2. Edit queries before commit
172
+ > 3. Skip evals for now — create later
173
+ ```
174
+
175
+ Nothing is committed without the user's pick. If the user picks *skip*,
176
+ record it in the commit message (`Eval stub: deferred`). See
177
+ [`road-to-trigger-evals.md`](../../../agents/roadmaps/archive/road-to-trigger-evals.md)
178
+ Phase 1 for the runner and expected format; peer examples:
179
+ `php-coder/evals/triggers.json`, `eloquent/evals/triggers.json`,
180
+ `skill-writing/evals/triggers.json`.
181
+
182
+ Rules / commands / guidelines do **not** get eval stubs — only skills
183
+ route through the top-level catalogue.
184
+
185
+ ### 2. Write the procedure
186
+
187
+ Use numbered, verifiable steps.
188
+
189
+ Good:
190
+
191
+ 1. Check if middleware exists
192
+ 2. Create with artisan command
193
+ 3. Implement logic
194
+ 4. Register in route or kernel
195
+
196
+ Bad:
197
+
198
+ 1. Create middleware
199
+ 2. Add logic
200
+
201
+ ### 3. Add validation
202
+
203
+ End with concrete validation.
204
+
205
+ Good:
206
+
207
+ * Route returns expected status
208
+ * Appears in route list
209
+ * No static analysis errors
210
+
211
+ Bad:
212
+
213
+ * Vague statements like "see if outcome is correct" (no concrete command or assertion)
214
+
215
+ ### 4. Add safe/unsafe example
216
+
217
+ Show minimal contrast.
218
+
219
+ Good:
220
+
221
+ * Typed middleware, correctly registered
222
+
223
+ Bad:
224
+
225
+ * Business logic inside middleware
226
+
227
+ ### 5. Define output format
228
+
229
+ Control response structure.
230
+
231
+ Example:
232
+
233
+ 1. Code snippet
234
+ 2. Registration location
235
+ 3. Gotcha (if relevant)
236
+
237
+ ### 6. Validate against quality checklist
238
+
239
+ * K1: Description is a trigger ("Use when...")
240
+ * K2: Not over-defined
241
+ * K3: No obvious content
242
+ * K4: Contains gotchas
243
+ * K5: Has Output format (numbered, 2-4 deliverables)
244
+ * K6: Not pointer-only (executable without opening guidelines)
245
+ * K7: Created with analysis (not blind, expected behavior defined)
246
+ * Size: Within limits (see size-and-scope guideline)
247
+
248
+ ## Output format
249
+
250
+ 1. Complete SKILL.md file
251
+ 2. No explanations outside the file
252
+ 3. Fully copyable
253
+ 4. No empty sections
254
+
255
+ ## Core rules
256
+
257
+ * Skills are executable thinking processes
258
+ * Always include: When to use, Procedure, Output format, Gotchas, Do NOT
259
+ * Steps must be verifiable
260
+ * Validation must be concrete
261
+ * One skill = one job
262
+
263
+ ### Execution metadata (optional)
264
+
265
+ Skills may declare an `execution` frontmatter block (`type`, `handler`,
266
+ `timeout_seconds`, `safety_mode`, `allowed_tools`). Default is `manual`
267
+ (instructional only). See `guidelines/agent-infra/runtime-layer.md` for
268
+ the full specification and `assisted` / `automated` semantics.
269
+
270
+ ### When to create a `project-analysis-*` skill
271
+
272
+ Only if the framework has its own lifecycle producing unique debugging
273
+ patterns that `project-analysis-core` cannot explain (e.g. Laravel,
274
+ Symfony, Express, React, Next.js). **Not** for Tailwind, CSS frameworks,
275
+ utility libs, or simple state managers.
276
+
277
+ ## Gotchas
278
+
279
+ * Writing documentation instead of executable steps
280
+ * Skipping validation — every Procedure MUST end with a concrete verify step
281
+ * Including baseline knowledge the model already has
282
+ * Description too long or not a trigger
283
+ * Renaming a heading to "Procedure:" without numbered steps or `###` sub-headings
284
+ * **Always run `python3 scripts/skill_linter.py` before saving — 0 FAIL required**
285
+
286
+ ## Do NOT
287
+
288
+ * Write documentation-style, pointer-only, or too-broad skills ("Laravel skill")
289
+ * Skip Procedure or use vague validation
290
+ * Exceed size limits (see `guidelines/agent-infra/size-and-scope.md`)
291
+ * Duplicate rules
@@ -0,0 +1,16 @@
1
+ {
2
+ "skill": "skill-writing",
3
+ "description": "5 should-trigger + 5 should-not-trigger queries. No query mentions 'skill-writing' directly. Near-misses share 'skill' vocabulary but route to skill-management, lint-skills, or unrelated skills.",
4
+ "queries": [
5
+ {"q": "let's create a skill for database migrations", "trigger": true},
6
+ {"q": "this SKILL.md feels weak, can you tighten it?", "trigger": true},
7
+ {"q": "should this be a skill or a rule?", "trigger": true},
8
+ {"q": "the description says 'covers various things' — fix it", "trigger": true},
9
+ {"q": "add a proper procedure section to the graphql skill", "trigger": true},
10
+ {"q": "refactor my PHP controller", "trigger": false},
11
+ {"q": "run the skill linter on my branch", "trigger": false},
12
+ {"q": "compress this SKILL.md to half its length", "trigger": false},
13
+ {"q": "which skill handles git workflow?", "trigger": false},
14
+ {"q": "write a CONTRIBUTING.md for this repo", "trigger": false}
15
+ ]
16
+ }
@@ -0,0 +1,74 @@
1
+ ---
2
+ name: sql-writing
3
+ description: "Use when writing raw SQL — MariaDB/MySQL syntax, parameterization, raw migrations, seeders with `DB::statement` — even when the user just pastes a query and asks 'why is this slow' without naming SQL."
4
+ source: package
5
+ ---
6
+
7
+ # sql
8
+
9
+ ## When to use
10
+
11
+ Use when writing or reviewing raw SQL queries, migrations with raw statements, or seeders with raw SQL.
12
+
13
+ Do NOT use when:
14
+ - Eloquent/Query Builder queries (use `eloquent` or `database` skill)
15
+ - Schema design (use `database` skill)
16
+
17
+ ## Procedure: Write raw SQL
18
+
19
+ 1. **Choose approach** — Use query builder when possible. Raw SQL only when query builder can't express the query.
20
+ 2. **Parameterize** — Every variable must use `?` binding or named `:param`. Never interpolate PHP variables into SQL strings.
21
+ 3. **Use MariaDB syntax** — Not PostgreSQL or MSSQL. Check `php/sql.md` for MariaDB-specific patterns.
22
+ 4. **Verify** — Run EXPLAIN on complex queries. Check that no PHP interpolation (`"$var"`, `'{$var}'`) appears in SQL.
23
+
24
+ ```
25
+ NEVER build SQL strings with PHP variable interpolation or concatenation.
26
+ ALWAYS use parameterized queries or query builder.
27
+ ```
28
+
29
+ ## Conventions
30
+
31
+ → See guideline `php/sql.md` for parameterization patterns, common mistakes, MariaDB syntax reference.
32
+
33
+ ## Quick reference
34
+
35
+ ```php
36
+ // ✅ Safe
37
+ DB::select('SELECT * FROM users WHERE email = ?', [$email]);
38
+
39
+ // ❌ SQL injection
40
+ DB::select("SELECT * FROM users WHERE email = '{$email}'");
41
+ ```
42
+
43
+ ### Validate
44
+
45
+ 1. Verify every variable in SQL uses parameter binding (`?` or named `:param`).
46
+ 2. Confirm MariaDB/MySQL syntax — not PostgreSQL or MSSQL.
47
+ 3. Run EXPLAIN on complex queries to check index usage.
48
+ 4. Check that no PHP variable interpolation (`"$var"`, `'{$var}'`) appears in SQL strings.
49
+
50
+ ## Output format
51
+
52
+ 1. Parameterized SQL query using MariaDB/MySQL syntax
53
+ 2. EXPLAIN output for performance-critical queries
54
+
55
+ ## Gotcha
56
+
57
+ - MariaDB and MySQL have subtle syntax differences.
58
+ - The model writes `$variable` in SQL strings instead of `?` placeholders.
59
+ - `GROUP BY` with `ONLY_FULL_GROUP_BY` requires all non-aggregated columns.
60
+ - Use SQL types (`NULL`, `1/0`, `JSON_ARRAY()`) — not PHP equivalents.
61
+
62
+ ## Do NOT
63
+
64
+ - Do NOT interpolate PHP variables into SQL strings — always parameterize.
65
+ - Do NOT use PHP syntax (arrays, booleans, null) in raw SQL — use SQL equivalents.
66
+ - Do NOT write raw SQL when the query builder can express the same thing clearly.
67
+
68
+ ## Auto-trigger keywords
69
+
70
+ - raw SQL
71
+ - SQL query
72
+ - parameterized query
73
+ - MariaDB syntax
74
+ - SQL injection
@@ -0,0 +1,190 @@
1
+ ---
2
+ name: subagent-orchestration
3
+ description: "Use when orchestrating implementer/judge subagents — five modes (do-and-judge, do-in-steps, do-in-parallel, do-competitively, judge-with-debate) — models from .agent-settings.yml."
4
+ source: package
5
+ ---
6
+
7
+ # subagent-orchestration
8
+
9
+ ## When to use
10
+
11
+ * A task benefits from a second agent reviewing before apply — safety,
12
+ regression risk, cross-layer change
13
+ * A plan has clear, independent slices that can be worked on in
14
+ parallel — unrelated bug fixes, multi-file migrations
15
+ * A solution space is broad enough that multiple candidate
16
+ implementations are worth producing and comparing
17
+ * The user explicitly asks "have a second agent review this" or "try
18
+ this two different ways"
19
+
20
+ Do NOT use when:
21
+
22
+ * The task is small and the overhead of a second agent exceeds the
23
+ value — single file, one-liner fix
24
+ * The user is still exploring — route to brainstorming / planning
25
+ skills first
26
+ * Budget is the constraint — each subagent call multiplies cost
27
+ * The implementer and judge would be the same model on the same
28
+ context — no added signal
29
+
30
+ ## Goal
31
+
32
+ Land a verified change (or set of changes) by combining implementer
33
+ and judge subagents in a mode chosen deliberately, with model pairing
34
+ read from `.agent-settings.yml` — never silently improvised.
35
+
36
+ ## The Iron Law
37
+
38
+ ```
39
+ NO JUDGE ON THE SAME MODEL AS THE IMPLEMENTER ON THE SAME CONTEXT.
40
+ ```
41
+
42
+ Same model + same context = same blind spots. The whole point of a
43
+ judge is a fresh pair of eyes. If `.agent-settings.yml` resolves to
44
+ identical implementer and judge models, surface the mismatch before
45
+ running — do not silently continue.
46
+
47
+ ## The five modes
48
+
49
+ Each mode has a decision row: when to use, when not, and the expected
50
+ model pairing. Defaults come from
51
+ [`subagent-configuration`](../../contexts/subagent-configuration.md).
52
+
53
+ ### 1. do-and-judge
54
+
55
+ Implementer produces a diff; judge reviews; loop applies, revises, or
56
+ hands off. Hard ceiling: **two revision cycles**, then stop and hand
57
+ back to the user.
58
+
59
+ | When to use | When not | Model pairing |
60
+ |---|---|---|
61
+ | Single-change task with non-trivial risk | Tiny fix, or spike/exploration | implementer = session; judge = one tier up |
62
+
63
+ ### 2. do-in-steps
64
+
65
+ Plan is split into N steps; judge runs **between** steps. A step that
66
+ fails judgment is revised before the next step starts. Used for
67
+ multi-file changes where a mid-plan mistake would cascade.
68
+
69
+ | When to use | When not | Model pairing |
70
+ |---|---|---|
71
+ | Multi-step plan with ordered dependencies | Single-step change, or when steps are independent (use `do-in-parallel`) | implementer = session; judge = one tier up |
72
+
73
+ ### 3. do-in-parallel
74
+
75
+ Independent slices run concurrently. No judge per slice — judge runs
76
+ once on the aggregated result. Parallelism capped by
77
+ `subagents.max_parallel` in `.agent-settings.yml`.
78
+
79
+ | When to use | When not | Model pairing |
80
+ |---|---|---|
81
+ | Independent slices (different files, non-overlapping) | Any slice touches shared state | implementer = session; judge = one tier up, run once |
82
+
83
+ ### 4. do-competitively
84
+
85
+ Multiple implementers produce candidate diffs for the **same** slice.
86
+ Judge picks the winner and rejects the losers. Expensive — use only
87
+ when the solution space is genuinely broad.
88
+
89
+ | When to use | When not | Model pairing |
90
+ |---|---|---|
91
+ | Broad solution space (algorithm choice, API shape) | Well-defined problem with one good answer | implementers = same tier (≥2 instances); judge = one tier up |
92
+
93
+ ### 5. judge-with-debate
94
+
95
+ Two judges each produce a verdict; a meta-judge reconciles
96
+ disagreements. Used for high-stakes changes (security, data
97
+ migration, public API) where a single judge is too easy to fool.
98
+
99
+ | When to use | When not | Model pairing |
100
+ |---|---|---|
101
+ | Security, data integrity, public API change | Routine internal refactor | judges = same tier (2x); meta-judge = one tier up |
102
+
103
+ ## Procedure
104
+
105
+ ### 1. Inspect the task shape
106
+
107
+ Before picking a mode, check:
108
+
109
+ * Is the task single-change or multi-step?
110
+ * Are slices truly independent, or do they share state?
111
+ * Is solution space narrow (one right answer) or broad (trade-offs)?
112
+ * Is risk high enough to justify debate?
113
+
114
+ Do not pick a mode until these four questions have concrete answers.
115
+
116
+ ### 2. Resolve models
117
+
118
+ Read `.agent-settings.yml`:
119
+
120
+ * `subagents.implementer_model` → empty = session model
121
+ * `subagents.judge_model` → empty = one tier above implementer
122
+ * `subagents.max_parallel` → integer, default 3
123
+
124
+ If resolution produces an unknown alias or implementer == judge in the
125
+ same context, **stop** and report. Do not improvise.
126
+
127
+ ### 3. Pick the mode
128
+
129
+ Match task shape to one of the five modes. When two modes could fit,
130
+ prefer the cheaper one (`do-and-judge` < `do-in-steps` < `do-in-parallel`
131
+ < `do-competitively` < `judge-with-debate`).
132
+
133
+ ### 4. Dispatch
134
+
135
+ Hand off to the matching command:
136
+
137
+ * `do-and-judge` → [`/do-and-judge`](../../commands/do-and-judge.md)
138
+ * `do-in-steps` → [`/do-in-steps`](../../commands/do-in-steps.md)
139
+ * `judge` (standalone) → [`/judge`](../../commands/judge.md)
140
+
141
+ Modes without a dedicated command (`do-in-parallel`,
142
+ `do-competitively`, `judge-with-debate`) are orchestrated inline via
143
+ the skill — describe the dispatch explicitly in chat so the user can
144
+ follow it.
145
+
146
+ ### 5. Report
147
+
148
+ Follow the output format below. Never merge a diff without reporting
149
+ the judge verdict.
150
+
151
+ ## Gotcha
152
+
153
+ * **Identical model both sides** — same blind spots. The Iron Law
154
+ blocks this before dispatch.
155
+ * **Judge drifts off-task** — judge reviews *the diff*, not the task
156
+ description. Always attach the diff to the judge prompt.
157
+ * **Infinite revision loop** — hard ceiling of two revisions in
158
+ `do-and-judge`; then hand back to the user.
159
+ * **`do-in-parallel` on overlapping slices** — race conditions,
160
+ conflicting diffs. Verify independence before splitting.
161
+ * **Cost surprise on `do-competitively`** — N implementers + 1 judge =
162
+ N+1 subagent calls for one slice. Confirm budget before dispatch.
163
+
164
+ ## Output format
165
+
166
+ 1. **Mode chosen** — one of the five, with the one-line reason
167
+ 2. **Model pairing** — implementer model / judge model (resolved)
168
+ 3. **Verdict** — applied / revised / handed back
169
+ 4. **Evidence** — diff summary, test output, or judge transcript
170
+ 5. **Next step** — what the user does now (review PR, pick winner, etc.)
171
+
172
+ ## Do NOT
173
+
174
+ * NEVER run implementer and judge on the same model and same context
175
+ * NEVER exceed the two-revision ceiling in `do-and-judge` without user
176
+ consent
177
+ * NEVER run `do-in-parallel` on slices that touch shared files
178
+ * NEVER apply a diff that the judge rejected without explicit user
179
+ override
180
+ * NEVER silently resolve an unknown model alias to a fallback
181
+
182
+ ## Handover
183
+
184
+ | Task | Skill / command |
185
+ |--------------------------------------|--------------------------------------|
186
+ | Configuration reference | [`subagent-configuration`](../../contexts/subagent-configuration.md) |
187
+ | Do-and-judge loop | [`/do-and-judge`](../../commands/do-and-judge.md) |
188
+ | Stepwise plan with judge gates | [`/do-in-steps`](../../commands/do-in-steps.md) |
189
+ | Standalone judge on an existing diff | [`/judge`](../../commands/judge.md) |
190
+ | Verifying completeness | [`verify-before-complete`](../verify-before-complete/SKILL.md) |