@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,189 @@
1
+ ---
2
+ name: threat-modeling
3
+ description: "Use when adding auth, webhooks, uploads, queues, secrets, tenant boundaries, or public endpoints — produces trust boundaries + abuse cases mapped to files, BEFORE implementation."
4
+ source: package
5
+ ---
6
+
7
+ # threat-modeling
8
+
9
+ > You are a reviewer specialized in **pre-implementation threat analysis**.
10
+ > Your only job is to produce a compact threat model for a planned change —
11
+ > actors, assets, trust boundaries, abuse cases, and the minimum controls
12
+ > the implementer must add. You do **not** audit existing code end-to-end,
13
+ > you do **not** review diffs, you do **not** implement controls — sibling
14
+ > skills handle those.
15
+
16
+ ## When to use
17
+
18
+ * The change adds or modifies authentication, authorization, or permission checks
19
+ * The change adds a public endpoint, webhook, file upload, queue worker,
20
+ scheduled task, or third-party integration
21
+ * The change touches sensitive data, tenant boundaries, secrets, billing flows,
22
+ or admin-only capabilities
23
+ * A `security-sensitive-stop-rule` trigger fired and the agent must produce a
24
+ risk review before patching
25
+
26
+ Do NOT use when:
27
+
28
+ * The change is a cosmetic refactor or documentation-only edit — skip entirely
29
+ * The change is a diff ready for review — route to
30
+ [`judge-security-auditor`](../judge-security-auditor/SKILL.md)
31
+ * The concern is a full-codebase security posture review — route to
32
+ [`security-audit`](../security-audit/SKILL.md)
33
+ * The concern is end-to-end authorization enforcement — route to
34
+ [`authz-review`](../authz-review/SKILL.md)
35
+ * The concern is output/log leakage on an existing API — route to
36
+ [`data-exposure-review`](../data-exposure-review/SKILL.md)
37
+ * The concern is implementing the controls once identified — route to
38
+ [`security`](../security/SKILL.md)
39
+
40
+ ## Procedure
41
+
42
+ ### 1. Anchor on the planned change
43
+
44
+ Read the task description (ticket, feature plan, spec) and the entrypoints
45
+ the change will touch. You are modelling **the stated change**, not the
46
+ whole system. If the change is unclear from available context, stop and ask
47
+ before continuing — never invent a threat model for an imagined feature.
48
+
49
+ ### 2. Inspect the execution path
50
+
51
+ Trace the path once through existing code:
52
+
53
+ - Where does untrusted input enter? (route, webhook, queue payload, CLI arg,
54
+ uploaded file, imported record)
55
+ - Which actor types cross this path? (anonymous, authenticated user, admin,
56
+ service account, queue worker, cron)
57
+ - What assets does the path touch? (PII, credentials, internal IDs, billing,
58
+ tenant-scoped records, files, secrets)
59
+ - Where are the privilege boundaries? (auth gate, authorization layer, tenant
60
+ scope, admin gate)
61
+
62
+ ### 3. Model the risks
63
+
64
+ For every distinct abuse case, answer:
65
+
66
+ | Field | What to fill in |
67
+ |---|---|
68
+ | Entry point | route / job / webhook + concrete file |
69
+ | Actor | who can trigger it |
70
+ | Precondition | what must be true (auth state, data state) |
71
+ | Impact | concrete damage (data loss, privilege escalation, DoS, leakage) |
72
+ | Current control | what exists today |
73
+ | Missing control | what the change must add |
74
+
75
+ Prioritize by **impact × plausibility**, not by novelty. Skip generic
76
+ OWASP bullets unless you can anchor them in a concrete file or line.
77
+
78
+ ### 4. Convert risks to engineering actions
79
+
80
+ For each prioritized abuse case, propose the **smallest effective control**
81
+ and name the exact file/layer it belongs in:
82
+
83
+ - input validation → where
84
+ - authorization check → where
85
+ - rate limiting → where
86
+ - output filtering → where
87
+ - safer default → where
88
+ - logging / alerting → where
89
+
90
+ State whether a new **negative test** is required and what condition it
91
+ must assert (e.g. *"POST /imports with tenant-B id from tenant-A session
92
+ returns 403"*).
93
+
94
+ ## Validation
95
+
96
+ Before finalizing the threat model, confirm:
97
+
98
+ 1. Every entry point has at least one identified control owner
99
+ 2. Every 🔴 abuse case has either an existing control or a required new one
100
+ 3. Every 🔴 abuse case has at least one proposed negative test
101
+ 4. You have NOT produced generic advice — every risk cites a file, route, or job
102
+ 5. You have NOT proposed offensive testing steps, exploit chains, or bypass ideas
103
+ 6. If the change is out of scope for threat modelling (no trust boundary
104
+ crossed), you have said so explicitly and stopped
105
+
106
+ ## Output format
107
+
108
+ ```
109
+ Skill: threat-modeling
110
+ Target: <feature / ticket / change summary>
111
+
112
+ Actors: <list, one per line>
113
+ Assets: <list, one per line>
114
+ Entry points: <route / job / webhook — file:line>
115
+ Trust boundaries: <where untrusted → trusted crossings happen>
116
+
117
+ Abuse cases (prioritized):
118
+ 🔴 <name> — entry point · actor · precondition
119
+ Impact: <concrete damage>
120
+ Current control: <what exists>
121
+ Missing control: <what to add, where>
122
+ Required test: <negative assertion>
123
+ 🟡 ...
124
+ 🟢 ...
125
+
126
+ Implementation plan:
127
+ 1. <control>, <file/layer>
128
+ 2. ...
129
+
130
+ Missing tests:
131
+ 1. <assertion>, <test file>
132
+ ```
133
+
134
+ Severity: 🔴 exploitable by external actor with current or no privilege /
135
+ 🟡 exploitable only with elevated privilege or partial auth / 🟢 defense-in-depth
136
+ improvement, not a concrete exploit path.
137
+
138
+ Required fields (ordered):
139
+
140
+ 1. **Skill** and **Target** — one-line change summary
141
+ 2. **Actors**, **Assets**, **Entry points**, **Trust boundaries**
142
+ 3. **Abuse cases** — prioritized; every entry cites entry point + actor + impact + current + missing control + required test
143
+ 4. **Implementation plan** — ordered controls mapped to files/layers
144
+ 5. **Missing tests** — ordered negative assertions
145
+
146
+ Runtime confirmation (e.g. *"reproduce the abuse against staging"*, *"query
147
+ the DB to confirm scope leakage exists today"*) is a follow-up for the
148
+ implementer — **this skill does not execute tools, reproduce exploits, or
149
+ run tests**.
150
+
151
+ ## Gotcha
152
+
153
+ * **Generic OWASP bullets without a file anchor** — "SQL injection risk" is
154
+ noise unless you cite the query. Drop it or anchor it.
155
+ * **Confusing authentication with authorization** — a logged-in user is not an
156
+ authorized user. Model authorization as a distinct boundary even when auth
157
+ is already enforced upstream.
158
+ * **Treating queue workers and webhooks as trusted** — they carry attacker-
159
+ influenced payloads. Model them as untrusted entry points.
160
+ * **Modelling the whole system when the change is narrow** — the model is
161
+ scoped to the planned change. Out-of-scope risks belong to `security-audit`.
162
+ * **Producing offensive test steps** — you name abuse cases and required
163
+ controls, not exploit procedures.
164
+
165
+ ## Do NOT
166
+
167
+ * NEVER produce exploit chains, payloads, or bypass techniques — if the task
168
+ asks for offensive work, stop and refuse per `never-help-build-offensive-cyber-capability`
169
+ * NEVER return a threat model out of politeness when no trust boundary is crossed — say so and stop
170
+ * NEVER treat "internal" or "behind the WAF" as a substitute for a control
171
+ * NEVER approve a plan without at least one negative test per 🔴 abuse case
172
+ * NEVER silently fall back to a generic checklist when the diff context is missing — ask instead
173
+
174
+ ## References
175
+
176
+ - **STRIDE threat model** — Microsoft Security Development Lifecycle, Shostack
177
+ *Threat Modeling: Designing for Security* (2014). Framing basis for the
178
+ Actors / Assets / Entry Points / Trust Boundaries / Abuse Cases rubric.
179
+ [learn.microsoft.com/en-us/security/engineering/threat-modeling-tool-threats](https://learn.microsoft.com/en-us/security/engineering/threat-modeling-tool-threats)
180
+ - **OWASP ASVS v4.0.3** — Authorization (V4), Validation & Encoding (V5),
181
+ Session Management (V3) — default baseline for "Missing control" entries.
182
+ [owasp.org/www-project-application-security-verification-standard/](https://owasp.org/www-project-application-security-verification-standard/)
183
+ - **OWASP Top 10 2021** — A01 Broken Access Control, A04 Insecure Design,
184
+ A05 Security Misconfiguration — cross-reference when naming abuse cases.
185
+ [owasp.org/Top10/](https://owasp.org/Top10/)
186
+ - [`authz-review`](../authz-review/SKILL.md),
187
+ [`data-exposure-review`](../data-exposure-review/SKILL.md),
188
+ [`security`](../security/SKILL.md),
189
+ [`security-audit`](../security-audit/SKILL.md) — sibling review / implementation skills.
@@ -0,0 +1,319 @@
1
+ ---
2
+ name: traefik
3
+ description: "Use when setting up Traefik as a local reverse proxy — real domains on 127.0.0.1, trusted HTTPS via mkcert, automatic service discovery, and multi-project routing."
4
+ source: package
5
+ ---
6
+
7
+ # Traefik Skill
8
+
9
+ ## When to use
10
+
11
+ Use this skill when:
12
+ - Setting up local development with real domain names and trusted HTTPS
13
+ - Configuring SSL certificates (self-signed, mkcert, ACME via Namecheap/AWS)
14
+ - Routing multiple Docker projects through a single reverse proxy
15
+ - Embedding external services (Grafana, etc.) that require HTTPS/same-origin
16
+
17
+ ## Procedure: Set up Traefik
18
+
19
+ ### 0. Understand current setup
20
+
21
+ Before changing routing:
22
+
23
+ 1. Check existing proxy — `docker ps | grep traefik`
24
+ 2. Review docker-compose for existing labels and network config
25
+ 3. Check `/etc/hosts` or dnsmasq for existing domain mappings
26
+
27
+ ### Architecture
28
+
29
+ Traefik acts as a **local reverse proxy** that:
30
+ 1. Resolves real domains (e.g., `local.example.dev`, `app.test`) to `127.0.0.1`
31
+ 2. Terminates HTTPS with trusted certificates
32
+ 3. Auto-discovers Docker services via labels (no manual config per service)
33
+ 4. Routes requests to the correct container based on hostname
34
+
35
+ ```
36
+ Browser → https://app.example.com
37
+ → DNS resolves to 127.0.0.1 (via /etc/hosts or dnsmasq)
38
+ → Traefik (port 443) picks up the request
39
+ → Routes to app container (based on Docker labels)
40
+ ```
41
+
42
+ ## DNS Resolution (domains → 127.0.0.1)
43
+
44
+ **Option A: `/etc/hosts` (simple, per-domain)**
45
+
46
+ ```
47
+ 127.0.0.1 local.example.dev
48
+ 127.0.0.1 grafana.local.example.dev
49
+ ```
50
+
51
+ **Option B: dnsmasq (wildcard, all subdomains — preferred)**
52
+
53
+ ```bash
54
+ brew install dnsmasq
55
+ echo 'address=/.local.example.dev/127.0.0.1' >> /opt/homebrew/etc/dnsmasq.conf
56
+ sudo brew services restart dnsmasq
57
+ sudo mkdir -p /etc/resolver
58
+ echo 'nameserver 127.0.0.1' | sudo tee /etc/resolver/local.example.dev
59
+ ```
60
+
61
+ ## Certificate Strategies
62
+
63
+ Choose based on project needs:
64
+
65
+ | Strategy | Tool | Trust | Use when |
66
+ |---|---|---|---|
67
+ | **Self-signed** | openssl | Manual trust via keychain | Quick local dev, no external deps |
68
+ | **mkcert** | mkcert | Auto-trusted local CA | Local dev, easiest setup |
69
+ | **ACME (Namecheap)** | lego + DNS-01 | Real CA (Let's Encrypt) | Real domain, Namecheap DNS |
70
+ | **ACME (AWS Route53)** | lego + DNS-01 | Real CA (Let's Encrypt) | Real domain, AWS DNS |
71
+
72
+ ### Self-signed (openssl)
73
+
74
+ ```bash
75
+ mkdir -p traefik/certificates
76
+ openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
77
+ -keyout traefik/certificates/_.${CERT_DOMAIN}.key \
78
+ -out traefik/certificates/_.${CERT_DOMAIN}.crt \
79
+ -subj "/CN=*.${CERT_DOMAIN}" \
80
+ -addext "subjectAltName=DNS:*.${CERT_DOMAIN},DNS:${CERT_DOMAIN}"
81
+
82
+ # Trust on macOS
83
+ sudo security add-trusted-cert -d -r trustRoot \
84
+ -k /Library/Keychains/System.keychain traefik/certificates/tls.crt
85
+ ```
86
+
87
+ ### mkcert (simplest for local dev)
88
+
89
+ ```bash
90
+ brew install mkcert && mkcert -install
91
+ mkcert "local.example.dev" "*.local.example.dev"
92
+ ```
93
+
94
+ ### ACME via Lego container (real certs)
95
+
96
+ ```yaml
97
+ # docker-compose.yml
98
+ lego:
99
+ image: goacme/lego:latest
100
+ profiles: [manual] # Only run on demand
101
+ volumes:
102
+ - ./traefik/certificates:/etc/lego
103
+ ```
104
+
105
+ ```bash
106
+ # Namecheap DNS-01
107
+ docker compose run --rm \
108
+ -e NAMECHEAP_API_USER -e NAMECHEAP_API_KEY \
109
+ lego --dns namecheap \
110
+ --domains "*.${CERT_DOMAIN}" --email "admin@${CERT_DOMAIN}" \
111
+ --path /etc/lego run
112
+
113
+ # AWS Route53 DNS-01
114
+ docker compose run --rm \
115
+ -e AWS_ACCESS_KEY_ID -e AWS_SECRET_ACCESS_KEY -e AWS_REGION \
116
+ lego --dns route53 \
117
+ --domains "*.${CERT_DOMAIN}" --email "admin@${CERT_DOMAIN}" \
118
+ --path /etc/lego run
119
+ ```
120
+
121
+ ### Taskfile integration for cert management
122
+
123
+ ```yaml
124
+ # certificates/generate.yml (included in main Taskfile)
125
+ tasks:
126
+ selfsigned:
127
+ desc: Generate self-signed certificate for ${CERT_DOMAIN}
128
+ cmds: [...]
129
+
130
+ namecheap:
131
+ desc: Generate ACME certificate via Namecheap DNS-01
132
+ cmds: [...]
133
+
134
+ aws:
135
+ desc: Generate ACME certificate via AWS Route53 DNS-01
136
+ cmds: [...]
137
+ ```
138
+
139
+ ```yaml
140
+ # Main Taskfile
141
+ trust:
142
+ desc: Add cert to macOS keychain
143
+ cmds:
144
+ - sudo security add-trusted-cert -d -r trustRoot \
145
+ -k /Library/Keychains/System.keychain traefik/certificates/tls.crt
146
+
147
+ untrust:
148
+ desc: Remove cert from macOS keychain
149
+ cmds:
150
+ - sudo security delete-certificate -c "*.${CERT_DOMAIN}" \
151
+ /Library/Keychains/System.keychain
152
+
153
+ cert:setup:
154
+ desc: Generate and trust self-signed certificate
155
+ deps: [generate:selfsigned, trust]
156
+ ```
157
+
158
+ ## Traefik Container
159
+
160
+ ```yaml
161
+ traefik:
162
+ image: traefik:v3.2 # or v2.11 for older setups
163
+ command:
164
+ - --providers.docker=true
165
+ - --providers.docker.exposedbydefault=false
166
+ - --providers.file.directory=/etc/traefik/dynamic
167
+ - --providers.file.watch=true
168
+ - --entrypoints.web.address=:80
169
+ - --entrypoints.websecure.address=:443
170
+ ports:
171
+ - "${TRAEFIK_HTTP_PORT:-80}:80"
172
+ - "${TRAEFIK_HTTPS_PORT:-443}:443"
173
+ volumes:
174
+ - /var/run/docker.sock:/var/run/docker.sock:ro
175
+ - ./traefik/dynamic:/etc/traefik/dynamic:ro
176
+ - ./traefik/certificates:/certs:ro
177
+ ```
178
+
179
+ ### TLS dynamic config
180
+
181
+ ```yaml
182
+ # traefik/dynamic/tls.yml
183
+ tls:
184
+ certificates:
185
+ - certFile: /certs/tls.crt
186
+ keyFile: /certs/tls.key
187
+ ```
188
+
189
+ ## Service Labels
190
+
191
+ ### Basic pattern (HTTP → HTTPS redirect + TLS)
192
+
193
+ ```yaml
194
+ my-service:
195
+ labels:
196
+ - "traefik.enable=true"
197
+ # HTTP router (redirect to HTTPS)
198
+ - "traefik.http.routers.myapp.rule=Host(`${CERT_HOST}`)"
199
+ - "traefik.http.routers.myapp.entrypoints=web"
200
+ - "traefik.http.routers.myapp.middlewares=myapp-https-redirect"
201
+ - "traefik.http.middlewares.myapp-https-redirect.redirectscheme.scheme=https"
202
+ - "traefik.http.middlewares.myapp-https-redirect.redirectscheme.port=${TRAEFIK_HTTPS_PORT}"
203
+ # HTTPS router
204
+ - "traefik.http.routers.myapp-secure.rule=Host(`${CERT_HOST}`)"
205
+ - "traefik.http.routers.myapp-secure.entrypoints=websecure"
206
+ - "traefik.http.routers.myapp-secure.tls=true"
207
+ - "traefik.http.services.myapp.loadbalancer.server.port=80"
208
+ ```
209
+
210
+ ### Subdomain routing
211
+
212
+ ```yaml
213
+ grafana:
214
+ labels:
215
+ - "traefik.enable=true"
216
+ - "traefik.http.routers.grafana-secure.rule=Host(`grafana.${CERT_HOST}`)"
217
+ - "traefik.http.routers.grafana-secure.entrypoints=websecure"
218
+ - "traefik.http.routers.grafana-secure.tls=true"
219
+ - "traefik.http.services.grafana.loadbalancer.server.port=3000"
220
+ ```
221
+
222
+ ### Path-based routing
223
+
224
+ ```yaml
225
+ horizon:
226
+ labels:
227
+ - "traefik.http.routers.horizon-secure.rule=Host(`${CERT_HOST}`) && PathPrefix(`/horizon`)"
228
+ ```
229
+
230
+ ## Integration Patterns
231
+
232
+ ### With NGINX
233
+
234
+ Traefik sits **in front of** NGINX — does NOT replace it:
235
+
236
+ ```
237
+ Traefik (443) → NGINX (80 internal) → PHP-FPM
238
+ ```
239
+
240
+ NGINX keeps: PHP-FPM routing, Xdebug header detection, static files.
241
+ Traefik adds: real domains, HTTPS, multi-service routing.
242
+
243
+ ### Standalone
244
+
245
+ Traefik routes directly to the app container:
246
+
247
+ ```
248
+ Traefik (443) → App container (80 internal)
249
+ ```
250
+
251
+ ### Multi-project (shared Traefik)
252
+
253
+ One Traefik instance routes to multiple projects via shared network:
254
+
255
+ ```yaml
256
+ networks:
257
+ traefik-public:
258
+ external: true # docker network create traefik-public
259
+ ```
260
+
261
+ ```
262
+ traefik
263
+ ├── local.example.dev → api-service
264
+ ├── grafana.local.example.dev → grafana
265
+ ├── other.local.example.dev → other-service
266
+ └── app.test → frontend
267
+ ```
268
+
269
+ ## Middleware Examples
270
+
271
+ ```yaml
272
+ # Rate limiting
273
+ - "traefik.http.middlewares.rate-limit.ratelimit.average=100"
274
+
275
+ # Basic auth
276
+ - "traefik.http.middlewares.auth.basicauth.users=admin:$$apr1$$..."
277
+
278
+ # CORS
279
+ - "traefik.http.middlewares.cors.headers.accesscontrolalloworiginlist=*"
280
+ ```
281
+
282
+ ## Related
283
+
284
+ - **Skill:** `docker` — Docker setup, compose services, container architecture
285
+ - **Skill:** `devcontainer` — DevContainer and Codespaces setup
286
+ - **Skill:** `grafana` — Grafana dashboards (benefits from HTTPS for embedding)
287
+ - **Skill:** `dashboard-design` — Grafana embedding requires same-origin/HTTPS
288
+ - **Rule:** `docker-commands.md` — all commands run inside Docker containers
289
+
290
+ ### Validate
291
+
292
+ - Verify Traefik dashboard is accessible and shows all expected services.
293
+ - Confirm HTTPS works with trusted certificates (no browser warnings).
294
+ - Check that each service has correct Docker labels for routing.
295
+ - Test DNS resolution: `curl -I https://your-domain.localhost` should return 200.
296
+
297
+ ## Output format
298
+
299
+ 1. Traefik configuration with routing rules and TLS setup
300
+ 2. Docker labels or dynamic config for service discovery
301
+
302
+ ## Gotcha
303
+
304
+ - Traefik requires Docker labels on each service — a missing label means the service isn't routed.
305
+ - mkcert certificates must be trusted by the OS — `mkcert -install` is a one-time setup step.
306
+ - The model forgets to add the Traefik network to docker-compose services — no network = no routing.
307
+
308
+ ## Do NOT
309
+
310
+ - Do NOT expose internal services without authentication.
311
+ - Do NOT use self-signed certificates when mkcert is available.
312
+
313
+ ## Auto-trigger keywords
314
+
315
+ - Traefik
316
+ - reverse proxy
317
+ - local domains
318
+ - HTTPS
319
+ - mkcert
@@ -0,0 +1,179 @@
1
+ ---
2
+ name: universal-project-analysis
3
+ description: "ONLY when user explicitly requests: full project analysis, deep codebase audit, or comprehensive architecture review. Routes to core and framework-specific analysis skills."
4
+ source: package
5
+ ---
6
+
7
+ # universal-project-analysis
8
+
9
+ ## When to use
10
+
11
+ Use this skill when:
12
+
13
+ * The user explicitly requests a full project analysis
14
+ * The user wants a deep codebase audit
15
+ * The user wants a comprehensive architecture review
16
+ * The system is large, unclear, or spans multiple layers
17
+ * `analysis-autonomous-mode` routes here for broad understanding
18
+
19
+ Do NOT use when:
20
+
21
+ * The task is normal feature work
22
+ * Only a small isolated code area needs review
23
+ * The issue is already narrow enough for a specialist skill
24
+ * A framework-specific analysis skill can be called directly
25
+
26
+ ## Mission
27
+
28
+ Act as the top-level router for deep project investigation.
29
+
30
+ This skill must:
31
+
32
+ * confirm whether full-project analysis is justified
33
+ * identify the stack and framework
34
+ * choose the correct analysis mode
35
+ * route to the right specialist analysis skills
36
+ * define the required output for broad project investigations
37
+
38
+ This skill must NOT become:
39
+
40
+ * a giant framework encyclopedia
41
+ * a shallow pointer-only file
42
+ * a replacement for framework-specific deep-dive skills
43
+
44
+ ## Core principles
45
+
46
+ 1. Never assume — verify against code, config, docs, and evidence
47
+ 2. Version dictates behavior
48
+ 3. Broad understanding comes before narrow conclusions
49
+ 4. Use framework-specific skills once the stack is known
50
+ 5. Use hypothesis-driven analysis when root cause is unclear
51
+ 6. Mark uncertainty explicitly
52
+
53
+ ## Thinking model
54
+
55
+ Always think in this order:
56
+
57
+ 1. Observe
58
+ 2. Understand
59
+ 3. Verify
60
+ 4. Route
61
+ 5. Investigate
62
+ 6. Conclude
63
+
64
+ ## Analysis modes
65
+
66
+ ### Exploration mode
67
+
68
+ Use when the system is unknown.
69
+ Goal: understand structure, identify major components, detect investigation paths, choose the next specialist skill.
70
+
71
+ ### Investigation mode
72
+
73
+ Use when there is a concrete issue inside a large or unclear system.
74
+ Goal: isolate the affected area, route into root-cause analysis, verify likely causes with evidence.
75
+
76
+ ### Optimization mode
77
+
78
+ Use when the system works but may be inefficient or over-complex.
79
+ Goal: identify hot paths, find expensive boundaries, route into architecture or performance specialists.
80
+
81
+ ## Procedure
82
+
83
+ ### 1. Confirm scope
84
+
85
+ Check whether full-project analysis is really needed.
86
+ Use this skill only if the user wants: broad system understanding, architecture reconstruction, deep multi-layer debugging, broad audit across modules or runtime boundaries.
87
+ If not: route to the narrower specialist skill directly.
88
+
89
+ ### 2. Discover the project
90
+
91
+ Identify: language, framework, runtime environment, package managers, major entrypoints, documentation locations.
92
+ Look at: package manifests, lock files, bootstrap files, Docker/CI config, README/AGENTS/docs.
93
+
94
+ ### 3. Choose the primary route
95
+
96
+ * unknown or mixed system → `project-analysis-core`
97
+ * concrete root-cause problem → `project-analysis-hypothesis-driven`
98
+ * Laravel → `project-analysis-laravel`
99
+ * Symfony → `project-analysis-symfony`
100
+ * Zend/Laminas → `project-analysis-zend-laminas`
101
+ * Node/Express → `project-analysis-node-express`
102
+ * React → `project-analysis-react`
103
+ * Next.js → `project-analysis-nextjs`
104
+
105
+ ### 4. Chain specialists where needed
106
+
107
+ * bottleneck found → `performance-analysis`
108
+ * security concern found → `security-audit`
109
+ * bug isolated → `bug-analyzer`
110
+
111
+ ### 5. Consolidate findings
112
+
113
+ Combine: system overview, framework-specific findings, verified risks, explicit uncertainties, next investigation steps.
114
+
115
+ ### 6. Validate analysis quality
116
+
117
+ Check:
118
+
119
+ * full-project analysis was actually justified
120
+ * framework detection is explicit
121
+ * chosen specialist skills match the discovered stack
122
+ * uncertainties are marked
123
+ * conclusions are evidence-based
124
+
125
+ ## Routing map
126
+
127
+ ### Universal analysis skills
128
+
129
+ * `project-analysis-core`
130
+ * `project-analysis-hypothesis-driven`
131
+
132
+ ### Framework-specific deep dives
133
+
134
+ * `project-analysis-laravel`
135
+ * `project-analysis-symfony`
136
+ * `project-analysis-zend-laminas`
137
+ * `project-analysis-node-express`
138
+ * `project-analysis-react`
139
+ * `project-analysis-nextjs`
140
+
141
+ ### Optional downstream specialists
142
+
143
+ * `bug-analyzer`
144
+ * `performance-analysis`
145
+ * `security-audit`
146
+
147
+ ## When to add a new framework analysis skill
148
+
149
+ A framework gets its own `project-analysis-*` skill ONLY if:
150
+
151
+ * it has its own lifecycle that creates unique debugging patterns
152
+ * it produces failure classes that `project-analysis-core` cannot explain
153
+ * debugging it requires framework-specific mental models (not just API knowledge)
154
+
155
+ Examples that qualify: Laravel, Symfony, Express, React, Next.js.
156
+ Examples that do NOT qualify: Tailwind, small utility libraries, CSS frameworks, simple state libs.
157
+
158
+ ## Output format
159
+
160
+ 1. Investigation summary
161
+ 2. Detected stack and framework
162
+ 3. Chosen analysis mode
163
+ 4. Routed specialist skills
164
+ 5. Consolidated findings
165
+ 6. Risks and next steps
166
+
167
+ ## Gotcha
168
+
169
+ * This skill must remain a real orchestration skill.
170
+ * Do not move long framework-specific deep dives back into this file.
171
+ * Do not let this skill become a generic "analyze everything" bucket.
172
+
173
+ ## Do NOT
174
+
175
+ * Do NOT analyze everything here directly if a specialist skill exists
176
+ * Do NOT skip framework detection
177
+ * Do NOT present broad guesses as conclusions
178
+ * Do NOT turn this into a shallow pointer-only file
179
+ * Do NOT duplicate framework-specific deep-dive content here