@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,129 @@
1
+ ---
2
+ name: file-editor
3
+ description: "Use when opening edited files in the user's IDE. Reads settings from .agent-settings.yml to determine IDE and whether auto-open is enabled."
4
+ source: package
5
+ execution:
6
+ type: assisted
7
+ handler: shell
8
+ allowed_tools: []
9
+ ---
10
+
11
+ # file-editor
12
+
13
+ ## When to use
14
+
15
+ This skill applies **automatically** whenever:
16
+ - The agent creates or edits a file using `save-file` or `str-replace-editor`
17
+ - The agent wants to show the user a file they should review
18
+
19
+ Do NOT use when:
20
+ - Only reading files (no edits)
21
+ - Running commands or tests
22
+ - The `personal.open_edited_files` setting is `false`
23
+
24
+ ## Procedure: Open files in IDE
25
+
26
+ 1. **Read settings** — Check `personal.open_edited_files` and `personal.ide` in `.agent-settings.yml`.
27
+ 2. **Skip if disabled** — If `personal.open_edited_files` is `false`, do nothing.
28
+ 3. **Open files** — Use the IDE CLI command to open each edited file.
29
+ 4. **Verify** — Confirm the command succeeded (exit code 0).
30
+
31
+ ## Settings file
32
+
33
+ Settings are stored in `.agent-settings.yml` (project root, git-ignored).
34
+ See `.augment/templates/agent-settings.md` for the full settings reference.
35
+
36
+ Relevant settings for this skill:
37
+
38
+ | Key | Values | Default | Description |
39
+ |---|---|---|---|
40
+ | `personal.ide` | `code`, `phpstorm` | _(empty)_ | CLI command to open files |
41
+ | `personal.open_edited_files` | `true`, `false` | `false` | Whether to auto-open edited files |
42
+
43
+ ## Behavior
44
+
45
+ ### 1. Read settings
46
+
47
+ At the start of a conversation (or on first file edit), read `.agent-settings.yml`:
48
+
49
+ ```bash
50
+ cat .agent-settings.yml 2>/dev/null
51
+ ```
52
+
53
+ - If the file doesn't exist → **do not open files**. Suggest running `/config-agent-settings`.
54
+ - If `personal.open_edited_files: false` → do nothing.
55
+ - If `personal.open_edited_files: true` and `personal.ide` is set → open files after edits.
56
+
57
+ ### 2. Open files after edits
58
+
59
+ After editing one or more files, open them using the `ide` setting.
60
+ **Always jump to the first edited line.** The syntax depends on the IDE:
61
+
62
+ **PhpStorm** (`personal.ide: phpstorm`):
63
+ ```bash
64
+ phpstorm --line {line} {file}
65
+ ```
66
+
67
+ **VS Code** (`personal.ide: code`):
68
+ ```bash
69
+ code -g {file}:{line}
70
+ ```
71
+
72
+ For multiple files, run one command per file:
73
+ ```bash
74
+ # PhpStorm
75
+ phpstorm --line 42 app/Models/User.php
76
+ phpstorm --line 15 app/Services/UserService.php
77
+
78
+ # VS Code
79
+ code -g app/Models/User.php:42
80
+ code -g app/Services/UserService.php:15
81
+ ```
82
+
83
+ If the line number is unknown (e.g. new file), omit the line parameter:
84
+ ```bash
85
+ phpstorm app/Models/User.php
86
+ code app/Models/User.php
87
+ ```
88
+
89
+ ### Rules
90
+
91
+ - **Batch opens** — collect all files from a single logical edit operation and open them as one batch (one IDE command per file).
92
+ - **No duplicates** — don't open the same file twice in one batch.
93
+ - **Silent on failure** — if the IDE command fails, log it but don't interrupt the workflow.
94
+ - **Never open test output** — don't open files just because they appeared in test results.
95
+ - **Only edited files** — only open files the agent actively created or modified, not files that were only read.
96
+ - **Respect the setting** — if `personal.open_edited_files: false` or `.agent-settings.yml` doesn't exist, never open files.
97
+
98
+ ## IDE CLI commands
99
+
100
+ | IDE | Command | Install |
101
+ |---|---|---|
102
+ | VS Code | `code {file}` | Shell Command: Install 'code' in PATH |
103
+ | PhpStorm | `phpstorm {file}` | JetBrains Toolbox CLI or `Create command-line launcher` in PhpStorm |
104
+
105
+ ## Output format
106
+
107
+ 1. Files opened in the configured IDE (if enabled)
108
+ 2. No output if `personal.open_edited_files` is disabled
109
+
110
+ ## Auto-trigger keywords
111
+
112
+ - open file
113
+ - open in editor
114
+ - show in IDE
115
+ - file editor settings
116
+ - configure IDE
117
+
118
+ ## Gotcha
119
+
120
+ - Check `.agent-settings.yml` for `personal.open_edited_files` before opening anything — the user may have disabled it.
121
+ - Don't open files during batch operations (e.g., fixing 20 PHPStan errors) — only open when specifically relevant.
122
+ - PHPStorm sometimes locks files when opening — wait briefly before editing the same file.
123
+
124
+ ## Do NOT
125
+
126
+ - Do NOT open files without checking `.agent-settings.yml` first.
127
+ - Do NOT prompt the user about IDE settings during normal work — suggest `/config-agent-settings` instead.
128
+ - Do NOT open files that were only read, not edited.
129
+ - Do NOT open more than 10 files at once — summarize instead.
@@ -0,0 +1,200 @@
1
+ ---
2
+ name: finishing-a-development-branch
3
+ description: "Use when the feature is implementation-complete and the next step is 'ship it' — verifies, cleans up, and routes to merge/PR/park/discard — even when the user just says 'I'm done, what now?'."
4
+ source: package
5
+ ---
6
+
7
+ # finishing-a-development-branch
8
+
9
+ ## When to use
10
+
11
+ * Implementation of a feature or bug fix is complete on a development branch
12
+ * All planned commits are in, user is ready to hand off
13
+ * You are about to say "done" and suggest the next action
14
+ * Branch has been idle and the user wants to decide its fate
15
+
16
+ Do NOT use when:
17
+
18
+ * Still implementing — use targeted verification, not the ship gate
19
+ * A PR already exists and is mid-review — use [`receiving-code-review`](../receiving-code-review/SKILL.md)
20
+ * Only documentation changed — simplify to commit + PR without full gate
21
+
22
+ ## Goal
23
+
24
+ Route a finished branch to its next state **with evidence** — merged,
25
+ pushed for PR, parked, or discarded. Never let a half-verified branch
26
+ become a PR. Never destroy work without explicit confirmation.
27
+
28
+ ## The Iron Law
29
+
30
+ ```
31
+ NO MERGE, NO PR, NO DISCARD WITHOUT VERIFIED TESTS + EXPLICIT CHOICE.
32
+ ```
33
+
34
+ ## Procedure
35
+
36
+ ### 1. Inspect branch state
37
+
38
+ Before presenting options, check:
39
+
40
+ * `git status` — clean or dirty?
41
+ * `git log --oneline <base>..HEAD` — what commits are actually on this branch
42
+ * `git branch --show-current` — branch name to operate on
43
+ * Remote state — is the branch pushed? Is there an open PR already?
44
+
45
+ PR already exists → **stop**, route to [`receiving-code-review`](../receiving-code-review/SKILL.md)
46
+ or [`fix-pr-comments`](../../commands/fix-pr-comments.md).
47
+
48
+ ### 2. Verify readiness
49
+
50
+ Run the full end-of-work gate — see [`verify-before-complete`](../verify-before-complete/SKILL.md):
51
+
52
+ 1. Targeted tests green
53
+ 2. Full test suite green
54
+ 3. Quality pipeline (PHPStan → Rector dry-run → ECS → PHPStan) green
55
+ 4. `git status` clean — no unstaged files, no stray files
56
+ 5. Branch pushed or explicitly marked local-only
57
+
58
+ Any step fails → **stop**. Report failure, do not present ship options.
59
+
60
+ ### 3. Determine the base branch
61
+
62
+ ```bash
63
+ # Default: main
64
+ BASE=main
65
+
66
+ # Stacked PR: parent branch
67
+ BASE=$(git config branch.$(git branch --show-current).merge | sed 's|refs/heads/||')
68
+ ```
69
+
70
+ Ambiguous → ask: *"This branch splits from `<guess>` — correct?"*.
71
+
72
+ ### 4. Present four options — numbered, no narration
73
+
74
+ ```
75
+ Implementation is verified. What now?
76
+
77
+ 1. Open a Pull Request on <base-branch>
78
+ 2. Merge locally into <base-branch> (for projects without a PR flow)
79
+ 3. Keep the branch as-is — I'll handle it later
80
+ 4. Discard all work on this branch
81
+ ```
82
+
83
+ No recommendations unless the user asks.
84
+
85
+ ### 5a. Option 1 — Open a PR
86
+
87
+ 1. Update branch → [`prepare-for-review`](../../commands/prepare-for-review.md)
88
+ 2. Self-review → [`review-changes`](../../commands/review-changes.md)
89
+ 3. Write description → [`create-pr-description`](../../commands/create-pr-description.md)
90
+ 4. Open PR → [`create-pr`](../../commands/create-pr.md)
91
+ 5. Confirm PR opened green, not red
92
+
93
+ Surrounding discipline → [`requesting-code-review`](../requesting-code-review/SKILL.md).
94
+
95
+ ### 5b. Option 2 — Merge locally
96
+
97
+ Use only for no-PR projects (solo, spike, private tooling).
98
+
99
+ ```bash
100
+ git checkout <base-branch>
101
+ git pull --ff-only
102
+ git merge --no-ff <feature-branch>
103
+ # Re-run the full test suite on the merged tree
104
+ <test command>
105
+ # Only if green:
106
+ git branch -d <feature-branch>
107
+ ```
108
+
109
+ Post-merge test fails → `git reset --hard ORIG_HEAD`, fix on feature branch, restart.
110
+
111
+ ### 5c. Option 3 — Keep as-is
112
+
113
+ * Push to origin if not already pushed
114
+ * Report branch name and last commit SHA
115
+ * Do not delete the worktree, do not force-push
116
+
117
+ ### 5d. Option 4 — Discard
118
+
119
+ **Confirmation gate** — typed answer, not "y":
120
+
121
+ ```
122
+ This will permanently remove:
123
+ - Local branch <name>
124
+ - Remote branch <name> (if pushed)
125
+ - Commits: <list of SHAs + subjects>
126
+
127
+ Type "discard <name>" to confirm.
128
+ ```
129
+
130
+ Only on exact match:
131
+
132
+ ```bash
133
+ git checkout <base-branch>
134
+ git branch -D <feature-branch>
135
+ # Remove remote only if the user confirms a second time
136
+ git push origin --delete <feature-branch>
137
+ ```
138
+
139
+ Log discarded SHAs so work can be recovered via `git reflog`.
140
+
141
+ ### 6. Clean up worktrees
142
+
143
+ Branch in a `git worktree`:
144
+
145
+ * Options 1, 2, 4 → `git worktree remove <path>` after terminal state
146
+ * Option 3 → keep the worktree
147
+
148
+ ## Output format
149
+
150
+ After chosen option completes:
151
+
152
+ 1. **What happened** — one sentence ("PR #123 opened", "Merged as `abcdef`", "Discarded")
153
+ 2. **Evidence** — exit codes / PR URL / commit SHA
154
+ 3. **Cleanup state** — worktree removed/kept, branch deleted/retained
155
+ 4. **Next step** — "Awaiting review", "Main is one commit ahead", etc.
156
+
157
+ ## Gotchas
158
+
159
+ * Option 1 on red CI — PR opens but not reviewable; check CI status
160
+ * Option 2 with ff-only on diverged base silently aborts — check exit code
161
+ * Option 4 on a branch that is upstream of another local branch — orphans the dependent
162
+ * Force-push after PR open can lose reviewer line-comments
163
+ * `-d` refuses unmerged; `-D` forces — only use `-D` inside confirmed discard
164
+ * Stacked PRs base ≠ `main` — opening PR to `main` invalidates the stack
165
+
166
+ ## Do NOT
167
+
168
+ * Do NOT present ship options while tests or quality are red
169
+ * Do NOT add rationale to the four options — user decides
170
+ * Do NOT discard without typed confirmation including branch name
171
+ * Do NOT force-delete remote without user confirmation
172
+ * Do NOT silently change the base between verification and ship
173
+ * Do NOT mix other cleanup into the discard step
174
+
175
+ ## Anti-patterns
176
+
177
+ * Three options + "or discard" — buries destructive option
178
+ * Running the full gate here *and* at start of `create-pr` — duplicate
179
+ * Merge local + open PR at the same time
180
+ * Asking "ready to ship?" without the four numbered options
181
+
182
+ ## When to hand over to another skill / command
183
+
184
+ * Pre-merge verification → [`verify-before-complete`](../verify-before-complete/SKILL.md)
185
+ * Rebasing stack → [`prepare-for-review`](../../commands/prepare-for-review.md)
186
+ * Last-minute commits → [`commit`](../../commands/commit.md), [`conventional-commits-writing`](../conventional-commits-writing/SKILL.md)
187
+ * Self-review → [`review-changes`](../../commands/review-changes.md)
188
+ * Creating PR → [`create-pr`](../../commands/create-pr.md)
189
+ * Review comments → [`receiving-code-review`](../receiving-code-review/SKILL.md)
190
+
191
+ ## Validation checklist
192
+
193
+ * [ ] Full gate verified green in this turn
194
+ * [ ] Base branch determined and confirmed when ambiguous
195
+ * [ ] Exactly four numbered options presented, no narration
196
+ * [ ] User's choice recorded literally, not reinterpreted
197
+ * [ ] Sub-procedure for chosen option completed end-to-end
198
+ * [ ] Worktree handled per option
199
+ * [ ] Destructive actions had typed confirmation with branch name
200
+ * [ ] Final report includes evidence (PR URL, SHA, exit code)
@@ -0,0 +1,64 @@
1
+ ---
2
+ name: flux
3
+ description: "Use when writing Laravel Flux UI components — the official Livewire component library by the Laravel team. Covers components, slots, and variants."
4
+ source: package
5
+ ---
6
+
7
+ # flux
8
+
9
+ ## When to use
10
+
11
+ Use when building UI with Flux components in a project that uses `livewire/flux`.
12
+
13
+ Do NOT use when:
14
+ - Raw Blade templates without Flux (use `blade-ui` skill)
15
+ - Livewire component logic (use `livewire` skill)
16
+
17
+ ## Procedure: Create a Flux view
18
+
19
+ ### Step 0: Inspect
20
+
21
+ 1. Confirm Flux is installed — check `composer.json` for `livewire/flux`.
22
+ 2. Check existing views — match Flux component usage patterns.
23
+ 3. Check Flux docs — https://fluxui.dev/docs for latest API.
24
+
25
+ ### Step 1: Build the view
26
+
27
+ 1. Use `<flux:*>` components instead of raw HTML.
28
+ 2. Use `variant` prop for styling (not custom Tailwind for standard styles).
29
+ 3. Use `wire:model` for Livewire binding.
30
+ 4. Use `label` prop on form fields (accessibility).
31
+
32
+ ### Step 2: Validate
33
+
34
+ 1. No raw HTML form elements where Flux equivalents exist.
35
+ 2. No manual error rendering (Flux has built-in validation display).
36
+ 3. No conflicting Tailwind classes overriding Flux styles.
37
+
38
+ ## Conventions
39
+
40
+ → See guideline `php/flux.md` for component reference, variants, forms, icons.
41
+
42
+ ## Output format
43
+
44
+ 1. Blade view using Flux components with correct props and slots
45
+ 2. Livewire component class if interactive behavior is needed
46
+
47
+ ## Gotcha
48
+
49
+ - The model tends to use old Flux API syntax — always check latest docs.
50
+ - Flux has built-in validation display — don't add manual error rendering alongside it.
51
+ - Don't mix Flux with raw HTML form elements in the same form.
52
+
53
+ ## Do NOT
54
+
55
+ - Do NOT use raw `<input>`, `<select>`, `<button>` when Flux equivalents exist.
56
+ - Do NOT override Flux styles with conflicting Tailwind — use variants or slots.
57
+ - Do NOT skip the `label` prop on form fields — accessibility.
58
+
59
+ ## Auto-trigger keywords
60
+
61
+ - Flux UI
62
+ - Livewire components
63
+ - Flux component
64
+ - Laravel Flux
@@ -0,0 +1,102 @@
1
+ ---
2
+ name: git-workflow
3
+ description: "Use when working with Git — branch naming, commit messages, PR creation, rebasing, or the code review process — even when the user says 'push this' or 'merge the branch' without naming Git."
4
+ source: package
5
+ execution:
6
+ type: assisted
7
+ handler: internal
8
+ allowed_tools: ["github"]
9
+ ---
10
+
11
+ # git-workflow
12
+
13
+ ## When to use
14
+
15
+ Use when preparing PRs, finishing branches, or following the team's Git workflow.
16
+
17
+ Do NOT use when:
18
+ - Code writing or review (use `php-coder` or `code-review` skill)
19
+ - CI/CD pipeline changes (use `github-ci` skill)
20
+
21
+ ## Conventions
22
+
23
+ → See guideline `guidelines/php/git.md` for branch naming, commit messages, PR conventions.
24
+ → See `commit-conventions` rule for commit format, types, and scope rules.
25
+ → Use `conventional-commits-writing` skill for generating/reviewing commit messages.
26
+
27
+ ## Procedure: Before opening a PR
28
+
29
+ 1. Run quality pipeline: PHPStan → Rector → ECS → PHPStan (see `quality-tools` skill).
30
+ 2. Run tests: `php artisan test`.
31
+ 3. Rebase onto `main`.
32
+ 4. Fill in PR template completely.
33
+
34
+ ## Procedure: Finish a branch
35
+
36
+ When implementation is complete and all tests pass:
37
+
38
+ ```
39
+ Work complete. What would you like to do?
40
+
41
+ 1. Push and create a Pull Request
42
+ 2. Keep the branch as-is (I'll handle it later)
43
+ 3. Discard this work
44
+ ```
45
+
46
+ ### Option 1: Push and create PR
47
+
48
+ 1. Run quality pipeline + tests.
49
+ 2. `git push -u origin <branch>`.
50
+ 3. `gh pr create` using PR template.
51
+
52
+ ### Option 2: Keep as-is
53
+
54
+ Report: "Branch `<name>` preserved locally." — do nothing.
55
+
56
+ ### Option 3: Discard
57
+
58
+ **Confirm first** — list branch name and commit count.
59
+ Wait for explicit confirmation. Then:
60
+ ```bash
61
+ git checkout main
62
+ git branch -D <feature-branch>
63
+ ```
64
+
65
+ ## PR template
66
+
67
+ The project uses `.github/pull_request_template.md`:
68
+ 1. Jira ticket link (badge)
69
+ 2. Description — what and why
70
+ 3. Type of change
71
+ 4. Checklist (docs, rebase, quality, review, tests, QA)
72
+ 5. Links + screenshots
73
+
74
+ ## Default branch
75
+
76
+ - `main` is default/production branch.
77
+ - Merge strategy: merge commits (not squash).
78
+
79
+ ## Output format
80
+
81
+ 1. Commits following conventional commit format
82
+ 2. PR description with structured sections (if creating PR)
83
+
84
+ ## Gotcha
85
+
86
+ - Never commit/push/merge without explicit user permission.
87
+ - Keep subject line under 72 chars.
88
+ - Don't rebase shared branches.
89
+ - `git stash` can lose work — prefer WIP commits.
90
+
91
+ ## Do NOT
92
+
93
+ - Do NOT commit directly to `main`.
94
+ - Do NOT push without running quality tools first.
95
+ - Do NOT force-push to shared branches.
96
+
97
+ ## Auto-trigger keywords
98
+
99
+ - Git workflow
100
+ - branch naming
101
+ - commit message
102
+ - PR convention
@@ -0,0 +1,122 @@
1
+ ---
2
+ name: github-ci
3
+ description: "Use when working with GitHub Actions — workflow YAML, quality gates, test matrices, deployment triggers, reusable workflows — even when the user just says 'my CI is failing' or 'add a check'."
4
+ source: package
5
+ ---
6
+
7
+ # github-ci
8
+
9
+ ## When to use
10
+
11
+ Use this skill when working with GitHub Actions workflows, CI pipeline configuration, or understanding the automated quality and deployment process.
12
+
13
+ ## Procedure: Modify CI workflows
14
+
15
+ 1. Read `.github/workflows/` to understand the full pipeline.
16
+ 2. Check `AGENTS.md` for quality tool commands and testing setup.
17
+ 3. Read `.augment/commands/fix-ci.md` for CI failure debugging workflow.
18
+
19
+ ## Workflow overview
20
+
21
+ ### Quality pipeline (`quality-tests.yml`)
22
+
23
+ Triggered on: `pull_request` to `main`, `workflow_dispatch`
24
+
25
+ Read `.github/workflows/` to discover the actual job matrix. Common patterns:
26
+
27
+ - PHP version is **extracted from Dockerfile** (`ARG PHP_VERSION`), not hardcoded.
28
+ - Static analysis may run on larger runners for memory.
29
+ - Tests run in **parallel** with a matrix strategy per test suite.
30
+ - Branch comparison for dead code and API docs.
31
+
32
+ ### Deployment workflows
33
+
34
+ | Workflow | Trigger | Environment |
35
+ |---|---|---|
36
+ | `deploy-review.yaml` | PR with `review-env` label | Review (ephemeral) |
37
+ | `deploy-sta.yaml` | Push to `main` | Stage |
38
+ | `deploy-pro.yaml` | Tag `release-X.Y.Z` or schedule (Mon 8AM) | Production |
39
+ | `deploy.yml` | After "Static Code Analysis" succeeds on `main` | Envoyer trigger |
40
+ | `module-deploy.yaml` | Reusable workflow (called by others) | Parameterized |
41
+
42
+ ### Other workflows
43
+
44
+ | Workflow | Purpose |
45
+ |---|---|
46
+ | `pr-review-gate.yaml` | Points-based review system (see `code-review` skill) |
47
+ | `destroy-review.yaml` | Cleanup ephemeral review environments |
48
+ | `add-labels.yml` | Auto-label PRs |
49
+ | `apply-pr-template.yaml` | Apply PR description template |
50
+ | `validate-deployment-files.yaml` | Validate AWS deployment configs |
51
+ | `template-db-dump.yaml` | Database dump utility |
52
+
53
+ ## Conventions
54
+
55
+ ### Workflow structure
56
+
57
+ - Use **pinned action versions** with SHA hashes (not tags): `actions/checkout@<sha> # v6.0.2`
58
+ - Use **concurrency groups** to prevent duplicate runs: `group: ${{ github.workflow }}-${{ github.ref }}`
59
+ - Use **`fail-fast: false`** in matrix strategies for independent job execution.
60
+ - Extract shared logic into **reusable workflows** (`module-deploy.yaml` pattern).
61
+
62
+ ### Composer auth
63
+
64
+ Every workflow that installs dependencies needs:
65
+ 1. `COMPOSER_AUTH` secret validation (check if set, validate JSON).
66
+ 2. Fallback handling if auth is missing or masked.
67
+
68
+ ### PHP version
69
+
70
+ - **Never hardcode** the PHP version in workflows.
71
+ - Always extract from Dockerfile: `awk -F= '/^ARG PHP_VERSION/ {print $2}' .docker/Dockerfile`
72
+ - Pass via job outputs to dependent jobs.
73
+
74
+ ### Runners
75
+
76
+ Check `.github/workflows/` for the runner types used. Common patterns:
77
+ - Standard runners (`ubuntu-latest`) for light jobs.
78
+ - Larger or custom runners for heavy jobs (static analysis, tests).
79
+ - ARM runners if the project deploys to ARM-based infrastructure.
80
+
81
+ ### Environment variables
82
+
83
+ - Use `env:` at job level for shared secrets.
84
+ - Use `$GITHUB_OUTPUT` for passing data between steps.
85
+ - Use `$GITHUB_ENV` for variables needed across multiple steps.
86
+
87
+ ## Debugging CI failures
88
+
89
+ 1. Get the failing run: `GET /repos/{owner}/{repo}/actions/runs?branch={branch}`
90
+ 2. Get failed jobs: `GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs`
91
+ 3. Get logs: `GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs`
92
+ 4. Fix locally, verify in container, then push.
93
+
94
+ See `.augment/commands/fix-ci.md` for the full debugging workflow.
95
+
96
+
97
+ ## Output format
98
+
99
+ 1. Modified workflow YAML file(s) in `.github/workflows/`
100
+ 2. Summary of pipeline changes and affected triggers
101
+
102
+ ## Auto-trigger keywords
103
+
104
+ - GitHub Actions
105
+ - CI/CD
106
+ - workflow
107
+ - pipeline
108
+ - quality checks
109
+
110
+ ## Gotcha
111
+
112
+ - CI workflows run on Ubuntu, not macOS — don't assume macOS-specific tools are available.
113
+ - The model forgets to add `--env=testing` to artisan commands in CI — tests will hit the wrong database.
114
+ - Secret names are case-sensitive in GitHub Actions — double-check the casing.
115
+ - Don't add `continue-on-error: true` to hide failures — fix the actual error.
116
+
117
+ ## Do NOT
118
+
119
+ - Do NOT use unpinned action versions (e.g., `actions/checkout@v4`).
120
+ - Do NOT hardcode PHP versions — always extract from Dockerfile.
121
+ - Do NOT add new secrets without documenting them.
122
+ - Do NOT change runner types without considering cost and architecture (ARM vs x86).