@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,255 @@
1
+ ---
2
+ name: upstream-contribute
3
+ description: "Use when a learning, new skill, rule improvement, or bug fix from a consumer project should be contributed back to the shared agent-config package."
4
+ source: package
5
+ execution:
6
+ type: assisted
7
+ handler: internal
8
+ allowed_tools: ["github"]
9
+ ---
10
+
11
+ # upstream-contribute
12
+
13
+ ## When to use
14
+
15
+ - A new skill was created in a project that should be shared across all projects
16
+ - A rule or skill improvement was discovered that benefits all consumers
17
+ - A bug was found in a shared skill, rule, or command
18
+ - The `learning-to-rule-or-skill` skill identified something worth upstreaming
19
+ - An override was created locally and should become the new default
20
+ - A project-specific skill/rule could be **generalized** to benefit all consumers
21
+ - The `upstream-proposal` rule suggested a contribution and user agreed
22
+
23
+ Do NOT use when:
24
+
25
+ - **The user has NOT given explicit consent** — this is the #1 rule
26
+ - The content already exists in the shared package
27
+ - The learning is truly one-off and cannot be generalized
28
+
29
+ ## Goal
30
+
31
+ Contribute a learning, skill, rule, or fix from a consumer project back to the
32
+ shared `agent-config` package — with correct file placement, quality gates, and PR structure.
33
+
34
+ ## Core principles
35
+
36
+ - **⛔ Consent first** — NEVER create a PR, branch, or any upstream action without explicit user approval
37
+ - **Universality first** — the contribution must work for ALL consumers, not just one project
38
+ - **Generalize when possible** — project-specific content CAN become universal with adaptation
39
+ - **Evidence-based** — learnings must have occurred 2+ times or be clearly generalizable
40
+ - **Complete pairs** — both uncompressed and compressed versions required
41
+ - **Quality verified** — must pass linter before PR creation
42
+ - **Local benefit immediately** — use override for instant project benefit while PR is pending
43
+
44
+ ## Package repository
45
+
46
+ The shared agent-config package lives at:
47
+
48
+ ```
49
+ git@github.com:event4u-app/agent-config.git
50
+ ```
51
+
52
+ GitHub: `https://github.com/event4u-app/agent-config`
53
+
54
+ ## Procedure
55
+
56
+ ### 0. Mandatory consent gate
57
+
58
+ **This step is NON-NEGOTIABLE. No exceptions.**
59
+
60
+ Before ANY upstream work (branch, files, PR), ask the user:
61
+
62
+ ```
63
+ > 🔄 This [skill/rule/guideline] could improve the shared agent-config package.
64
+ > [Brief explanation of what would be contributed and why it's valuable]
65
+ >
66
+ > 1. Yes — create an upstream PR
67
+ > 2. No — keep it project-local only
68
+ ```
69
+
70
+ - **If user picks 2** → STOP. Do not mention upstream again for this item.
71
+ - **If user picks 1** → continue with the procedure below.
72
+ - **If `project.upstream_repo` is empty in `.agent-settings.yml`** → ask the user to configure it first.
73
+ - **NEVER skip this step**, even if the user previously agreed to other contributions.
74
+
75
+ ### 1. Determine contribution type
76
+
77
+ | Type | Uncompressed path | Compressed path |
78
+ |---|---|---|
79
+ | **New skill** | `.agent-src.uncompressed/skills/{name}/SKILL.md` | `.augment/skills/{name}/SKILL.md` |
80
+ | **New rule** | `.agent-src.uncompressed/rules/{name}.md` | `.augment/rules/{name}.md` |
81
+ | **New command** | `.agent-src.uncompressed/commands/{name}.md` | `.augment/commands/{name}.md` |
82
+ | **New guideline** | `.agent-src.uncompressed/guidelines/{category}/{name}.md` | `.augment/guidelines/{category}/{name}.md` |
83
+ | **Update to existing** | Same path as original | Same path as original |
84
+
85
+ ### 2. Apply locally as override (immediate benefit)
86
+
87
+ Create an override so the project benefits immediately:
88
+
89
+ ```
90
+ agents/overrides/{type}/{name}.md
91
+ ```
92
+
93
+ With frontmatter:
94
+
95
+ ```yaml
96
+ ---
97
+ overrides: {type}/{name}
98
+ mode: replace # or extend
99
+ ---
100
+ ```
101
+
102
+ This step is optional if the change is low-urgency.
103
+
104
+ ### 2b. Generalize project-specific content (if needed)
105
+
106
+ If the content is project-specific but could be made universal:
107
+
108
+ 1. **Identify project-specific parts** — domain names, local paths, project conventions
109
+ 2. **Abstract them** — replace with generic patterns, configurable values, or examples
110
+ 3. **Show the user the diff** — original vs. generalized version
111
+ 4. **Get approval** — user must confirm the generalized version is correct
112
+
113
+ Example: A project-specific "import-csv" skill → generic "file-import" skill with configurable format.
114
+
115
+ ### 3. Prepare the upstream contribution
116
+
117
+ The agent needs access to the package repository. Ask the user:
118
+
119
+ ```
120
+ > The improvement should go to the shared agent-config package.
121
+ > I need to create a PR in `event4u-app/agent-config`.
122
+ >
123
+ > 1. I have the package repo cloned locally — tell me the path
124
+ > 2. Clone it for me into a temp directory
125
+ > 3. I'll handle the PR manually — just give me the files
126
+ ```
127
+
128
+ **Option 1:** User provides path → work directly in that repo.
129
+
130
+ **Option 2:** Clone into temp directory:
131
+
132
+ ```bash
133
+ git clone git@github.com:event4u-app/agent-config.git /tmp/agent-config-upstream
134
+ cd /tmp/agent-config-upstream
135
+ ```
136
+
137
+ **Option 3:** Output the file contents as copyable blocks for the user.
138
+
139
+ ### 4. Create branch and files
140
+
141
+ ```bash
142
+ cd {package-repo-path}
143
+ git checkout main && git pull
144
+ git checkout -b feat/skills/{name} # or fix/rules/{name}, etc.
145
+ ```
146
+
147
+ Create both files:
148
+
149
+ - **Uncompressed version** → `.agent-src.uncompressed/{type}/{name}` (full, verbose, human-readable)
150
+ - **Compressed version** → `.augment/{type}/{name}` (token-efficient, preserving all code blocks,
151
+ headings, frontmatter, validation, gotchas)
152
+
153
+ For skills, the compressed version should be 40-60% shorter than uncompressed.
154
+ For rules and commands, they are usually copied 1:1 (no compression).
155
+
156
+ ### 5. Ensure file quality
157
+
158
+ The files must:
159
+
160
+ - Have correct YAML frontmatter (`name`, `description`, `source: package`)
161
+ - NOT contain project-specific references (no domain names, local paths, FQDNs)
162
+ - Follow the skill/rule/command template structure
163
+ - Have exactly one trailing newline
164
+
165
+ ### 6. Run quality gates (if working in the package repo)
166
+
167
+ ```bash
168
+ task lint-skills # 0 FAIL required
169
+ task check-compression # No errors for this file
170
+ task generate-tools # Regenerate symlinks
171
+ task consistency # Everything in sync
172
+ ```
173
+
174
+ If not in the package repo, note that these checks will run in CI after the PR is created.
175
+
176
+ ### 6b. Proposal gate — MANDATORY when a proposal doc exists
177
+
178
+ If the contribution originates from a proposal under `agents/proposals/`
179
+ (produced by `learning-to-rule-or-skill` via the pipeline in
180
+ [`self-improvement-pipeline`](../../guidelines/agent-infra/self-improvement-pipeline.md)),
181
+ run the Stage-4 gate before opening the PR:
182
+
183
+ ```bash
184
+ python3 scripts/check_proposal.py agents/proposals/{slug}.md
185
+ ```
186
+
187
+ **Hard refusal rule:** if `check_proposal.py` exits non-zero, STOP —
188
+ do not create the branch, do not push, do not open the PR. Surface the
189
+ findings to the user, ask them to fix the proposal (add evidence,
190
+ remove TODO markers, complete required sections), then rerun.
191
+
192
+ When no proposal doc exists (small fix, typo, pure bug-fix), skip this
193
+ step and document the rationale in the PR body under the Promotion
194
+ Gate.
195
+
196
+ ### 7. Commit and create PR
197
+
198
+ Branch naming: `feat/skills/{name}`, `fix/rules/{name}`, `feat/commands/{name}`
199
+
200
+ Commit message format:
201
+
202
+ ```
203
+ feat(skills): add {name} skill
204
+ fix(rules): improve {name} rule — {what changed}
205
+ feat(commands): add {name} command
206
+ ```
207
+
208
+ PR title: Same as commit message.
209
+
210
+ PR body must use the package's PR template with these gates:
211
+
212
+ - **Promotion Gate** — learning occurred 2+ times, improves correctness, prevents real failure
213
+ - **Quality Gate** — linter passes, tests pass
214
+ - **Universality Gate** — no project-specific assumptions, benefits all consumers
215
+ - **Completeness Gate** — both versions present, symlinks regenerated
216
+
217
+ ### 8. After merge — clean up override
218
+
219
+ Once the PR is merged and the package is updated in the project:
220
+
221
+ ```bash
222
+ # In the consumer project
223
+ rm agents/overrides/{type}/{name}.md
224
+ composer update event4u/agent-config # or npm update
225
+ ```
226
+
227
+ The shared version now replaces the local override.
228
+
229
+ ## Output format
230
+
231
+ 1. Summary of what is being contributed (type, name, why)
232
+ 2. File contents for both uncompressed and compressed versions
233
+ 3. If working in the package repo: branch name, commit message, PR title
234
+ 4. If Option 3: copyable file blocks for the user to paste
235
+ 5. Reminder to clean up local override after upstream merge
236
+
237
+ ## Gotcha
238
+
239
+ - Agent in consumer project doesn't know the package repo URL — this skill provides it
240
+ - Agent may try to edit `.augment/` in the consumer project — that's read-only (symlinked)
241
+ - Agent may forget the compressed version — both are mandatory
242
+ - Agent may include project-specific references in the skill — must be universal
243
+ - The `source` field in frontmatter must be `package`, not `project`
244
+ - Agent may not have git access to the package repo — Option 3 handles this gracefully
245
+
246
+ ## Do NOT
247
+
248
+ - **Do NOT create any upstream artifact without explicit user consent** — this is the #1 rule
249
+ - **Do NOT open a PR if `check_proposal.py` blocks** — fix the proposal first (step 6b)
250
+ - Do NOT edit `.augment/` in the consumer project — it's managed by the package
251
+ - Do NOT submit project-specific content without generalizing it first
252
+ - Do NOT skip the compressed version — both files are mandatory
253
+ - Do NOT forget to clean up the local override after upstream merge
254
+ - Do NOT bypass quality gates — they exist for a reason
255
+ - Do NOT assume consent from a previous contribution — ask every time
@@ -0,0 +1,148 @@
1
+ ---
2
+ name: using-git-worktrees
3
+ description: "Use when starting parallel work in isolation from the current branch — spawn a git worktree with ignore-safety checks and a clean test baseline — even when the user says 'try this on the side'."
4
+ source: package
5
+ ---
6
+
7
+ # using-git-worktrees
8
+
9
+ ## When to use
10
+
11
+ * Starting new work while the current branch is mid-work and you don't
12
+ want to stash or switch
13
+ * Running two agents (Augment Code, Claude Code, Cursor) on the same
14
+ repo in parallel — each needs its own working directory
15
+ * Experimenting with a refactor that may be thrown away — a throwaway
16
+ worktree is cheaper than a throwaway commit
17
+ * A long-running build or test suite is busy in the current worktree
18
+
19
+ Do NOT use when:
20
+
21
+ * A small fix fits in one commit on the current branch — worktree
22
+ overhead is not worth it
23
+ * The task is linear ("just finish this PR") — a single branch is simpler
24
+ * The repo is tiny and branch-switching is instant — setup cost outweighs
25
+ isolation benefit
26
+ * You are unsure which branch you want — pick the branch first
27
+
28
+ ## Goal
29
+
30
+ Land in an **isolated, ignored, test-clean** worktree ready for
31
+ implementation, without polluting the parent repo's working tree.
32
+
33
+ ## The Iron Law
34
+
35
+ ```
36
+ NO WORKTREE WITHOUT VERIFIED IGNORE + CLEAN BASELINE.
37
+ ```
38
+
39
+ An un-ignored worktree directory will get committed accidentally. A
40
+ worktree with a failing baseline mixes pre-existing failures into new
41
+ work and makes it impossible to tell what you broke.
42
+
43
+ ## Procedure
44
+
45
+ ### 1. Inspect current state
46
+
47
+ Before creating anything, check existing conventions — do not assume:
48
+
49
+ ```bash
50
+ git worktree list # already-active worktrees
51
+ ls -d .worktrees worktrees 2>/dev/null # project-local convention
52
+ grep -i "worktree.*director" AGENTS.md CLAUDE.md 2>/dev/null
53
+ ```
54
+
55
+ If a worktree on the target branch already exists, **reuse it**. Git
56
+ refuses to check out a branch that is already live elsewhere.
57
+
58
+ ### 2. Pick directory convention
59
+
60
+ Stop at the first match — do not ask if discovered:
61
+
62
+ | Found | Use |
63
+ |--------------------------|--------------------------------------------|
64
+ | `.worktrees/` exists | `.worktrees/<branch-name>` |
65
+ | `worktrees/` exists | `worktrees/<branch-name>` |
66
+ | `AGENTS.md` preference | follow it |
67
+ | nothing found | ask user (numbered options) |
68
+
69
+ Ask format:
70
+
71
+ > 1. `.worktrees/` — project-local, hidden (recommended)
72
+ > 2. `worktrees/` — project-local, visible
73
+ > 3. `~/.config/agent-config/worktrees/<project>/` — global
74
+
75
+ ### 3. Verify ignore-safety (project-local only)
76
+
77
+ ```bash
78
+ git check-ignore -q .worktrees || git check-ignore -q worktrees
79
+ ```
80
+
81
+ **If exit ≠ 0:** add the path to `.gitignore`, commit that change
82
+ **before** creating the worktree. Do not proceed until the check
83
+ passes. For the global location, skip — path is outside the repo.
84
+
85
+ ### 4. Create the worktree
86
+
87
+ ```bash
88
+ git worktree add .worktrees/<branch-name> -b <branch-name>
89
+ cd .worktrees/<branch-name>
90
+ ```
91
+
92
+ Branch names must match the project convention — see
93
+ `commit-conventions` rule.
94
+
95
+ ### 5. Install dependencies + verify baseline
96
+
97
+ Auto-detect from manifest files:
98
+
99
+ | File | Command |
100
+ |-------------------|-----------------------------------------|
101
+ | `composer.json` | `composer install` |
102
+ | `package.json` | `npm ci` / `pnpm install` / `yarn` |
103
+ | `pyproject.toml` | `poetry install` or `pip install -e .` |
104
+ | `Cargo.toml` | `cargo build` |
105
+ | `go.mod` | `go mod download` |
106
+
107
+ Run the project's fastest test target. If the baseline **fails**, stop
108
+ and report — ask whether to fix main first or proceed. Never silently
109
+ continue with a red baseline.
110
+
111
+ ## Multi-tool parallel work
112
+
113
+ Agents share the same `.git/` but get their own working directory. One
114
+ worktree per agent session; branch name encodes agent/task
115
+ (`feat/augment-auth`, `feat/claude-refactor`). Merge or discard before
116
+ starting a new worktree on the same branch.
117
+
118
+ ## Gotcha
119
+
120
+ * **Un-ignored directory** — contents end up tracked; `git status`
121
+ noise across the whole repo. Verify first.
122
+ * **Two worktrees on same branch** — git refuses; pick a new branch.
123
+ * **Hardcoded `npm install`** on a PHP project fails silently. Detect
124
+ from manifest files.
125
+ * **Skipping baseline** — failing tests pre-existed; later blamed on
126
+ your own changes.
127
+
128
+ ## Output format
129
+
130
+ 1. **Location** — full path to the worktree
131
+ 2. **Branch** — created branch name
132
+ 3. **Baseline** — `<N> tests passing` or explicit failure report
133
+ 4. **Next step** — suggested skill or command for the actual work
134
+
135
+ ## Do NOT
136
+
137
+ * NEVER create a worktree before the ignore check passes
138
+ * NEVER skip the baseline test run
139
+ * NEVER reuse a directory name that already holds a worktree
140
+ * NEVER `rm -rf` a worktree — use `git worktree remove`
141
+
142
+ ## Handover
143
+
144
+ | Task | Skill / command |
145
+ |----------------------------|-----------------------------------|
146
+ | Finishing the branch | `finishing-a-development-branch` |
147
+ | Opening the PR | `/create-pr` |
148
+ | Verifying completeness | `verify-before-complete` |
@@ -0,0 +1,113 @@
1
+ ---
2
+ name: "validate-feature-fit"
3
+ description: "Validate whether a feature request fits the existing codebase — check for duplicates, contradictions, scope creep, and architectural misfit"
4
+ source: package
5
+ execution:
6
+ type: assisted
7
+ handler: internal
8
+ allowed_tools: []
9
+ ---
10
+
11
+ # Validate Feature Fit
12
+
13
+ ## When to use
14
+
15
+ - The `improve-before-implement` rule detected a potential misfit
16
+ - User explicitly asks to validate a feature idea before implementing
17
+ - A feature request seems to overlap with existing functionality
18
+ - A requested approach contradicts established patterns
19
+
20
+ ## Procedure
21
+
22
+ ### 1. Understand the request
23
+
24
+ Read the feature description / user message. Extract:
25
+ - **Goal**: What should be achieved?
26
+ - **Scope**: What files/modules are affected?
27
+ - **Approach**: How does the user want it done?
28
+
29
+ ### 2. Check for duplicates
30
+
31
+ Search the codebase for existing functionality that covers (partially or fully) the same goal:
32
+ - Services with similar names or methods
33
+ - Controllers handling similar routes
34
+ - Models with similar scopes or relations
35
+ - Existing tests covering similar behavior
36
+
37
+ **If duplicate found** → report with file references, suggest extending vs. duplicating.
38
+
39
+ ### 3. Check for contradictions
40
+
41
+ Verify the request doesn't conflict with:
42
+ - Existing module boundaries (does it cross module lines?)
43
+ - Established patterns (does it introduce a new pattern where one exists?)
44
+ - Naming conventions (does it use different naming than the codebase?)
45
+ - Data flow (does it bypass existing services or repositories?)
46
+ - **Product rules and domain invariants** — pull active rules via the
47
+ shared abstraction (see
48
+ [`memory-access`](../../guidelines/agent-infra/memory-access.md)):
49
+
50
+ ```python
51
+ from scripts.memory_lookup import retrieve
52
+ matches = retrieve(
53
+ types=["product-rules", "domain-invariants"],
54
+ keys=[<affected domain>, <affected paths>],
55
+ limit=5,
56
+ )
57
+ ```
58
+
59
+ A product rule is an intentional business constraint
60
+ (e.g., "free plan caps at 3 users"); the feature must either respect
61
+ it or explicitly propose to retire it. Cite the matching `id:` in
62
+ the findings. Schema:
63
+ [`engineering-memory-data-format`](../../guidelines/agent-infra/engineering-memory-data-format.md).
64
+
65
+ **If contradiction found** → show the existing pattern, explain why it matters.
66
+
67
+ ### 4. Check for scope creep
68
+
69
+ Evaluate if the request is:
70
+ - Bigger than it appears (hidden complexity, many affected files)
71
+ - Under-specified (missing error handling, edge cases, validation)
72
+ - Over-engineered (complex solution for simple problem)
73
+
74
+ **If scope concern** → quantify the impact (est. files, est. complexity).
75
+
76
+ ### 5. Present findings
77
+
78
+ Format as a clear, concise summary:
79
+
80
+ ```
81
+ ## Feature Fit Analysis: [Feature Name]
82
+
83
+ ### ✅ Fits well
84
+ - [What aligns with the codebase]
85
+
86
+ ### ⚠️ Concerns
87
+ - [Concern 1 — with file reference]
88
+ - [Concern 2 — with evidence]
89
+
90
+ ### Recommendation
91
+ > 1. Proceed as-is
92
+ > 2. Adjust approach — [brief suggestion]
93
+ > 3. Discuss further
94
+ ```
95
+
96
+ ## Output format
97
+
98
+ Always end with numbered options. The user should be able to reply with just a number.
99
+
100
+ ## Gotchas
101
+
102
+ - Don't spend more than 2 minutes on this analysis — quick scan, not deep audit
103
+ - Don't block work — if no clear issues found, say "looks good" and proceed
104
+ - Don't challenge every request — only when there's actual evidence of misfit
105
+ - Don't nitpick — focus on structural/architectural concerns, not style
106
+
107
+ ## Do NOT
108
+
109
+ - Do NOT refuse to implement after the user made their choice
110
+ - Do NOT repeat concerns the user already addressed
111
+ - Do NOT make this analysis visible when there are no concerns
112
+ - Do NOT run this on bug fixes, config changes, or trivial tasks
113
+ - Do NOT use this as a reason to delay work