@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,184 @@
1
+ ---
2
+ name: feature-roadmap
3
+ skills: [agent-docs-writing]
4
+ description: Generate implementation roadmap(s) from a feature plan and link them
5
+ disable-model-invocation: true
6
+ ---
7
+
8
+ # feature-roadmap
9
+
10
+ ## Instructions
11
+
12
+ ### 1. Find the feature
13
+
14
+ - List feature plans in `agents/features/`.
15
+ - Also check module-level `app/Modules/*/agents/features/`.
16
+
17
+ If the user specified a feature name, load it directly.
18
+ Otherwise show a list and ask:
19
+
20
+ ```
21
+ 📂 Feature plans:
22
+
23
+ # Name Status
24
+ ─ ────────────────────────────── ──────
25
+ 1 import-csv-validation.md 📋 Planned
26
+ 2 webhook-retry-logic.md 📋 Planned
27
+
28
+ Which feature should get a roadmap?
29
+ ```
30
+
31
+ If no features exist or all are `💡 Idea`:
32
+ ```
33
+ ⚠️ No feature ready for a roadmap.
34
+ Create a plan first with /feature-plan or refine with /feature-refactor.
35
+ ```
36
+ Stop.
37
+
38
+ ### 2. Analyze the feature
39
+
40
+ - Read the feature file completely.
41
+ - Read `agents/roadmaps/template.md` for the roadmap structure.
42
+ - Research the codebase for affected areas mentioned in the feature.
43
+
44
+ Determine how many roadmaps are needed:
45
+
46
+ - **Single roadmap:** Small/medium features that fit in one document.
47
+ - **Multiple roadmaps:** Large features that span multiple phases or modules.
48
+
49
+ ```
50
+ I've analyzed the feature:
51
+
52
+ 📄 {feature title}
53
+ 📐 Scope: {scope summary}
54
+ 🔧 Affected areas: {modules, models, services}
55
+
56
+ ───────────────────────────────────────────────
57
+ ROADMAP PROPOSAL:
58
+ ───────────────────────────────────────────────
59
+
60
+ {Option A: Single roadmap}
61
+ 📄 agents/roadmaps/{feature-name}.md
62
+ Phasen: {phase count}
63
+ Estimated effort: {rough estimate}
64
+
65
+ {Option B: Multiple roadmaps — only if feature is large}
66
+ 📄 agents/roadmaps/{feature-name}-database.md (Schema & Migrations)
67
+ 📄 agents/roadmaps/{feature-name}-backend.md (Services, API)
68
+ 📄 agents/roadmaps/{feature-name}-frontend.md (UI, if applicable)
69
+
70
+ Which fits better? Or do you have a different breakdown in mind?
71
+ ```
72
+
73
+ ### 3. Plan the phases
74
+
75
+ For each roadmap, work through the phases interactively:
76
+
77
+ **Phase planning questions:**
78
+ - "What order makes sense? I suggest: {order}"
79
+ - "Soll {X} ein eigener Schritt sein oder Teil von {Y}?"
80
+ - "Are there dependencies between the steps?"
81
+
82
+ **Use codebase knowledge:**
83
+ - Reference specific files that need changes.
84
+ - Identify existing patterns to follow.
85
+ - Flag potential conflicts with other work.
86
+
87
+ **Phase structure per roadmap step:**
88
+ ```markdown
89
+ ### Phase {N}: {title}
90
+
91
+ - [ ] {concrete task with file reference}
92
+ - [ ] {concrete task}
93
+ - [ ] Tests: {what to test}
94
+ - [ ] Quality: PHPStan + Rector
95
+ ```
96
+
97
+ ### 4. Generate the roadmap(s)
98
+
99
+ - Read `.augment/templates/roadmaps.md` for the format.
100
+ - Determine the target directory from the feature's location:
101
+ - Feature in `agents/features/` → roadmap in `agents/roadmaps/`
102
+ - Feature in `app/Modules/{Module}/agents/features/` → roadmap in `app/Modules/{Module}/agents/roadmaps/`
103
+ - Create the target directory if it doesn't exist.
104
+
105
+ **Naming convention:**
106
+ - Single: `agents/roadmaps/{feature-name}.md`
107
+ - Multiple: `agents/roadmaps/{feature-name}-{aspect}.md`
108
+
109
+ ### 5. Link roadmaps in the feature plan
110
+
111
+ Update the feature file's `## Roadmaps` section:
112
+
113
+ ```markdown
114
+ ## Roadmaps
115
+
116
+ - [`agents/roadmaps/{feature-name}.md`](../roadmaps/{feature-name}.md) — Main implementation roadmap
117
+ ```
118
+
119
+ Or for multiple:
120
+ ```markdown
121
+ ## Roadmaps
122
+
123
+ - [`agents/roadmaps/{name}-database.md`](../roadmaps/{name}-database.md) — Schema & Migrations
124
+ - [`agents/roadmaps/{name}-backend.md`](../roadmaps/{name}-backend.md) — Services & API
125
+ - [`agents/roadmaps/{name}-frontend.md`](../roadmaps/{name}-frontend.md) — UI Components
126
+ ```
127
+
128
+ Update the feature status to `🗺️ Roadmapped`.
129
+
130
+ ### 6. Show the result
131
+
132
+ ```
133
+ ═══════════════════════════════════════════════
134
+ 🗺️ ROADMAP(S) CREATED
135
+ ═══════════════════════════════════════════════
136
+
137
+ Feature: {title}
138
+ Status: 🗺️ Roadmapped
139
+
140
+ ───────────────────────────────────────────────
141
+ DATEIEN:
142
+ ───────────────────────────────────────────────
143
+
144
+ 📄 agents/roadmaps/{name}.md ({phase count} Phasen)
145
+ 📄 agents/features/{name}.md (status updated, roadmaps linked)
146
+
147
+ ───────────────────────────────────────────────
148
+ PHASE OVERVIEW:
149
+ ───────────────────────────────────────────────
150
+
151
+ Phase 1: {title} — {summary}
152
+ Phase 2: {title} — {summary}
153
+ Phase 3: {title} — {summary}
154
+
155
+ ═══════════════════════════════════════════════
156
+ ```
157
+
158
+ ### 7. Next steps
159
+
160
+ ```
161
+ What's next?
162
+
163
+ 1. 🚀 Start with Phase 1
164
+ 2. ✏️ Adjust roadmap
165
+ 3. ✅ Done for now
166
+ ```
167
+
168
+ - **Option 1:** Start Phase 1 using the roadmap context.
169
+ - **Option 2:** Discuss changes and update the roadmap.
170
+ - **Option 3:** Done.
171
+
172
+ ### Rules
173
+
174
+ - **Do NOT commit or push.**
175
+ - **Do NOT modify the feature plan** beyond updating the Roadmaps section and status.
176
+ - **Always link roadmaps back to the feature** and vice versa.
177
+ - **Use the roadmap template** from `agents/roadmaps/template.md`.
178
+ - **Reference specific files** in roadmap tasks — not vague descriptions.
179
+ - **Include quality gates** (PHPStan, Rector, tests) in every phase.
180
+ - **Research the codebase** to make tasks concrete and realistic.
181
+
182
+ ## See also
183
+
184
+ - [`role-contracts`](../guidelines/agent-infra/role-contracts.md#planner) — Planner mode output contract (Goal / Constraints / Option set / Recommendation / Dependencies / Rollback)
@@ -0,0 +1,48 @@
1
+ ---
2
+ name: fix-ci
3
+ skills: [github-ci, quality-tools]
4
+ description: Fetch CI errors from GitHub Actions and fix them
5
+ disable-model-invocation: true
6
+ ---
7
+
8
+ # fix-ci
9
+
10
+ ## Instructions
11
+
12
+ ### 1. Identify the failing CI run
13
+
14
+ - Get the current branch name from `git branch --show-current`.
15
+ - Fetch the latest CI run for this branch via GitHub API:
16
+ - `GET /repos/{owner}/{repo}/actions/runs?branch={branch}&per_page=5`
17
+ - Find the most recent failed run.
18
+
19
+ ### 2. Get the failure details
20
+
21
+ - Fetch the jobs for the failed run: `GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs`
22
+ - For each failed job, fetch the logs: `GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs`
23
+ - If logs are not available via API, check the check-runs and status endpoints:
24
+ - `GET /repos/{owner}/{repo}/commits/{sha}/check-runs`
25
+ - `GET /repos/{owner}/{repo}/commits/{sha}/status`
26
+
27
+ ### 3. Analyze and fix
28
+
29
+ - Parse the error output to identify the root cause.
30
+ - Detect the project type: if `artisan` exists → Laravel, otherwise → Composer (see `rules/docker-commands.md`).
31
+ - Common CI failures:
32
+ - **PHPStan errors** — fix the code, do NOT add to baseline or ignoreErrors.
33
+ - **ECS (coding standard) errors** — run `vendor/bin/ecs check --fix` (auto-fix).
34
+ - **Rector changes** — run `vendor/bin/rector process` (auto-fix).
35
+ - **Test failures** — read the failing test, understand the assertion, fix the code or test.
36
+ - **Biome / TypeScript errors** — run `npm run biome:fix` or `npm run tscheck` and fix.
37
+ - Fix errors in the local codebase.
38
+
39
+ ### 4. Verify
40
+
41
+ - Re-run the failing tool locally (inside the PHP container) to confirm the fix.
42
+ - If multiple tools failed, fix and verify each one.
43
+
44
+ ### Rules
45
+
46
+ - **Do NOT commit or push.** Only apply local fixes.
47
+ - **Do NOT skip or ignore errors** — fix the root cause.
48
+ - If a fix is unclear, explain the error and ask the user for guidance.
@@ -0,0 +1,97 @@
1
+ ---
2
+ name: fix-portability
3
+ description: Find and fix project-specific references in shared .augment/ package files
4
+ disable-model-invocation: true
5
+ ---
6
+
7
+ # fix-portability
8
+
9
+ ## Instructions
10
+
11
+ ### 1. Run the portability checker
12
+
13
+ ```bash
14
+ python3 scripts/check_portability.py --format json
15
+ ```
16
+
17
+ ### 2. Parse findings
18
+
19
+ If output is `[]` or "No portability violations found":
20
+
21
+ ```
22
+ ✅ No portability violations found. Package is project-agnostic.
23
+ ```
24
+
25
+ Stop here.
26
+
27
+ ### 3. Display findings
28
+
29
+ ```
30
+ ═══════════════════════════════════════════════
31
+ 📦 PORTABILITY VIOLATION REPORT
32
+ ═══════════════════════════════════════════════
33
+
34
+ Found: {count} violation(s)
35
+ ```
36
+
37
+ Group by severity:
38
+
39
+ ```
40
+ 🔴 ERRORS (must fix):
41
+ {file}:{line} — pattern: `{pattern}` — match: `{matched_text}`
42
+
43
+ 🟡 WARNINGS (should fix):
44
+ {file}:{line} — pattern: `{pattern}` — match: `{matched_text}`
45
+ ```
46
+
47
+ ### 4. Classify and fix
48
+
49
+ For each violation:
50
+
51
+ | Pattern Type | Fix Strategy |
52
+ |---|---|
53
+ | Project name (e.g., "MyApp", "acme-corp") | Replace with generic placeholder: `{project}`, `{app}` |
54
+ | Project-specific URL/domain | Replace with `https://example.com` or `{domain}` |
55
+ | Database name | Replace with `{database}` |
56
+ | Project-specific env var | Replace with generic `APP_*` equivalent |
57
+ | Project-specific path | Replace with relative or generic path |
58
+ | Docker container name | Replace with `{container}` |
59
+
60
+ Present a summary:
61
+
62
+ ```
63
+ Proposed fixes:
64
+ 1. {file}:{line} — `{old}` → `{new}`
65
+ 2. {file}:{line} — `{old}` → `{new}`
66
+
67
+ > 1. Apply all fixes
68
+ > 2. Apply interactively
69
+ > 3. Skip — report only
70
+ ```
71
+
72
+ ### 5. Apply fixes
73
+
74
+ Edit files in `.agent-src.uncompressed/`, then run `task sync` to regenerate `.agent-src/` and `.augment/`.
75
+
76
+ After all fixes, re-run:
77
+
78
+ ```bash
79
+ python3 scripts/check_portability.py
80
+ ```
81
+
82
+ ### 6. Mark hashes
83
+
84
+ For each modified file:
85
+
86
+ ```bash
87
+ python3 scripts/compress.py --mark-done "{relative_path}"
88
+ ```
89
+
90
+ ## Rules
91
+
92
+ - **Always fix in `.agent-src.uncompressed/`** — never edit `.agent-src/` or `.augment/` directly.
93
+ - **Run `task sync`** after fixing to regenerate `.agent-src/` and `.augment/`.
94
+ - **Do NOT commit or push.**
95
+ - **`agents/` directory is allowed** to have project-specific references — skip it.
96
+ - **Do NOT fix references in code blocks** unless the code block is clearly a template.
97
+ - **Run the checker again after fixing** to verify 0 remaining issues.
@@ -0,0 +1,146 @@
1
+ ---
2
+ name: fix-pr-bot-comments
3
+ skills: [php-coder, quality-tools]
4
+ description: Fix and reply to bot review comments (Copilot, Augment, Greptile, etc.) on a GitHub PR
5
+ disable-model-invocation: true
6
+ ---
7
+
8
+ # fix-pr-bot-comments
9
+
10
+ ## Input
11
+
12
+ The user may or may not provide a PR URL.
13
+
14
+ ### PR detection
15
+
16
+ 1. If the user provides a GitHub PR URL → use that PR.
17
+ 2. If no URL is provided → **try to detect the PR automatically:**
18
+ - Determine the current Git branch (`git branch --show-current`).
19
+ - Search for an open PR on that branch via the GitHub API
20
+ (`GET /repos/{owner}/{repo}/pulls?head={owner}:{branch}&state=open`).
21
+ - If exactly one PR is found → tell the user: "I found PR #{number} ({title}) on branch `{branch}`. Is that the one?"
22
+ - Wait for confirmation before proceeding.
23
+ - If no PR or multiple PRs are found → ask the user for the PR URL.
24
+ 3. **Never** reuse a PR number from earlier in the conversation.
25
+
26
+ ## Mode selection
27
+
28
+ After the PR is confirmed, ask the user (use numbered options per `user-interaction` rule):
29
+
30
+ ```
31
+ > 1. Interactive — ask before each comment
32
+ > 2. Automatic — handle all independently
33
+ ```
34
+
35
+ - **Option 1** → follow the "Interactive flow" below.
36
+ - **Option 2** → follow the "Auto flow" below.
37
+
38
+ ## Bot detection
39
+
40
+ A comment is from a **bot** if the GitHub user has `type: "Bot"` or the login matches
41
+ known bot accounts: `Copilot`, `github-actions[bot]`, `greptile[bot]`, `augment[bot]`,
42
+ or any login ending in `[bot]`.
43
+
44
+ ## Instructions (shared)
45
+
46
+ 1. **Fetch all review comments** from the PR using the GitHub API (`/pulls/{number}/comments`).
47
+ Use `per_page: 100`. Filter for **bot comments** that have **no reply yet** from a human user.
48
+
49
+ 2. **For each unresolved bot comment**, read the affected file and surrounding context
50
+ to understand the code and the suggestion.
51
+
52
+ 3. **Report the total count** to the user: "Found X unresolved bot comments."
53
+
54
+ ---
55
+
56
+ ## Interactive flow
57
+
58
+ For each comment, present it to the user **before** taking action:
59
+
60
+ ### 1. Summarize the comment
61
+
62
+ In the **user's language**, briefly explain:
63
+ - Which file/line is affected
64
+ - What the bot is suggesting
65
+ - Your assessment: is it valid, partially valid, or not applicable?
66
+
67
+ ### 2. Offer options
68
+
69
+ Present numbered options. Always include a "leave as-is" option. Examples:
70
+
71
+ **If there's one clear fix:**
72
+ > **Comment 1/3** — `WorkingTimeService.php:108`
73
+ > Bot says: The guard condition only checks `job_start`, but the comment also mentions `job_stop`.
74
+ >
75
+ > 1. Fix the comment (only mention `job_start`)
76
+ > 2. Extend the guard condition (also check `job_stop`)
77
+ > 3. Leave as-is, dismiss comment
78
+
79
+ **If there are multiple valid approaches:**
80
+ > **Comment 2/3** — `AbsencePlannerService.php:520`
81
+ > Bot says: When an exception occurs mid-loop, log entries are missing.
82
+ >
83
+ > 1. `writeLogBulk()` in einen `finally`-Block verschieben
84
+ > 2. Die gesamte Schleife in eine DB-Transaction wrappen
85
+ > 3. Leave as-is, dismiss comment
86
+
87
+ ### 3. Wait for the user's choice
88
+
89
+ - Do NOT proceed until the user picks an option.
90
+ - If the user asks a follow-up question, answer it before proceeding.
91
+ - After the user chooses, apply the fix (or skip) and reply on GitHub.
92
+
93
+ ### 4. Move to the next comment
94
+
95
+ Repeat until all comments are handled.
96
+
97
+ ---
98
+
99
+ ## Auto flow
100
+
101
+ Process all comments without asking. For each comment:
102
+
103
+ 1. Analyze whether the suggestion is valid.
104
+ 2. **If valid** — fix it and reply on GitHub.
105
+ 3. **If not valid** — reply on GitHub explaining why, do NOT change the code.
106
+
107
+ ---
108
+
109
+ ## Common patterns to watch for
110
+
111
+ - **Duplicate PHPDoc tags** → fix by keeping the more specific/typed version.
112
+ - **Split PHPDoc blocks** → merge into a single docblock.
113
+ - **Wrong PHPDoc tag order** → `@param` before `@return` before `@throws`.
114
+ - **Conflicting PHPDoc types** → remove incorrect PHPDoc, trust the method signature.
115
+ - **Broad ignore patterns / intentional config** → reply explaining rationale, don't change.
116
+ - **Validation/logic bugs** → fix the code.
117
+
118
+ ## Reply style — write like a human developer, not an AI
119
+
120
+ - The GitHub API token authenticates as the PR author. Write replies as if you ARE the developer.
121
+ - Keep it casual, short, and natural. Like a real dev replying to a code review.
122
+ - Vary your wording — never use the same opening phrase twice in a row.
123
+ - Don't over-explain. A dev who fixed something doesn't write a paragraph about it.
124
+ - Good examples: `"Good catch, fixed."`, `"Yep, consolidated into one docblock now."`,
125
+ `"Removed the duplicate 👍"`, `"That's intentional — [reason]"`
126
+ - Never start multiple replies with "Fixed". Mix it up: "Done", "Good catch", "Yep", etc.
127
+
128
+ ### Bot icon prefix
129
+
130
+ Read `project.pr_comment_bot_icon` from `.agent-settings.yml`. If `true` (default),
131
+ prefix every reply with `🤖 ` so reviewers can see at a glance that the reply was
132
+ bot-authored.
133
+
134
+ Example: `🤖 Good catch, fixed.`
135
+
136
+ If `false` or `.agent-settings.yml` doesn't exist, do NOT add the prefix.
137
+
138
+ ## Replying via GitHub API
139
+
140
+ Read `github.pr_reply_method` from `.agent-settings.yml` to determine the correct endpoint.
141
+ See the `command-routing` skill → "GitHub API: Replying to PR review comments" for full details.
142
+
143
+ ## After all comments
144
+
145
+ 1. Run a PHP syntax check (`php -l`) on all modified files to verify nothing is broken.
146
+ 2. **Do NOT commit or push.** Just apply the fixes locally and reply to all comments on GitHub.
@@ -0,0 +1,58 @@
1
+ ---
2
+ name: fix-pr-comments
3
+ skills: [php-coder]
4
+ description: Fix and reply to all open review comments (bots + human reviewers) on a GitHub PR
5
+ disable-model-invocation: true
6
+ ---
7
+
8
+ # fix-pr-comments
9
+
10
+ This command runs `fix-pr-bot-comments` and `fix-pr-developer-comments` in sequence on the same PR.
11
+
12
+ ## Input
13
+
14
+ The user may or may not provide a PR URL.
15
+
16
+ ### PR detection
17
+
18
+ 1. If the user provides a GitHub PR URL → use that PR.
19
+ 2. If no URL is provided → **try to detect the PR automatically:**
20
+ - Determine the current Git branch (`git branch --show-current`).
21
+ - Search for an open PR on that branch via the GitHub API
22
+ (`GET /repos/{owner}/{repo}/pulls?head={owner}:{branch}&state=open`).
23
+ - If exactly one PR is found → tell the user: "I found PR #{number} ({title}) on branch `{branch}`. Is that the one?"
24
+ - Wait for confirmation before proceeding.
25
+ - If no PR or multiple PRs are found → ask the user for the PR URL.
26
+ 3. **Never** reuse a PR number from earlier in the conversation.
27
+
28
+ ## Mode selection
29
+
30
+ After the PR is confirmed, ask the user:
31
+
32
+ ```
33
+ > 1. Interactive — ask before each comment
34
+ > 2. Automatic — handle all independently
35
+ ```
36
+
37
+ The chosen mode applies to **both** phases.
38
+
39
+ ## Execution
40
+
41
+ ### Phase 1: Bot comments
42
+
43
+ Follow the full `fix-pr-bot-comments` instructions (see `.augment/commands/fix-pr-bot-comments.md`).
44
+ Use the already-confirmed PR and mode — do not ask again.
45
+
46
+ Report when done: "Bot comments done. Continuing with reviewer comments..."
47
+
48
+ ### Phase 2: Developer comments
49
+
50
+ Follow the full `fix-pr-developer-comments` instructions (see `.augment/commands/fix-pr-developer-comments.md`).
51
+ Use the same PR and mode.
52
+
53
+ ### After both phases
54
+
55
+ 1. Run a PHP syntax check (`php -l`) on all modified files to verify nothing is broken.
56
+ 2. Report a final summary: how many bot comments handled, how many developer comments handled,
57
+ how many files modified.
58
+ 3. **Do NOT commit or push.** Just apply the fixes locally and reply to all comments on GitHub.
@@ -0,0 +1,152 @@
1
+ ---
2
+ name: fix-pr-developer-comments
3
+ skills: [php-coder]
4
+ description: Fix and reply to human reviewer comments on a GitHub PR
5
+ disable-model-invocation: true
6
+ ---
7
+
8
+ # fix-pr-developer-comments
9
+
10
+ ## Input
11
+
12
+ The user may or may not provide a PR URL.
13
+
14
+ ### PR detection
15
+
16
+ 1. If the user provides a GitHub PR URL → use that PR.
17
+ 2. If no URL is provided → **try to detect the PR automatically:**
18
+ - Determine the current Git branch (`git branch --show-current`).
19
+ - Search for an open PR on that branch via the GitHub API
20
+ (`GET /repos/{owner}/{repo}/pulls?head={owner}:{branch}&state=open`).
21
+ - If exactly one PR is found → tell the user: "I found PR #{number} ({title}) on branch `{branch}`. Is that the one?"
22
+ - Wait for confirmation before proceeding.
23
+ - If no PR or multiple PRs are found → ask the user for the PR URL.
24
+ 3. **Never** reuse a PR number from earlier in the conversation.
25
+
26
+ ## Mode selection
27
+
28
+ After the PR is confirmed, ask the user (use numbered options per `user-interaction` rule):
29
+
30
+ ```
31
+ > 1. Interactive — ask before each comment
32
+ > 2. Automatic — handle all independently
33
+ ```
34
+
35
+ - **Option 1** → follow the "Interactive flow" below.
36
+ - **Option 2** → follow the "Auto flow" below.
37
+
38
+ ## Human reviewer detection
39
+
40
+ A comment is from a **human reviewer** if:
41
+ - The GitHub user `type` is `"User"` (not `"Bot"`).
42
+ - The login does NOT end in `[bot]`.
43
+ - The user is NOT the PR author (don't process your own comments).
44
+
45
+ ## Instructions (shared)
46
+
47
+ 1. **Fetch all review comments** from the PR using the GitHub API (`/pulls/{number}/comments`).
48
+ Use `per_page: 100`. Also fetch **PR reviews** (`/pulls/{number}/reviews`) for top-level
49
+ review comments. Filter for **human reviewer comments** that have **no reply yet** from the PR author.
50
+
51
+ 2. **For each unresolved reviewer comment**, read the affected file and surrounding context
52
+ to understand the code and what the reviewer is asking for.
53
+
54
+ 3. **Report the total count** to the user: "Found X unresolved reviewer comments."
55
+
56
+ ---
57
+
58
+ ## Interactive flow
59
+
60
+ For each comment, present it to the user **before** taking action:
61
+
62
+ ### 1. Summarize the comment
63
+
64
+ In the **user's language**, briefly explain:
65
+ - Who wrote the comment (reviewer name/login)
66
+ - Which file/line is affected
67
+ - What the reviewer is requesting or asking
68
+ - Your assessment: is it a valid concern, a question, a style preference, or a misunderstanding?
69
+
70
+ ### 2. Offer options
71
+
72
+ Present numbered options. Always include a "skip" option. Adapt options to the comment type:
73
+
74
+ **For a change request:**
75
+ > **Comment 1/3** — @cjost1988 in `WorkingTimeService.php:108`
76
+ > Reviewer asks: Why is the fallback `float`? `$time` is `$hours * 60`.
77
+ >
78
+ > 1. Reply and explain why (no code change needed)
79
+ > 2. Adjust type annotation to `float|int|string`
80
+ > 3. Skip
81
+
82
+ **For a bug report:**
83
+ > **Comment 2/3** — @cjost1988 in `AbsencePlannerService.php:520`
84
+ > Reviewer says: Race condition when two requests book simultaneously.
85
+ >
86
+ > 1. Add locking mechanism (DB lock or cache lock)
87
+ > 2. Reply: not relevant in current scope, create a ticket
88
+ > 3. Skip
89
+
90
+ **For a question (no code change needed):**
91
+ > **Comment 3/3** — @cjost1988 in `KS21Client.php:42`
92
+ > Reviewer asks: Is this fallback ever reached?
93
+ >
94
+ > 1. Reply with explanation
95
+ > 2. Skip
96
+
97
+ ### 3. Wait for the user's choice
98
+
99
+ - Do NOT proceed until the user picks an option.
100
+ - If the user wants to write a custom reply, let them dictate the text.
101
+ - If the user asks a follow-up question, answer it before proceeding.
102
+ - After the user chooses, apply the fix (or reply) and post on GitHub.
103
+
104
+ ### 4. Move to the next comment
105
+
106
+ Repeat until all comments are handled.
107
+
108
+ ---
109
+
110
+ ## Auto flow
111
+
112
+ Process all comments without asking. For each comment:
113
+
114
+ 1. Analyze what the reviewer is requesting.
115
+ 2. **If it's a clear code fix** — fix it and reply on GitHub.
116
+ 3. **If it's a question** — reply with a concise explanation on GitHub.
117
+ 4. **If it's ambiguous or a design decision** — flag it to the user instead of guessing.
118
+ In auto mode, collect these and present them at the end: "These comments need your decision: ..."
119
+
120
+ ---
121
+
122
+ ## Reply style — write like a human developer, not an AI
123
+
124
+ - The GitHub API token authenticates as the PR author. Write replies as if you ARE the developer.
125
+ - Keep it casual, short, and natural. Like a real dev replying to a code review.
126
+ - Vary your wording — never use the same opening phrase twice in a row.
127
+ - For reviewer questions: answer directly and concisely. Don't over-explain.
128
+ - For fixes: confirm briefly what was changed.
129
+ - Be respectful — these are colleagues, not bots. Don't dismiss feedback.
130
+ - Good examples: `"Good point, fixed."`, `"Yep, that was a leftover — removed."`,
131
+ `"The fallback covers legacy data where getTime() returns a string."`
132
+ - Never start multiple replies with the same phrase. Mix it up naturally.
133
+
134
+ ### Bot icon prefix
135
+
136
+ Read `project.pr_comment_bot_icon` from `.agent-settings.yml`. If `true` (default),
137
+ prefix every reply with `🤖 ` so reviewers can see at a glance that the reply was
138
+ bot-authored.
139
+
140
+ Example: `🤖 Good point, fixed.`
141
+
142
+ If `false` or `.agent-settings.yml` doesn't exist, do NOT add the prefix.
143
+
144
+ ## Replying via GitHub API
145
+
146
+ Read `github.pr_reply_method` from `.agent-settings.yml` to determine the correct endpoint.
147
+ See the `command-routing` skill → "GitHub API: Replying to PR review comments" for full details.
148
+
149
+ ## After all comments
150
+
151
+ 1. Run a PHP syntax check (`php -l`) on all modified files to verify nothing is broken.
152
+ 2. **Do NOT commit or push.** Just apply the fixes locally and reply to all comments on GitHub.