@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
+ #!/usr/bin/env python3
2
+ """
3
+ Audit skill descriptions for triggering quality.
4
+
5
+ Flags descriptions that are:
6
+ - too short (< 150 chars) or too long (> 200 chars, the linter limit)
7
+ - missing an explicit trigger verb prefix ("use when", "use if", "creates", ...)
8
+ - containing hedge terms ("may help", "can be useful", "covers various", ...)
9
+
10
+ Context:
11
+ `archive/road-to-anthropic-alignment.md` Phase 2.2 — "pushy description" pattern from
12
+ anthropics/skills/skills/skill-creator (roadmap archived 2026-04-21).
13
+
14
+ Usage:
15
+ python3 scripts/audit_skill_descriptions.py # human table
16
+ python3 scripts/audit_skill_descriptions.py --json # machine-readable
17
+ python3 scripts/audit_skill_descriptions.py --root DIR # audit another tree
18
+ """
19
+
20
+ from __future__ import annotations
21
+
22
+ import argparse
23
+ import json
24
+ import re
25
+ import sys
26
+ from dataclasses import asdict, dataclass, field
27
+ from pathlib import Path
28
+ from typing import List
29
+
30
+ DEFAULT_ROOT = Path(".agent-src.uncompressed/skills")
31
+ MIN_LENGTH = 150
32
+ # Mirrors scripts/skill_linter.py `description_too_long` threshold.
33
+ MAX_LENGTH = 200
34
+
35
+ FRONTMATTER_RE = re.compile(r"^---\n(.*?)\n---", re.DOTALL)
36
+ DESCRIPTION_RE = re.compile(r'^description:\s*"?(.*?)"?\s*$', re.MULTILINE)
37
+
38
+ TRIGGER_PREFIX_RE = re.compile(
39
+ r"^\s*("
40
+ r"use\s+(when|if|for)\b|only\s+when\b|"
41
+ r"creates?\b|reviews?\b|writes?\b|handles?\b|generates?\b|runs?\b|"
42
+ r"builds?\b|fetches?\b|validates?\b|audits?\b|analyzes?\b|detects?\b|"
43
+ r"plans?\b|deploys?\b|configures?\b|scaffolds?\b|fixes?\b|refactors?\b|"
44
+ r"optimizes?\b|renders?\b|syncs?\b|explores?\b|installs?\b|updates?\b|"
45
+ r"manages?\b|orchestrates?\b|prepares?\b|finds?\b|executes?\b|reads?\b|"
46
+ r"checks?\b|tracks?\b"
47
+ r")",
48
+ re.IGNORECASE,
49
+ )
50
+
51
+ HEDGE_PHRASES = (
52
+ "may help",
53
+ "can be useful",
54
+ "covers various",
55
+ "might be",
56
+ "generally",
57
+ "as needed",
58
+ "when appropriate",
59
+ )
60
+
61
+
62
+ @dataclass
63
+ class Finding:
64
+ skill: str
65
+ path: str
66
+ description: str
67
+ length: int
68
+ flags: List[str] = field(default_factory=list)
69
+
70
+ @property
71
+ def score(self) -> int:
72
+ # Higher score = worse. Used for sorting.
73
+ penalty = 0
74
+ if "no-trigger-prefix" in self.flags:
75
+ penalty += 30
76
+ if "too-short" in self.flags:
77
+ penalty += 20
78
+ if "very-short" in self.flags:
79
+ penalty += 10
80
+ penalty += sum(10 for f in self.flags if f.startswith("hedge:"))
81
+ return penalty
82
+
83
+
84
+ def extract_description(text: str) -> str:
85
+ m = FRONTMATTER_RE.search(text)
86
+ if not m:
87
+ return ""
88
+ d = DESCRIPTION_RE.search(m.group(1))
89
+ return d.group(1).strip() if d else ""
90
+
91
+
92
+ def audit_description(description: str) -> List[str]:
93
+ flags: List[str] = []
94
+ if not description:
95
+ flags.append("missing")
96
+ return flags
97
+ length = len(description)
98
+ if length < 80:
99
+ flags.append("very-short")
100
+ elif length < MIN_LENGTH:
101
+ flags.append("too-short")
102
+ if length > MAX_LENGTH:
103
+ flags.append("too-long")
104
+ if not TRIGGER_PREFIX_RE.match(description):
105
+ flags.append("no-trigger-prefix")
106
+ lowered = description.lower()
107
+ for phrase in HEDGE_PHRASES:
108
+ if phrase in lowered:
109
+ flags.append(f"hedge:{phrase}")
110
+ return flags
111
+
112
+
113
+ def collect_findings(root: Path) -> List[Finding]:
114
+ findings: List[Finding] = []
115
+ for skill_md in sorted(root.glob("*/SKILL.md")):
116
+ text = skill_md.read_text(encoding="utf-8")
117
+ description = extract_description(text)
118
+ flags = audit_description(description)
119
+ findings.append(
120
+ Finding(
121
+ skill=skill_md.parent.name,
122
+ path=str(skill_md),
123
+ description=description,
124
+ length=len(description),
125
+ flags=flags,
126
+ )
127
+ )
128
+ return findings
129
+
130
+
131
+ def render_text(findings: List[Finding], worst_only: bool) -> str:
132
+ flagged = [f for f in findings if f.flags]
133
+ flagged.sort(key=lambda f: (-f.score, f.skill))
134
+ lines = [f"Audited {len(findings)} skills, {len(flagged)} flagged.\n"]
135
+ if not flagged:
136
+ lines.append("✅ All descriptions look reasonable.")
137
+ return "\n".join(lines)
138
+ lines.append(f"{'SCORE':>5} {'LEN':>4} {'SKILL':<40} FLAGS")
139
+ lines.append("-" * 90)
140
+ shown = flagged[:15] if worst_only else flagged
141
+ for f in shown:
142
+ lines.append(
143
+ f"{f.score:>5} {f.length:>4} {f.skill:<40} {', '.join(f.flags)}"
144
+ )
145
+ if worst_only and len(flagged) > 15:
146
+ lines.append(f"\n... {len(flagged) - 15} more (use --full to show all)")
147
+ return "\n".join(lines)
148
+
149
+
150
+ def main() -> int:
151
+ parser = argparse.ArgumentParser(description=__doc__)
152
+ parser.add_argument("--root", type=Path, default=DEFAULT_ROOT)
153
+ parser.add_argument("--json", action="store_true", help="emit JSON")
154
+ parser.add_argument("--full", action="store_true", help="show all flagged, not just top 15")
155
+ args = parser.parse_args()
156
+ if not args.root.exists():
157
+ print(f"error: {args.root} does not exist", file=sys.stderr)
158
+ return 2
159
+ findings = collect_findings(args.root)
160
+ if args.json:
161
+ print(json.dumps([asdict(f) for f in findings], indent=2))
162
+ else:
163
+ print(render_text(findings, worst_only=not args.full))
164
+ return 0
165
+
166
+
167
+ if __name__ == "__main__":
168
+ sys.exit(main())
@@ -0,0 +1,221 @@
1
+ #!/usr/bin/env python3
2
+ """
3
+ Compression quality checker for agent-config packages.
4
+
5
+ Compares .agent-src.uncompressed/ source files with their .agent-src/ compressed versions.
6
+ Checks that compression preserved structural integrity:
7
+ - All headings from source present in compressed
8
+ - All code blocks preserved exactly
9
+ - YAML frontmatter identical
10
+ - Word count reduction within healthy range (10-60%)
11
+
12
+ Exit codes: 0 = clean, 1 = issues found, 3 = internal error
13
+ """
14
+
15
+ from __future__ import annotations
16
+
17
+ import argparse
18
+ import json
19
+ import re
20
+ import sys
21
+ from dataclasses import dataclass, asdict
22
+ from pathlib import Path
23
+ from typing import List, Literal
24
+
25
+ Severity = Literal["error", "warning", "info"]
26
+
27
+ SOURCE_DIR = Path(".agent-src.uncompressed")
28
+ TARGET_DIR = Path(".agent-src")
29
+
30
+
31
+ @dataclass
32
+ class Issue:
33
+ file: str
34
+ check: str
35
+ severity: Severity
36
+ message: str
37
+
38
+
39
+ def extract_headings(text: str) -> list[str]:
40
+ """Extract all markdown headings (outside code blocks)."""
41
+ headings = []
42
+ in_code = False
43
+ for line in text.splitlines():
44
+ if line.strip().startswith("```"):
45
+ in_code = not in_code
46
+ continue
47
+ if not in_code and re.match(r"^#{1,6}\s+.+$", line):
48
+ headings.append(line)
49
+ return headings
50
+
51
+
52
+ def extract_code_blocks(text: str) -> list[str]:
53
+ """Extract content of fenced code blocks."""
54
+ return re.findall(r"```[^\n]*\n(.*?)```", text, re.DOTALL)
55
+
56
+
57
+ def extract_frontmatter(text: str) -> str:
58
+ """Extract YAML frontmatter."""
59
+ m = re.match(r"^---\n(.*?\n)---", text, re.DOTALL)
60
+ return m.group(1).strip() if m else ""
61
+
62
+
63
+ def check_pair(rel_path: str, source: str, compressed: str) -> List[Issue]:
64
+ """Compare source and compressed versions of a file."""
65
+ issues: List[Issue] = []
66
+
67
+ # Frontmatter check
68
+ src_fm = extract_frontmatter(source)
69
+ cmp_fm = extract_frontmatter(compressed)
70
+ if src_fm and src_fm != cmp_fm:
71
+ issues.append(Issue(rel_path, "frontmatter_mismatch", "error",
72
+ "YAML frontmatter differs between source and compressed"))
73
+
74
+ # Heading preservation — check H1 and H2 headings (H3+ may be merged during compression)
75
+ src_headings = extract_headings(source)
76
+ cmp_headings = extract_headings(compressed)
77
+ for h in src_headings:
78
+ # Only check H1 and H2 (## level) — H3+ subheadings may be merged
79
+ if h.startswith("# ") or (h.startswith("## ") and not h.startswith("### ")):
80
+ if h not in cmp_headings:
81
+ issues.append(Issue(rel_path, "missing_heading", "warning",
82
+ f"H1/H2 heading lost during compression: {h}"))
83
+ # Also flag if comment lines inside code blocks are being treated as headings
84
+ # Filter out false positives from code blocks
85
+
86
+ # Code block preservation
87
+ src_blocks = extract_code_blocks(source)
88
+ cmp_blocks = extract_code_blocks(compressed)
89
+ if len(src_blocks) > len(cmp_blocks):
90
+ issues.append(Issue(rel_path, "lost_code_blocks", "error",
91
+ f"Code blocks lost: source has {len(src_blocks)}, compressed has {len(cmp_blocks)}"))
92
+ for i, block in enumerate(src_blocks):
93
+ if i < len(cmp_blocks) and block.strip() != cmp_blocks[i].strip():
94
+ # Only flag if content actually changed (not just whitespace)
95
+ if block.replace(" ", "").replace("\n", "") != cmp_blocks[i].replace(" ", "").replace("\n", ""):
96
+ issues.append(Issue(rel_path, "modified_code_block", "error",
97
+ f"Code block {i+1} content changed during compression"))
98
+
99
+ # Word count ratio
100
+ src_words = len(source.split())
101
+ cmp_words = len(compressed.split())
102
+ if src_words > 0:
103
+ reduction = (1 - cmp_words / src_words) * 100
104
+ if reduction > 60:
105
+ issues.append(Issue(rel_path, "excessive_reduction", "warning",
106
+ f"Compression reduced {reduction:.0f}% — possible content loss "
107
+ f"({src_words} → {cmp_words} words)"))
108
+ elif reduction < 5 and src_words > 100:
109
+ issues.append(Issue(rel_path, "minimal_reduction", "info",
110
+ f"Compression only reduced {reduction:.0f}% "
111
+ f"({src_words} → {cmp_words} words)"))
112
+
113
+ return issues
114
+
115
+
116
+ def scan_all(root: Path) -> List[Issue]:
117
+ """Scan all .md file pairs for compression quality issues."""
118
+ issues: List[Issue] = []
119
+ source_dir = root / SOURCE_DIR
120
+ target_dir = root / TARGET_DIR
121
+
122
+ if not source_dir.exists() or not target_dir.exists():
123
+ return issues
124
+
125
+ for source_file in sorted(source_dir.rglob("*.md")):
126
+ rel = source_file.relative_to(source_dir)
127
+ target_file = target_dir / rel
128
+
129
+ if not target_file.exists():
130
+ continue # sync-check handles missing files
131
+
132
+ # Skip commands — they are copied verbatim, not compressed
133
+ rel_str = str(rel)
134
+ if rel_str.startswith("commands/"):
135
+ continue
136
+
137
+ source_text = source_file.read_text(encoding="utf-8")
138
+ target_text = target_file.read_text(encoding="utf-8")
139
+ issues.extend(check_pair(rel_str, source_text, target_text))
140
+
141
+ return issues
142
+
143
+
144
+ def format_text(issues: List[Issue]) -> str:
145
+ if not issues:
146
+ return "✅ Compression quality check passed."
147
+ icons = {"error": "🔴", "warning": "🟡", "info": "ℹ️"}
148
+ lines = [f"Found {len(issues)} compression quality issue(s):\n"]
149
+ for i in issues:
150
+ lines.append(f" {icons[i.severity]} [{i.check}] {i.file}: {i.message}")
151
+ errors = sum(1 for i in issues if i.severity == "error")
152
+ if errors:
153
+ lines.append(f"\n❌ {errors} error(s) must be fixed.")
154
+ return "\n".join(lines)
155
+
156
+
157
+ def scan_summary(root: Path) -> str:
158
+ """Generate per-category compression summary stats."""
159
+ source_dir = root / SOURCE_DIR
160
+ target_dir = root / TARGET_DIR
161
+ if not source_dir.exists() or not target_dir.exists():
162
+ return "No source/target directories found."
163
+
164
+ categories: dict[str, list[tuple[int, int]]] = {}
165
+ for source_file in sorted(source_dir.rglob("*.md")):
166
+ rel = source_file.relative_to(source_dir)
167
+ target_file = target_dir / rel
168
+ if not target_file.exists() or str(rel).startswith("commands/"):
169
+ continue
170
+ src_words = len(source_file.read_text(encoding="utf-8").split())
171
+ cmp_words = len(target_file.read_text(encoding="utf-8").split())
172
+ parts = str(rel).split("/")
173
+ cat = parts[0] if len(parts) > 1 else "root"
174
+ categories.setdefault(cat, []).append((src_words, cmp_words))
175
+
176
+ lines = ["Category | Files | Avg Source | Avg Compressed | Avg Reduction",
177
+ "--- | --- | --- | --- | ---"]
178
+ total_src = total_cmp = total_files = 0
179
+ for cat in sorted(categories):
180
+ pairs = categories[cat]
181
+ n = len(pairs)
182
+ avg_src = sum(s for s, _ in pairs) // n
183
+ avg_cmp = sum(c for _, c in pairs) // n
184
+ reduction = (1 - avg_cmp / avg_src) * 100 if avg_src > 0 else 0
185
+ lines.append(f"{cat:<17}| {n:>5} | {avg_src:>10} | {avg_cmp:>14} | {reduction:>5.0f}%")
186
+ total_src += sum(s for s, _ in pairs)
187
+ total_cmp += sum(c for _, c in pairs)
188
+ total_files += n
189
+ overall = (1 - total_cmp / total_src) * 100 if total_src > 0 else 0
190
+ lines.append(f"{'TOTAL':<17}| {total_files:>5} | {total_src // max(total_files, 1):>10} | {total_cmp // max(total_files, 1):>14} | {overall:>5.0f}%")
191
+ return "\n".join(lines)
192
+
193
+
194
+ def main() -> int:
195
+ parser = argparse.ArgumentParser(description="Check compression quality")
196
+ parser.add_argument("--format", choices=["text", "json"], default="text")
197
+ parser.add_argument("--summary", action="store_true", help="Show per-category compression stats")
198
+ parser.add_argument("--root", type=Path, default=Path("."))
199
+ args = parser.parse_args()
200
+
201
+ if args.summary:
202
+ print(scan_summary(args.root))
203
+ return 0
204
+
205
+ try:
206
+ issues = scan_all(args.root)
207
+ except Exception as e:
208
+ print(f"Internal error: {e}", file=sys.stderr)
209
+ return 3
210
+
211
+ if args.format == "json":
212
+ print(json.dumps([asdict(i) for i in issues], indent=2))
213
+ else:
214
+ print(format_text(issues))
215
+
216
+ errors = [i for i in issues if i.severity == "error"]
217
+ return 1 if errors else 0
218
+
219
+
220
+ if __name__ == "__main__":
221
+ sys.exit(main())