@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,94 @@
1
+ ---
2
+ name: fix-references
3
+ description: Find and fix broken cross-references in .augment/ and agents/ files
4
+ disable-model-invocation: true
5
+ ---
6
+
7
+ # fix-references
8
+
9
+ ## Instructions
10
+
11
+ ### 1. Run the reference checker
12
+
13
+ ```bash
14
+ python3 scripts/check_references.py --format json
15
+ ```
16
+
17
+ ### 2. Parse findings
18
+
19
+ If output is `[]` or "No broken references found":
20
+
21
+ ```
22
+ ✅ No broken references found. All cross-references are valid.
23
+ ```
24
+
25
+ Stop here.
26
+
27
+ ### 3. Display findings
28
+
29
+ ```
30
+ ═══════════════════════════════════════════════
31
+ 🔗 BROKEN REFERENCE REPORT
32
+ ═══════════════════════════════════════════════
33
+
34
+ Found: {count} broken reference(s)
35
+ ```
36
+
37
+ Group by file:
38
+
39
+ ```
40
+ {file}:
41
+ Line {line}: `{ref}` ({ref_type}) → suggested: `{suggestion}`
42
+ Line {line}: `{ref}` ({ref_type}) → no suggestion
43
+ ```
44
+
45
+ ### 4. Auto-fix with confirmation
46
+
47
+ For each broken reference:
48
+
49
+ 1. **If suggestion exists** → open the file, find the line, replace the broken ref with the suggestion.
50
+ 2. **If no suggestion** → search the codebase for the closest match. If found, propose it. If not, flag for manual review.
51
+ 3. **If the reference is in a code block** → skip (code blocks are not cross-references).
52
+ 4. **If the reference is in an example/template** → skip (placeholders are intentional).
53
+
54
+ Present a summary before applying:
55
+
56
+ ```
57
+ Proposed fixes:
58
+ 1. {file}:{line} — `{old}` → `{new}`
59
+ 2. {file}:{line} — `{old}` → `{new}`
60
+ 3. {file}:{line} — MANUAL: no match found
61
+
62
+ > 1. Apply all automatic fixes
63
+ > 2. Apply interactively (ask for each)
64
+ > 3. Skip — just show the report
65
+ ```
66
+
67
+ ### 5. Apply fixes
68
+
69
+ Edit files in `.agent-src.uncompressed/` (source of truth). Regenerate `.agent-src/` and `.augment/` via `task sync`.
70
+
71
+ After all fixes:
72
+
73
+ ```bash
74
+ python3 scripts/check_references.py
75
+ ```
76
+
77
+ Show final result.
78
+
79
+ ### 6. Mark hashes
80
+
81
+ For each modified file:
82
+
83
+ ```bash
84
+ python3 scripts/compress.py --mark-done "{relative_path}"
85
+ ```
86
+
87
+ ## Rules
88
+
89
+ - **Always fix in `.agent-src.uncompressed/`** — never edit `.agent-src/` or `.augment/` directly.
90
+ - **Run `task sync`** after fixing to regenerate `.agent-src/` and `.augment/`.
91
+ - **Do NOT commit or push** — the user decides.
92
+ - **Do NOT fix references in code blocks** — they are examples, not live refs.
93
+ - **Do NOT auto-fix without showing the summary first.**
94
+ - **Run the checker again after fixing** to verify 0 remaining issues.
@@ -0,0 +1,146 @@
1
+ ---
2
+ name: fix-seeder
3
+ skills: [eloquent]
4
+ description: Scan seeder data files for broken foreign key references — find constants used without getReference() and fix them
5
+ disable-model-invocation: true
6
+ ---
7
+
8
+ # fix-seeder
9
+
10
+ Scans all `PhpDataSeeder` data files for foreign key references that use raw seeder constants
11
+ instead of `getReference()`. Raw constants don't trigger lazy initialization of the referenced
12
+ seeder, causing "items not available" errors when seeders run in unpredictable order.
13
+
14
+ ## The Rule
15
+
16
+ In a seeder data file loaded by `FooSeeder`:
17
+
18
+ - **Own seeder constants** are OK: `FooSeeder::REFERENCE_KEY_X` (these are primary keys, not foreign keys)
19
+ - **Other seeder constants** are WRONG: `BarSeeder::REFERENCE_KEY_Y` (foreign key — must use `getReference()`)
20
+
21
+ ### ✅ Correct — triggers lazy initialization
22
+
23
+ ```php
24
+ 'cat_id' => MaterialDeliveryBillCategorySeeder::getReference(
25
+ MaterialDeliveryBillCategorySeeder::REFERENCE_CATEGORY_A
26
+ )->getId(),
27
+ ```
28
+
29
+ ### ❌ Wrong — raw constant, no lazy initialization
30
+
31
+ ```php
32
+ 'cat_id' => MaterialDeliveryBillCategorySeeder::REFERENCE_CATEGORY_A,
33
+ ```
34
+
35
+ ## Step 1: Run the scanner script
36
+
37
+ Run the automated scanner inside the Docker container:
38
+
39
+ ```bash
40
+ docker compose exec -T <php-service> php .augment/scripts/scan-seeder-violations.php
41
+ ```
42
+
43
+ The script (``.augment/scripts/scan-seeder-violations.php``) automatically:
44
+ 1. Finds all `PhpDataSeeder` / `JsonDataSeeder` classes and their `$dataFile` paths
45
+ 2. Scans each data file for foreign seeder constants used without `getReference()`
46
+ 3. Distinguishes PHP files (auto-fixable) from JSON files (manual fix needed)
47
+
48
+ ### What the scanner flags
49
+
50
+ **Violation** = a `Seeder::CONSTANT` used directly (not via `getReference()`)
51
+ where the seeder class is NOT the owner of the data file.
52
+
53
+ **Not flagged:**
54
+ - `OtherSeeder::getReference(...)` — correct
55
+ - `OtherSeeder::getReferences()` — correct
56
+ - `OwnSeeder::CONSTANT` — own primary key, correct
57
+ - Known exceptions (circular dependencies) — configured in the scanner script
58
+
59
+ ### Known Exceptions
60
+
61
+ Currently there are **no exceptions**. All circular dependencies have been resolved.
62
+
63
+ **Pattern for resolving circular dependencies:** Use two-phase seeding. The data file seeds
64
+ records with placeholder values (e.g., empty arrays). The Seeder's `run()` method then updates
65
+ records with the real values using `getReference()`. Since `run()` is called after all seeders
66
+ are initialized, the circular dependency is broken.
67
+
68
+ Example: `UserWageTypeRuleSeeder` seeds `lohnart_lv` as empty arrays in the data file,
69
+ then populates them with project numbers via `ProjectSeeder::getReference()` in `run()`.
70
+
71
+ If a new exception is truly needed, add it to `.augment/scripts/scan-seeder-violations.php`
72
+ in the `$exceptions` array. Format: `'OwnerSeeder' => ['AllowedForeignSeeder']`.
73
+
74
+ ## Step 2: Report findings
75
+
76
+ Present a table of all violations:
77
+
78
+ ```
79
+ | # | Data File | Line | Violation | Owning Seeder |
80
+ |---|-----------|------|-----------|---------------|
81
+ | 1 | material-delivery-bill-catalog-data.php:11 | CategorySeeder::REFERENCE_A | CatalogSeeder |
82
+ ```
83
+
84
+ Then ask the user:
85
+
86
+ > 1. Fix all violations automatically
87
+ > 2. Fix interactively (ask for each)
88
+ > 3. Report only — don't fix
89
+
90
+ ## Step 3: Fix violations
91
+
92
+ For each violation, replace the raw constant with a `getReference()` call:
93
+
94
+ **Before:**
95
+ ```php
96
+ 'foreign_key_column' => OtherSeeder::REFERENCE_CONSTANT,
97
+ ```
98
+
99
+ **After:**
100
+ ```php
101
+ 'foreign_key_column' => OtherSeeder::getReference(
102
+ OtherSeeder::REFERENCE_CONSTANT
103
+ )->getId(),
104
+ ```
105
+
106
+ ### Choosing the getter method
107
+
108
+ - Default: `->getId()` (most foreign keys are IDs)
109
+ - If the column name suggests a different attribute, use the appropriate getter
110
+ (e.g., `'name' => ...` might need `->getName()`)
111
+ - If unsure, check the referenced model's primary key or the column definition
112
+
113
+ ### Extract to variable when referenced multiple times
114
+
115
+ If the same `getReference()` call would appear multiple times in one data file,
116
+ extract it to a variable at the top of the file:
117
+
118
+ ```php
119
+ $category = MaterialDeliveryBillCategorySeeder::getReference(
120
+ MaterialDeliveryBillCategorySeeder::REFERENCE_CATEGORY_A
121
+ );
122
+
123
+ return [
124
+ [
125
+ 'cat_id' => $category->getId(),
126
+ 'cat_name' => $category->getName(),
127
+ ],
128
+ ];
129
+ ```
130
+
131
+ ## Step 4: Verify
132
+
133
+ After fixing, run the seeder to verify:
134
+
135
+ ```bash
136
+ docker compose exec -T <php-service> php artisan db:seed --env=testing
137
+ ```
138
+
139
+ If it fails, investigate and fix the remaining issues.
140
+
141
+ ## Rules
142
+
143
+ - **Do NOT commit or push.** Only apply local changes.
144
+ - **Do NOT change the seeder classes** — only the data files.
145
+ - **Do NOT change the DataSeeder framework** — only fix data file references.
146
+ - When in doubt about the getter method, check the model class.
@@ -0,0 +1,133 @@
1
+ ---
2
+ name: implement-ticket
3
+ skills: [refine-ticket, feature-planning]
4
+ description: Drive a ticket end-to-end through refine → memory → analyze → plan → implement → test → verify → report — Option-A loop over the `implement_ticket` Python engine, block-on-ambiguity, no auto-git.
5
+ disable-model-invocation: true
6
+ ---
7
+
8
+ # implement-ticket
9
+
10
+ ## Instructions
11
+
12
+ ### 1. Resolve input
13
+
14
+ Accept one of four input paths:
15
+
16
+ 1. **Explicit key** — `/implement-ticket PROJ-123`
17
+ 2. **Branch detection** — no arg → `git branch --show-current` + regex
18
+ `[A-Z]+-[0-9]+`
19
+ 3. **Pasted text** — markdown block under the command
20
+ 4. **URL** — `/implement-ticket https://…/browse/PROJ-123`
21
+
22
+ For paths 1, 2, 4: run steps 1-3 of the [`jira-ticket`](jira-ticket.md) command
23
+ (extract ID, fetch ticket, scan for Sentry links). For path 3: parse the pasted
24
+ markdown. If no input resolves:
25
+
26
+ ```
27
+ 🎫 Which ticket should I implement? Paste a key, URL, or the ticket text.
28
+ ```
29
+
30
+ ### 2. Prepare the state file
31
+
32
+ The engine persists everything in a JSON state file (default:
33
+ `.implement-ticket-state.json` in the repo root). Two cases:
34
+
35
+ - **Fresh run** — state file does not exist. Write the resolved ticket to
36
+ `ticket.json` (id, title, body, acceptance_criteria) and pass it via
37
+ `--ticket-file ticket.json`. Honour `roles.active_role` from
38
+ `.agent-settings.yml` via `--persona`.
39
+ - **Resume** — state file exists. Do **not** pass `--ticket-file` or
40
+ `--persona`; mid-flight persona switches are refused by the engine.
41
+
42
+ ### 3. Drive the Option-A dispatch loop
43
+
44
+ Run the engine with the state file on every iteration:
45
+
46
+ ```bash
47
+ PYTHONPATH=scripts python3 -m implement_ticket \
48
+ --state-file .implement-ticket-state.json \
49
+ [--ticket-file ticket.json --persona <name>] # first call only
50
+ ```
51
+
52
+ Then branch on the exit code:
53
+
54
+ | Exit | Meaning | Action |
55
+ |---|---|---|
56
+ | `0` | SUCCESS — final report on stdout | Go to step 5 |
57
+ | `1` | BLOCKED — halt surface on stdout, state persisted | Inspect `questions[0]` |
58
+ | `2` | Config/IO error | Surface the stderr message to the user, stop |
59
+
60
+ On exit `1`, look at the first line after `[halt] outcome=… step=…`:
61
+
62
+ - **Starts with `@agent-directive:`** — agent work required, see §4.
63
+ - **Starts with `>`** — user question per
64
+ [`user-interaction`](../rules/user-interaction.md). Emit the numbered
65
+ options verbatim, wait for the user, write their answer back onto the
66
+ matching state slice, then re-run the engine. Never guess.
67
+
68
+ ### 4. Directive mapping
69
+
70
+ When `questions[0]` is `@agent-directive: <verb> [key=value …]`, dispatch:
71
+
72
+ | Directive | What to do | State write-back |
73
+ |---|---|---|
74
+ | `create-plan` | Invoke [`/feature-plan`](feature-plan.md) with the refined ticket + memory hits | `state.plan` = result; `state.outcomes.plan = "success"` |
75
+ | `apply-plan` | Apply changes per `state.plan` under [`minimal-safe-diff`](../rules/minimal-safe-diff.md) + [`scope-control`](../rules/scope-control.md); one file at a time, read before edit | `state.changes` = `[{path, purpose}]`; `state.outcomes.implement = "success"` |
76
+ | `run-tests scope=targeted` | Invoke [`/tests-execute`](tests-execute.md) on the files in `state.changes` | `state.tests` = `{verdict, durations, details}`; `state.outcomes.test = "success"` only when `verdict == "success"` |
77
+ | `run-tests scope=full` | Same but whole suite (persona `qa` widens to this) | Same as above |
78
+ | `review-changes` | Invoke [`/review-changes`](review-changes.md) | `state.verify` = `{verdict, confidence, notes}`; `state.outcomes.verify = "success"` only when `verdict == "success"` |
79
+
80
+ After the write-back, **re-run the engine**. The dispatcher skips
81
+ already-successful steps and resumes at the next pending one. On a
82
+ non-success verdict, do **not** flip `outcomes` — the engine will reissue
83
+ the same directive so the agent can fix and retry.
84
+
85
+ Never invent directive verbs. Never skip a directive because "the state
86
+ already looks right". The state is authoritative only when the engine
87
+ wrote it.
88
+
89
+ ### 5. Final report + close-prompt
90
+
91
+ On exit `0`, the engine prints the delivery report (nine fixed sections
92
+ per [`implement-ticket-flow`](../../agents/contexts/implement-ticket-flow.md#delivery-report-schema)).
93
+ Surface it unchanged. Append the close-prompt:
94
+
95
+ ```
96
+ > 1. /commit — stage + commit per the delivery report
97
+ > 2. /create-pr — open a pull request from this branch
98
+ > 3. Keep working — I'll hold the state file for the next /implement-ticket
99
+ > 4. Discard — delete .implement-ticket-state.json
100
+ ```
101
+
102
+ **Never run `/commit` or `/create-pr` without the user choosing them.**
103
+ Per [`scope-control`](../rules/scope-control.md), git operations are
104
+ permission-gated.
105
+
106
+ ### Rules
107
+
108
+ - Honour [`scope-control`](../rules/scope-control.md),
109
+ [`minimal-safe-diff`](../rules/minimal-safe-diff.md), and
110
+ [`verify-before-complete`](../rules/verify-before-complete.md) inside
111
+ every directive.
112
+ - Never bypass the engine. Don't skip steps, don't rewrite outcomes,
113
+ don't flip `verdict` from `failed` to `success`.
114
+ - Persona is session-global. Read it from `.agent-settings.yml` on the
115
+ fresh run; never accept a `--persona` flag from the user mid-flight.
116
+ - Memory section in the report is absent when no hit changed an outcome.
117
+ That is by design — don't pad it.
118
+
119
+ ## Examples
120
+
121
+ ```
122
+ /implement-ticket PROJ-123
123
+ /implement-ticket # uses current branch
124
+ /implement-ticket https://acme.atlassian.net/browse/PROJ-123
125
+ ```
126
+
127
+ ## See also
128
+
129
+ - [`implement-ticket-flow`](../../agents/contexts/implement-ticket-flow.md) — flow contract + directive semantics
130
+ - [`adr-implement-ticket-runtime`](../../agents/contexts/adr-implement-ticket-runtime.md) — runtime choice
131
+ - [`refine-ticket`](refine-ticket.md), [`feature-plan`](feature-plan.md), [`tests-execute`](tests-execute.md), [`review-changes`](review-changes.md) — skills the directives delegate to
132
+ - [`commit`](commit.md), [`create-pr`](create-pr.md) — post-delivery commands the user runs explicitly
133
+ - [`road-to-implement-ticket`](../../agents/roadmaps/road-to-implement-ticket.md) — governing roadmap
@@ -0,0 +1,71 @@
1
+ ---
2
+ name: jira-ticket
3
+ skills: [laravel]
4
+ description: Read Jira ticket from branch name, analyze linked Sentry issues, implement feature or fix bug
5
+ disable-model-invocation: true
6
+ ---
7
+
8
+ # jira-ticket
9
+
10
+ ## Instructions
11
+
12
+ ### 1. Extract ticket ID from branch name
13
+
14
+ - Run `git branch --show-current` to get the current branch name.
15
+ - Extract the Jira ticket ID from the branch name (e.g. `fix/DEV-4673-some-description` → `DEV-4673`).
16
+ - If no ticket ID is found in the branch name, or the ticket cannot be found in Jira, **ask the user** for the ticket number or a direct Jira link. Do not guess or proceed without a valid ticket.
17
+
18
+ ### 2. Fetch the Jira ticket
19
+
20
+ - Use the Jira API to fetch the ticket: `GET /issue/{ticketId}`
21
+ - Read and understand:
22
+ - **Summary** and **description** — what needs to be done?
23
+ - **Issue type** — Bug, Feature, Task, etc.
24
+ - **Priority** and **status**
25
+ - **Comments** — often contain additional context, decisions, or reproduction steps.
26
+ - **Linked issues** — may reference related work.
27
+
28
+ ### 3. Check for Sentry links
29
+
30
+ - Scan the ticket description and comments for Sentry URLs (e.g. `https://*.sentry.io/issues/*`).
31
+ - If Sentry links are found:
32
+ - Fetch the Sentry issue details using `get_issue_details` with the URL.
33
+ - Analyze the stacktrace, error message, and affected code.
34
+ - Check tag distributions (browser, environment, URL) if relevant.
35
+ - This gives you the real-world error context to understand the bug.
36
+
37
+ ### 4. Analyze the codebase
38
+
39
+ - Use `codebase-retrieval` to find the relevant code based on what the ticket describes.
40
+ - Read the affected files and understand the current behavior.
41
+ - If it's a bug: reproduce the logic mentally by following the code path from the Sentry stacktrace or ticket description.
42
+ - If it's a feature: understand the existing architecture and where the new code should go.
43
+
44
+ ### 5. Plan the implementation
45
+
46
+ - Create a task list with the planned changes.
47
+ - For bugs: identify the root cause and plan the fix.
48
+ - For features: break down into subtasks.
49
+ - Present the plan to the user and **ask for confirmation before making changes**.
50
+
51
+ ### 6. Implement
52
+
53
+ - Apply the changes following all project coding standards (see AGENTS.md).
54
+ - Use `Math` helper for calculations, proper type hints, `declare(strict_types=1)` in new files, etc.
55
+ - Write the code as if a senior developer would review it.
56
+
57
+ ### 7. Verify
58
+
59
+ - Run `php -l` on all modified files.
60
+ - If the change is testable, suggest writing or running tests.
61
+
62
+ ### Rules
63
+
64
+ - **Do NOT commit or push.** Only apply local changes.
65
+ - **Always ask before implementing** — present the plan first.
66
+ - If the ticket is unclear or missing information, ask the user for clarification.
67
+ - If the Sentry issue reveals a different/bigger problem than the ticket describes, flag it.
68
+
69
+ ## See also
70
+
71
+ - [`role-contracts`](../guidelines/agent-infra/role-contracts.md#developer) — Developer mode output contract (Goal / Plan / Changes / Tests / Open questions)
@@ -0,0 +1,86 @@
1
+ ---
2
+ name: judge
3
+ skills: [subagent-orchestration]
4
+ description: Run a standalone judge on an existing diff or code change — no implementer, no revision loop, verdict only
5
+ disable-model-invocation: true
6
+ ---
7
+
8
+ # judge
9
+
10
+ ## Instructions
11
+
12
+ ### 1. Identify the target
13
+
14
+ The user invoked `/judge` on one of:
15
+
16
+ - The current working-tree diff (`git diff`)
17
+ - A specific commit range (`git diff A..B`)
18
+ - A PR by number or URL
19
+ - A single file or set of files
20
+
21
+ Confirm the target in one sentence before proceeding. Do not silently
22
+ assume the working tree.
23
+
24
+ ### 2. Gather the context
25
+
26
+ Collect what the judge needs:
27
+
28
+ - The diff in full
29
+ - The original task, ticket, or PR description
30
+ - Relevant acceptance criteria (tests, linter config, design doc)
31
+
32
+ If any of these is missing and the judgment would be shallow without
33
+ it, **stop** and ask.
34
+
35
+ ### 3. Resolve the judge model
36
+
37
+ Read `.agent-settings.yml`:
38
+
39
+ - `subagents.judge_model` → empty = one tier above session model
40
+
41
+ Unknown alias → stop. Silence is not a fallback.
42
+
43
+ ### 4. Invoke the judge
44
+
45
+ The judge reviews the diff against the task. Return one of:
46
+
47
+ | Verdict | Meaning |
48
+ |----------|----------------------------------------------|
49
+ | `apply` | Correct, complete, ready to land |
50
+ | `revise` | Specific issues listed — user decides next |
51
+ | `reject` | Fundamentally wrong approach |
52
+
53
+ Unlike `/do-and-judge`, this command does **not** loop — no revision
54
+ cycles. The verdict is the deliverable.
55
+
56
+ ### 5. Report
57
+
58
+ ```
59
+ Mode: judge (standalone)
60
+ Target: <diff | commit range | PR #N | files>
61
+ Judge: <resolved model>
62
+ Verdict: apply | revise | reject
63
+ Issues: <numbered list if revise/reject>
64
+ Next step: <what the user should do based on the verdict>
65
+ ```
66
+
67
+ ## Use this command when
68
+
69
+ - A diff already exists and the user wants a second opinion
70
+ - Reviewing someone else's PR before approving it
71
+ - Double-checking a change before opening a PR
72
+ - Stress-testing a refactor without committing to revisions
73
+
74
+ ## Do NOT
75
+
76
+ - NEVER apply the diff — this command judges only
77
+ - NEVER loop into a revision cycle — use `/do-and-judge` for that
78
+ - NEVER run the judge on an empty diff — fail fast
79
+ - NEVER silently fall back to the session model for the judge
80
+
81
+ ## See also
82
+
83
+ - [`subagent-orchestration`](../skills/subagent-orchestration/SKILL.md)
84
+ - [`/do-and-judge`](do-and-judge.md) — if a revision loop is wanted
85
+ - [`/review-changes`](review-changes.md) — human-oriented self-review
86
+ - [`role-contracts`](../guidelines/agent-infra/role-contracts.md#reviewer) — Reviewer mode output contract (Summary / Risks / Findings / Required actions / Verdict)
@@ -0,0 +1,130 @@
1
+ ---
2
+ name: memory-add
3
+ description: Interactively add a validated entry to an engineering-memory file (domain-invariants, architecture-decisions, incident-learnings, product-rules)
4
+ skills: [file-editor]
5
+ disable-model-invocation: true
6
+ ---
7
+
8
+ # /memory-add
9
+
10
+ Creates or updates a single entry in one of the four engineering-memory
11
+ YAML files under `agents/memory/` in the consumer project. The entry
12
+ is validated against the schema in
13
+ [`engineering-memory-data-format`](../guidelines/agent-infra/engineering-memory-data-format.md)
14
+ before the file is written.
15
+
16
+ Absence of these files is legal — this command is the entry point for
17
+ the first write and for every subsequent addition.
18
+
19
+ ## Prerequisites
20
+
21
+ - Consumer project has an `agents/` directory (package installed).
22
+ - `scripts/check_memory.py` is available (shipped with the package).
23
+ - User can name a concrete pattern — see the "when to reject" section.
24
+
25
+ ## Steps
26
+
27
+ ### 1. Pick the memory type
28
+
29
+ ```
30
+ > Which memory type is this entry for?
31
+ >
32
+ > 1. domain-invariants — architectural boundaries, module rules
33
+ > 2. architecture-decisions — ADR-style decisions with alternatives
34
+ > 3. incident-learnings — post-mortem patterns with guardrails
35
+ > 4. product-rules — intentional business constraints
36
+ ```
37
+
38
+ If the user cannot pick one confidently, stop and ask what the entry
39
+ **describes**. Never guess the type — a misfiled entry is worse than
40
+ no entry.
41
+
42
+ ### 2. Check it does not already exist
43
+
44
+ Read the target file (single-file layout: `agents/memory/<type>.yml`;
45
+ sharded layout: `agents/memory/<type>/*.yml`). For each existing
46
+ `id:`, compare against the proposed pattern:
47
+
48
+ - Same `scope:` path + same rule text → **update** existing entry
49
+ (bump `last_validated`, append evidence to `source:`).
50
+ - Overlapping `scope:` but different rule → surface the conflict and
51
+ ask which entry supersedes which.
52
+ - No overlap → proceed as new entry.
53
+
54
+ ### 3. Collect the required fields
55
+
56
+ All four types share the frontmatter in
57
+ [`engineering-memory-data-format`](../guidelines/agent-infra/engineering-memory-data-format.md#shared-frontmatter-fields).
58
+ Collect in this order, one numbered question at a time:
59
+
60
+ 1. `id` — kebab-case slug, unique within the type.
61
+ 2. `status` — `active` · `deprecated` · `archived` (default: `active`).
62
+ 3. `confidence` — `low` · `medium` · `high`.
63
+ 4. `source` — at least one URL, PR, incident, or ADR reference.
64
+ 5. `owner` — team slug.
65
+ 6. `last_validated` — today's ISO date (default).
66
+ 7. `review_after_days` — integer; suggest 90 for ADRs, 180 for
67
+ invariants, 365 for product rules.
68
+
69
+ Then the type-specific fields (see the example templates under
70
+ `.augment/templates/agents/memory/`).
71
+
72
+ ### 4. Show the draft
73
+
74
+ Render the proposed YAML block to the user and ask for confirmation:
75
+
76
+ ```
77
+ > About to add to agents/memory/<type>.yml:
78
+ >
79
+ > <yaml block>
80
+ >
81
+ > 1. Write it — run the gate
82
+ > 2. Edit a field — ask which one
83
+ > 3. Cancel — discard draft
84
+ ```
85
+
86
+ ### 5. Write and gate
87
+
88
+ On confirmation:
89
+
90
+ - Append the entry to the chosen layout (single-file: append under
91
+ `entries:`; sharded: write `agents/memory/<type>/<hash>.yml`).
92
+ - Run `python3 scripts/check_memory.py --path agents/memory`.
93
+ - On non-zero exit: show the error, **revert** the write, return to
94
+ step 3 or 4 depending on the failure.
95
+ - On zero exit: report the entry `id` and path, remind the user to
96
+ commit.
97
+
98
+ ### 6. Cross-link
99
+
100
+ If the entry has a `references:` block pointing to a skill, rule, or
101
+ ADR file, run `python3 scripts/check_references.py` to verify the
102
+ link resolves. Broken link → block and ask the user to fix.
103
+
104
+ ## When to reject
105
+
106
+ - Vague frustration ("we should be more careful about X") — not a
107
+ pattern. Ask for a concrete rule or ADR instead.
108
+ - One-off anecdote with no `trigger_conditions:` or `scope:` — not
109
+ generalizable.
110
+ - Duplicate of an existing entry (step 2) — update instead.
111
+ - Missing `source:` — an entry without evidence cannot be reviewed.
112
+
113
+ ## Output format
114
+
115
+ ```
116
+ ✅ Added <type>/<id> (confidence: <high|medium|low>)
117
+ Path: agents/memory/<type>.yml (or agents/memory/<type>/<hash>.yml)
118
+ Gate: scripts/check_memory.py → PASS
119
+ Next: commit and link from the relevant skill/command.
120
+ ```
121
+
122
+ ## See also
123
+
124
+ - [`engineering-memory-data-format`](../guidelines/agent-infra/engineering-memory-data-format.md)
125
+ — full schema
126
+ - [`capture-learnings`](../rules/capture-learnings.md) — when a
127
+ learning is better captured as an `incident-learnings` entry vs a
128
+ rule/skill proposal
129
+ - [`road-to-engineering-memory.md`](../../agents/roadmaps/road-to-engineering-memory.md)
130
+ — Phase 3 writer ergonomics