@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,168 @@
1
+ ---
2
+ name: grafana
3
+ description: "Use when working with Grafana — dashboards, Loki LogQL queries, alerting rules, monitoring panels — even when the user just says 'build me a dashboard' or 'query the logs' without naming Grafana."
4
+ source: package
5
+ ---
6
+
7
+ # Grafana Skill
8
+
9
+ ## When to use
10
+
11
+ Use this skill when:
12
+ - Creating or editing Grafana dashboards (JSON provisioning)
13
+ - Writing Loki LogQL queries for log analysis
14
+ - Configuring alerting rules or contact points
15
+ - Working on a Grafana module (if the project has one)
16
+ - Debugging log-based issues using Loki data
17
+
18
+ ## Procedure: Create Grafana dashboard
19
+
20
+ ### Project setup
21
+
22
+ Check if the project has a dedicated Grafana module or Docker config. Typical structure:
23
+
24
+ ```
25
+ {grafana-location}/
26
+ ├── .docker/
27
+ │ ├── grafana/
28
+ │ │ ├── dashboards/ ← Dashboard JSON files (provisioned)
29
+ │ │ ├── provisioning/
30
+ │ │ │ ├── datasources/ ← Loki, Prometheus data sources
31
+ │ │ │ └── dashboards/ ← Dashboard provisioning config
32
+ │ │ └── alerting/ ← Alert rules, contact points, notification policies
33
+ │ └── loki/
34
+ │ └── loki-config.yml ← Loki server configuration
35
+ ├── App/
36
+ │ ├── Logging/ ← Loki timestamp processors
37
+ │ └── Console/Commands/ ← GrafanaPushDashboardsCommand
38
+ ├── Docs/
39
+ │ └── Loki.md ← Loki documentation
40
+ └── Routes/console.php
41
+ ```
42
+
43
+ ### Configuration
44
+
45
+ - **Grafana config:** `config/grafana.php`
46
+ - **Logging channels:** `config/logging.php` (Loki channels)
47
+ - **Loki package:** `itspire/monolog-loki` via Monolog handler
48
+
49
+ ## Dashboard conventions
50
+
51
+ ### JSON provisioning
52
+
53
+ Dashboards are stored as JSON in `.docker/grafana/dashboards/` and auto-provisioned.
54
+ Use `GrafanaPushDashboardsCommand` to push dashboards to remote Grafana instances.
55
+
56
+ ### Panel rules
57
+
58
+ - **Always hide Loki metadata columns** in table panels:
59
+ `labelTypes`, `traceID`, `traceID (field)` → add to `excludeByName` in the `organize` transformation.
60
+ - **Verify column names match data semantics:** If the timestamp represents `imported_at`,
61
+ name the column "Imported", not "Uploaded".
62
+ - **Use consistent time ranges:** Default to "Last 24 hours" for operational dashboards.
63
+ - **Add variables** for customer FQDN, environment, and time range filters.
64
+
65
+ ### Naming
66
+
67
+ | Element | Convention | Example |
68
+ |---|---|---|
69
+ | Dashboard title | Descriptive, Title Case | "Import Overview (Loki)" |
70
+ | Panel title | Short, descriptive | "Import Results by Status" |
71
+ | Variable names | lowercase, underscore | `$fqdn`, `$environment` |
72
+
73
+ ## Loki LogQL
74
+
75
+ ### Query patterns
76
+
77
+ ```logql
78
+ # Filter by service and status
79
+ {service="import_result"} |= "DONE" | json | status = "DONE"
80
+
81
+ # Count by label
82
+ sum by (status) (count_over_time({service="import_result"} | json [$__interval]))
83
+
84
+ # Filter by customer FQDN
85
+ {service="import_result", fqdn=~"$fqdn"} | json
86
+ ```
87
+
88
+ ### Service labels
89
+
90
+ | Label | Purpose | Notes |
91
+ |---|---|---|
92
+ | `import_result` | Final import states (DONE, FAILED) | Use for result dashboards |
93
+ | `import_snapshot` | Cron-based status snapshots | Use for timeline dashboards |
94
+ | `service=import` | Legacy static label | Do NOT query — use specific labels above |
95
+
96
+ ### Best practices
97
+
98
+ - Use `json` parser for structured log entries
99
+ - Use `line_format` for human-readable output in explore view
100
+ - Use `$__interval` for rate/count queries (auto-adjusts to time range)
101
+ - Filter early in the pipeline (labels before line filters before parsers)
102
+
103
+ ## Alerting
104
+
105
+ ### Structure
106
+
107
+ ```
108
+ .docker/grafana/alerting/
109
+ ├── alert-rules.yml ← Alert conditions and thresholds
110
+ ├── contact-points.yml ← Notification targets (Slack, email)
111
+ └── notification-policies.yml ← Routing rules (which alerts → which contacts)
112
+ ```
113
+
114
+ ### Conventions
115
+
116
+ - Alert names: descriptive, include severity: "Import Failure Rate > 10% (Critical)"
117
+ - Use `for` duration to avoid flapping (e.g., `for: 5m`)
118
+ - Group related alerts by folder/namespace
119
+
120
+ ## Integration with logging
121
+
122
+ The project uses structured logging via Monolog → Loki:
123
+
124
+ - **`LokiTimestampProcessor`** — Adds precise timestamps to log entries
125
+ - **`LokiTimestampChannelTap`** — Configures Loki channels with timestamp processing
126
+ - **Import events** are logged via `ImportEventLogger` service
127
+
128
+ When adding new log entries for Grafana visualization:
129
+ 1. Use a dedicated log channel (defined in `config/logging.php`)
130
+ 2. Log as JSON with consistent field names
131
+ 3. Add appropriate Loki labels for filtering
132
+ 4. Update or create a dashboard panel for the new data
133
+
134
+ ## Related
135
+
136
+ - **Skill:** `logging-monitoring` — full monitoring stack overview
137
+ - **Skill:** `dashboard-design` — visualization selection, layout, KPI strategies
138
+ - **Skill:** `traefik` — HTTPS for Grafana embedding in the app
139
+ - Check the project for Grafana module or Docker config location
140
+ - **Config:** `config/grafana.php`, `config/logging.php` (if applicable)
141
+
142
+
143
+ ## Output format
144
+
145
+ 1. Grafana dashboard JSON or LogQL/PromQL queries
146
+ 2. Panel configuration with data source and thresholds
147
+ 3. Alert rule definitions where applicable
148
+
149
+ ## Gotcha
150
+
151
+ - Loki queries use LogQL, not PromQL — the syntax is different despite looking similar.
152
+ - Don't create alerts without a clear notification channel — silent alerts are useless.
153
+ - Dashboard panels that query too much data (>7 days at full resolution) will timeout — use downsampling.
154
+
155
+ ## Do NOT
156
+
157
+ - Do NOT create panels without proper units and labels.
158
+ - Do NOT use alerting rules without a notification channel.
159
+ - Do NOT hardcode datasource names — use variables.
160
+
161
+ ## Auto-trigger keywords
162
+
163
+ - Grafana
164
+ - Loki
165
+ - dashboard
166
+ - log query
167
+ - alerting
168
+ - monitoring panel
@@ -0,0 +1,147 @@
1
+ ---
2
+ name: guideline-writing
3
+ description: "Use when creating or editing a guideline in .agent-src.uncompressed/guidelines/ — reference material cited by skills, no auto-triggers — even when the user just says 'write up our naming conventions'."
4
+ source: package
5
+ ---
6
+
7
+ # guideline-writing
8
+
9
+ ## When to use
10
+
11
+ * Creating a new guideline in `.agent-src.uncompressed/guidelines/{topic}/{name}.md`
12
+ * Rewriting an existing guideline (not a typo fix)
13
+ * Extracting reference material out of a bloated skill or rule
14
+ * Consolidating repeated explanations from multiple skills
15
+
16
+ Do NOT use this skill when:
17
+
18
+ * The content is a constraint ("never / always") → use `rule-writing`
19
+ * The content is a triggered workflow → use `skill-writing`
20
+ * The content is a user-invoked action → use `command-writing`
21
+
22
+ ## Guideline vs rule vs skill — critical test
23
+
24
+ | Intent | Artifact |
25
+ |---|---|
26
+ | "Here is knowledge skills and rules may cite" | **Guideline** |
27
+ | "Agent must always / never do X" | **Rule** |
28
+ | "When Y happens, run these steps" | **Skill** |
29
+
30
+ A guideline is **reference material**. It is never a trigger. It has no
31
+ `description` used for routing — skills and rules link to it.
32
+
33
+ ## Procedure
34
+
35
+ ### 0. Run the Drafting Protocol
36
+
37
+ Creating or materially rewriting a guideline **must** go through Understand
38
+ → Research → Draft from the
39
+ [`artifact-drafting-protocol`](../../rules/artifact-drafting-protocol.md) rule.
40
+
41
+ * **Understand** — which skills or rules will cite this guideline? If the
42
+ answer is "none", the guideline has no home — stop.
43
+ * **Research** — **inspect** `guidelines/` for overlap and grep
44
+ `.agent-src.uncompressed/` for pages that already cover the topic.
45
+ **Analyze** 1–2 peer guidelines in the same topic folder for tone.
46
+ * **Draft** — propose location (topic folder + filename) and outline. Only
47
+ fill bodies once the outline is confirmed.
48
+
49
+ ### 1. Pick the right topic folder
50
+
51
+ Folders under `.agent-src.uncompressed/guidelines/`:
52
+
53
+ | Folder | Contents |
54
+ |---|---|
55
+ | `agent-infra/` | Cross-cutting agent-system knowledge (naming, size, output patterns) |
56
+ | `php/` | PHP-specific reference (patterns, services, jobs, resources) |
57
+ | `e2e/` | End-to-end testing patterns |
58
+
59
+ If none fits, ask the user before creating a new folder.
60
+
61
+ ### 2. Write frontmatter
62
+
63
+ Guidelines use a minimal frontmatter — no `type`, no auto-trigger semantics.
64
+
65
+ ```yaml
66
+ ---
67
+ description: "Short human-readable summary — cited by skills, not used for routing"
68
+ source: package # or project for consumer-local guidelines
69
+ ---
70
+ ```
71
+
72
+ If you do want to polish the description for a guideline whose summary
73
+ gets surfaced to agents, delegate to the
74
+ [`description-assist`](../description-assist/SKILL.md) skill — same
75
+ approval-gated flow as for skills and rules.
76
+
77
+ ### 3. Structure the body
78
+
79
+ * Start with a single `#` heading that matches the filename.
80
+ * Organize by topic, not by workflow — no numbered procedures.
81
+ * Prefer tables, bullet lists, and short code blocks over prose paragraphs.
82
+ * End with explicit "See also" links to related guidelines and the skills
83
+ that cite it.
84
+
85
+ ### 4. Wire it in
86
+
87
+ A guideline is useless if nothing cites it. Before closing the task:
88
+
89
+ * Add a link from at least one skill or rule using the pattern
90
+ `→ See 'guidelines/{topic}/{name}.md' for full X`.
91
+ * Keep the citing skill/rule **executable** — do not hollow it out into a
92
+ pointer. (Normative source: [`preservation-guard`](../../rules/preservation-guard.md).)
93
+
94
+ ### 5. Enforce the size budget
95
+
96
+ Guidelines have more room than rules but are not dumping grounds.
97
+
98
+ | Category | Target |
99
+ |---|---|
100
+ | Ideal | ≤ 200 lines |
101
+ | Acceptable | ≤ 400 lines |
102
+ | Split signal | > 500 lines |
103
+
104
+ Above the split signal, break by sub-topic into sibling files in the same folder.
105
+
106
+ ### 6. Validate
107
+
108
+ * Run `python3 scripts/skill_linter.py .agent-src.uncompressed/guidelines/{topic}/{name}.md`
109
+ → 0 FAIL (guidelines have relaxed linting but must still parse).
110
+ * Run `task sync` → regenerates `.agent-src/guidelines/`.
111
+ * Run `python3 scripts/check_references.py` → no broken links.
112
+ * Run `task ci` → exits 0 except for tolerated warnings.
113
+
114
+ ## Output format
115
+
116
+ 1. Complete guideline at `.agent-src.uncompressed/guidelines/{topic}/{name}.md`
117
+ 2. At least one skill or rule linking to it
118
+ 3. Linter + `check_references.py` clean
119
+ 4. `task sync` confirmation
120
+
121
+ ## Gotchas
122
+
123
+ * Creating a guideline nothing cites → dead page, remove or inline.
124
+ * Pasting a workflow into a guideline → that is a skill, not reference.
125
+ * Duplicating content already present in another guideline or skill →
126
+ extract into the guideline and link from both.
127
+ * Hollowing out a skill into "see guideline" — the skill must remain
128
+ executable (see `preservation-guard`).
129
+
130
+ ## Do NOT
131
+
132
+ * Do NOT add `type:` or `alwaysApply:` to the frontmatter
133
+ * Do NOT embed numbered procedures — those belong in skills
134
+ * Do NOT create an orphan guideline with no inbound links
135
+ * Do NOT edit `.agent-src/guidelines/` or `.augment/guidelines/` — generated
136
+
137
+ ## Examples
138
+
139
+ Good guideline name + description:
140
+
141
+ > Path: `guidelines/agent-infra/size-and-scope.md`
142
+ > Description: "Golden size rules for rules, skills, commands, and guidelines"
143
+
144
+ Bad:
145
+
146
+ > Path: **guidelines/stuff** (no topic folder, meaningless stem)
147
+ > Description: "Things to know"
@@ -0,0 +1,182 @@
1
+ ---
2
+ name: jira-integration
3
+ description: "Use when the user says "check Jira", "create ticket", "update issue", or needs JQL queries, ticket transitions, or branch-to-ticket linking."
4
+ source: package
5
+ ---
6
+
7
+ # Jira Skill
8
+
9
+ ## When to use
10
+
11
+ Use this skill when:
12
+ - Reading a Jira ticket for context (bug reports, feature requests)
13
+ - Creating new Jira issues from discovered bugs or planned work
14
+ - Transitioning ticket status (e.g., "In Progress" → "In Review")
15
+ - Writing JQL queries to find related issues
16
+ - Linking branches or PRs to Jira tickets
17
+
18
+
19
+ Do NOT use when:
20
+ - GitHub Issues (use `github-api` tool directly)
21
+ - Linear or other issue trackers
22
+
23
+ ## Procedure: Work with Jira
24
+
25
+ 1. **Identify action** — Search, read, create, update, or transition a ticket?
26
+ 2. **Use the correct endpoint** — See API table below.
27
+ 3. **Execute** — Make the API call with required fields.
28
+ 4. **Verify** — Confirm the response contains expected data or the ticket was updated.
29
+
30
+ | Tool | Purpose |
31
+ |---|---|
32
+ | `jira-integration` (GET `/search/jql`) | Search issues with JQL |
33
+ | `jira-integration` (GET `/issue/{key}`) | Read a specific ticket |
34
+ | `jira-integration` (POST `/issue`) | Create a new ticket |
35
+ | `jira-integration` (PUT `/issue/{key}`) | Update a ticket |
36
+ | `jira-integration` (GET `/issue/{key}/transitions`) | Get available status transitions |
37
+ | `jira-integration` (POST `/issue/{key}/transitions`) | Transition ticket status |
38
+ | `jira-integration` (POST `/issue/{key}/comment`) | Add a comment |
39
+ | `jira-integration` (GET `/project`) | List projects |
40
+ | `jira-integration` (GET `/field`) | List available fields (check before writing JQL) |
41
+
42
+ ## Branch-to-ticket detection
43
+
44
+ Extract ticket IDs from branch names automatically:
45
+
46
+ ```
47
+ feat/DEV-1234/user-notifications → DEV-1234
48
+ fix/DEV-5678/null-pointer → DEV-5678
49
+ hotfix/DEV-999/critical-fix → DEV-999
50
+ ```
51
+
52
+ Pattern: `[A-Z]+-[0-9]+` anywhere in the branch name.
53
+
54
+ Use `git branch --show-current` to detect, then fetch the ticket:
55
+
56
+ ```
57
+ jira GET /issue/DEV-1234
58
+ ```
59
+
60
+ ## JQL patterns
61
+
62
+ ### Common queries
63
+
64
+ ```jql
65
+ # My open tickets
66
+ assignee = currentUser() AND status != Done ORDER BY priority DESC
67
+
68
+ # Tickets in current sprint
69
+ project = DEV AND sprint in openSprints() AND assignee = currentUser()
70
+
71
+ # Recently updated bugs
72
+ project = DEV AND type = Bug AND updated >= -7d ORDER BY updated DESC
73
+
74
+ # Tickets by component
75
+ project = DEV AND component = "Import" AND status != Done
76
+ ```
77
+
78
+ ### Tips
79
+
80
+ - Always check available fields first: `GET /field`
81
+ - Use `currentUser()` for the authenticated user
82
+ - Use `sprint in openSprints()` for current sprint
83
+ - JQL is case-insensitive for field names but case-sensitive for values
84
+
85
+ ## Creating tickets
86
+
87
+ ### Required fields
88
+
89
+ Always check issue types first: `GET /issue/createmeta/{project}/issuetypes`
90
+
91
+ Minimum fields for creation:
92
+ - `project` — project key (e.g., `DEV`)
93
+ - `issuetype` — issue type (Bug, Task, Story, etc.)
94
+ - `summary` — short title
95
+
96
+ ### Description format (ADF)
97
+
98
+ Jira uses Atlassian Document Format for descriptions:
99
+
100
+ ```json
101
+ {
102
+ "version": 1,
103
+ "type": "doc",
104
+ "content": [
105
+ {
106
+ "type": "paragraph",
107
+ "content": [
108
+ { "type": "text", "text": "Description text here." }
109
+ ]
110
+ }
111
+ ]
112
+ }
113
+ ```
114
+
115
+ ### Attribution
116
+
117
+ Always add attribution when creating issues or comments:
118
+
119
+ ```
120
+ Co-authored by Augment Code
121
+ ```
122
+
123
+ With link to `https://www.augmentcode.com/?utm_source=atlassian&utm_medium=jira_issue&utm_campaign=jira`
124
+
125
+ ## Status transitions
126
+
127
+ Before transitioning, always get available transitions first:
128
+
129
+ ```
130
+ GET /issue/DEV-1234/transitions
131
+ ```
132
+
133
+ Then transition with the correct ID:
134
+
135
+ ```json
136
+ POST /issue/DEV-1234/transitions
137
+ { "transition": { "id": "31" } }
138
+ ```
139
+
140
+ **Important:** Never transition without explicit user permission (see `rules/no-commit.md` — same principle applies to ticket status changes).
141
+
142
+ ## Linking to PRs
143
+
144
+ When creating PRs, include the Jira ticket in:
145
+ - **Branch name:** `feat/DEV-1234/description`
146
+ - **PR title:** `feat(DEV-1234): description`
147
+ - **PR description:** Link to the ticket
148
+
149
+ ## Related
150
+
151
+ - **Skill:** `bug-analyzer` — uses Jira as input source for bug investigation
152
+ - **Skill:** `feature-planning` — uses Jira for feature context
153
+ - **Command:** `/bug-investigate` — auto-detects Jira tickets from branch
154
+ - **Command:** `/feature-plan` — auto-detects Jira tickets from branch
155
+ - **Rule:** `no-commit.md` — never change ticket status without permission
156
+
157
+
158
+ ## Output format
159
+
160
+ 1. Jira ticket data presented in structured format
161
+ 2. Ticket key, summary, status, and relevant fields
162
+
163
+ ## Gotcha
164
+
165
+ - Jira field names are case-sensitive in JQL — `status` works, `Status` doesn't.
166
+ - Don't create duplicate tickets — always search first with JQL before creating.
167
+ - The model tends to forget that Jira description uses ADF (Atlassian Document Format), not Markdown.
168
+ - `accountId` is required for assignee — display name alone doesn't work in the API.
169
+
170
+ ## Do NOT
171
+
172
+ - Do NOT change ticket status without explicit user permission.
173
+ - Do NOT create tickets without checking for duplicates.
174
+
175
+ ## Auto-trigger keywords
176
+
177
+ - Jira
178
+ - ticket
179
+ - issue
180
+ - JQL
181
+ - workflow transition
182
+ - sprint
@@ -0,0 +1,87 @@
1
+ ---
2
+ name: jobs-events
3
+ description: "Use when creating Laravel jobs, queued workflows, events, or listeners. Covers clear responsibilities, safe serialization, and retry/failure handling."
4
+ source: package
5
+ ---
6
+
7
+ # jobs-events
8
+
9
+ ## When to use
10
+
11
+ Use when creating jobs, events, listeners, or queued workflows.
12
+
13
+ Do NOT use when:
14
+ - Artisan commands (use `artisan-commands` skill)
15
+ - Scheduling configuration (use `laravel-scheduling` skill)
16
+
17
+ ## Procedure: Create a Job
18
+
19
+ ### Step 0: Inspect
20
+
21
+ 1. Check existing jobs — match naming, queue config, retry strategy, failure handling.
22
+ 2. Determine sync vs. async — only queue work that is slow, retryable, or non-blocking.
23
+ 3. Check queue driver: `.env` / `config/queue.php` (Redis, database, sync).
24
+ 4. Check Horizon: `config/horizon.php` for queue names, supervisors, balancing.
25
+
26
+ ### Step 1: Create the job class
27
+
28
+ 1. Pass IDs or compact DTOs in constructor — not full models with relations.
29
+ 2. Set queue via `$this->onQueue(Queue::NAME->value)`.
30
+ 3. Add `tags()` for Horizon filtering.
31
+ 4. Set `$maxExceptions`, `backoff()`, `$uniqueFor` as needed.
32
+
33
+ ### Step 2: Implement handle()
34
+
35
+ 1. Keep focused and readable.
36
+ 2. Delegate complex logic to services/actions.
37
+ 3. Design for idempotency — retries must not create duplicates.
38
+
39
+ ### Step 3: Test
40
+
41
+ - `Bus::fake()`, `Queue::fake()`, `Event::fake()`.
42
+ - Test side effects, not just dispatch assertions.
43
+
44
+ ## Procedure: Create an Event + Listener
45
+
46
+ ### Step 1: Create event
47
+
48
+ - Past-tense naming: `OrderPlaced`, `ImportCompleted`.
49
+ - Keep payload focused.
50
+ - Laravel 11+: automatic discovery — no manual registration.
51
+
52
+ ### Step 2: Create listener
53
+
54
+ - One responsibility per listener.
55
+ - Delegate large logic to services.
56
+ - Use `ShouldQueue` on listeners that do heavy work.
57
+
58
+ ## Conventions
59
+
60
+ → See guideline `php/jobs.md` for full conventions (serialization, idempotency, events, dispatching).
61
+
62
+ ## Output format
63
+
64
+ 1. Job/Event/Listener class(es) with proper serialization and retry config
65
+ 2. Event registration in EventServiceProvider if needed
66
+
67
+ ## Gotcha
68
+
69
+ - Without `ShouldQueue`, jobs run synchronously.
70
+ - Queued jobs serialize constructor args — don't pass loaded models.
71
+ - Listener exceptions block the event chain — queue heavy listeners.
72
+ - Set `$tries` and `$backoff` — unlimited retries overwhelm the queue.
73
+
74
+ ## Do NOT
75
+
76
+ - Do NOT serialize Eloquent models with loaded relations into queued jobs.
77
+ - Do NOT ignore idempotency — retries must not create duplicates.
78
+ - Do NOT hide critical business flows behind deep listener chains.
79
+
80
+ ## Auto-trigger keywords
81
+
82
+ - Laravel job
83
+ - queue
84
+ - event
85
+ - listener
86
+ - dispatch
87
+ - serialization