@event4u/agent-config 1.33.0 → 1.34.0

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 (200) hide show
  1. package/.agent-src/commands/review-changes.md +13 -8
  2. package/.agent-src/personas/README.md +12 -21
  3. package/.agent-src/personas/_template-specialist/persona.md +89 -0
  4. package/.agent-src/personas/backend-architect.md +96 -0
  5. package/.agent-src/personas/eloquent-tamer.md +96 -0
  6. package/.agent-src/personas/frontend-engineer.md +100 -0
  7. package/.agent-src/personas/qa.md +27 -2
  8. package/.agent-src/personas/security-engineer.md +100 -0
  9. package/.agent-src/skills/accessibility-auditor/SKILL.md +132 -0
  10. package/.agent-src/skills/adr-create/SKILL.md +1 -0
  11. package/.agent-src/skills/adversarial-review/SKILL.md +1 -0
  12. package/.agent-src/skills/agent-docs-writing/SKILL.md +1 -0
  13. package/.agent-src/skills/agents-md-thin-root/SKILL.md +1 -0
  14. package/.agent-src/skills/ai-council/SKILL.md +1 -0
  15. package/.agent-src/skills/analysis-autonomous-mode/SKILL.md +1 -0
  16. package/.agent-src/skills/analysis-skill-router/SKILL.md +1 -0
  17. package/.agent-src/skills/api-design/SKILL.md +3 -0
  18. package/.agent-src/skills/api-endpoint/SKILL.md +1 -0
  19. package/.agent-src/skills/api-testing/SKILL.md +1 -0
  20. package/.agent-src/skills/architecture-review-lens/SKILL.md +137 -0
  21. package/.agent-src/skills/artisan-commands/SKILL.md +1 -0
  22. package/.agent-src/skills/async-python-patterns/SKILL.md +1 -0
  23. package/.agent-src/skills/authz-review/SKILL.md +4 -0
  24. package/.agent-src/skills/aws-infrastructure/SKILL.md +1 -0
  25. package/.agent-src/skills/blade-ui/SKILL.md +1 -0
  26. package/.agent-src/skills/blast-radius-analyzer/SKILL.md +3 -0
  27. package/.agent-src/skills/bug-analyzer/SKILL.md +1 -0
  28. package/.agent-src/skills/check-refs/SKILL.md +1 -0
  29. package/.agent-src/skills/code-refactoring/SKILL.md +1 -0
  30. package/.agent-src/skills/code-review/SKILL.md +1 -0
  31. package/.agent-src/skills/command-routing/SKILL.md +1 -0
  32. package/.agent-src/skills/command-writing/SKILL.md +1 -0
  33. package/.agent-src/skills/composer-packages/SKILL.md +1 -0
  34. package/.agent-src/skills/context-authoring/SKILL.md +1 -0
  35. package/.agent-src/skills/context-document/SKILL.md +1 -0
  36. package/.agent-src/skills/conventional-commits-writing/SKILL.md +1 -0
  37. package/.agent-src/skills/copilot-agents-optimization/SKILL.md +1 -0
  38. package/.agent-src/skills/copilot-config/SKILL.md +1 -0
  39. package/.agent-src/skills/dashboard-design/SKILL.md +1 -0
  40. package/.agent-src/skills/data-flow-mapper/SKILL.md +1 -0
  41. package/.agent-src/skills/database/SKILL.md +3 -0
  42. package/.agent-src/skills/dcf-modeling/SKILL.md +1 -0
  43. package/.agent-src/skills/decision-record/SKILL.md +143 -0
  44. package/.agent-src/skills/deep-reading-analyst/SKILL.md +1 -0
  45. package/.agent-src/skills/defense-in-depth/SKILL.md +1 -0
  46. package/.agent-src/skills/dependency-upgrade/SKILL.md +1 -0
  47. package/.agent-src/skills/description-assist/SKILL.md +1 -0
  48. package/.agent-src/skills/design-review/SKILL.md +1 -0
  49. package/.agent-src/skills/devcontainer/SKILL.md +1 -0
  50. package/.agent-src/skills/developer-like-execution/SKILL.md +1 -0
  51. package/.agent-src/skills/docker/SKILL.md +1 -0
  52. package/.agent-src/skills/dto-creator/SKILL.md +1 -0
  53. package/.agent-src/skills/eloquent/SKILL.md +3 -0
  54. package/.agent-src/skills/error-handling-patterns/SKILL.md +1 -0
  55. package/.agent-src/skills/estimate-ticket/SKILL.md +1 -0
  56. package/.agent-src/skills/existing-ui-audit/SKILL.md +3 -0
  57. package/.agent-src/skills/fe-design/SKILL.md +4 -1
  58. package/.agent-src/skills/feature-planning/SKILL.md +1 -0
  59. package/.agent-src/skills/file-editor/SKILL.md +1 -0
  60. package/.agent-src/skills/finishing-a-development-branch/SKILL.md +1 -0
  61. package/.agent-src/skills/flux/SKILL.md +1 -0
  62. package/.agent-src/skills/form-handler/SKILL.md +145 -0
  63. package/.agent-src/skills/funnel-analysis/SKILL.md +1 -0
  64. package/.agent-src/skills/git-workflow/SKILL.md +1 -0
  65. package/.agent-src/skills/github-ci/SKILL.md +1 -0
  66. package/.agent-src/skills/grafana/SKILL.md +1 -0
  67. package/.agent-src/skills/guideline-writing/SKILL.md +1 -0
  68. package/.agent-src/skills/incident-commander/SKILL.md +140 -0
  69. package/.agent-src/skills/jira-integration/SKILL.md +1 -0
  70. package/.agent-src/skills/jobs-events/SKILL.md +1 -0
  71. package/.agent-src/skills/judge-bug-hunter/SKILL.md +1 -0
  72. package/.agent-src/skills/judge-code-quality/SKILL.md +1 -0
  73. package/.agent-src/skills/judge-security-auditor/SKILL.md +3 -0
  74. package/.agent-src/skills/judge-test-coverage/SKILL.md +1 -0
  75. package/.agent-src/skills/laravel/SKILL.md +1 -0
  76. package/.agent-src/skills/laravel-horizon/SKILL.md +1 -0
  77. package/.agent-src/skills/laravel-mail/SKILL.md +1 -0
  78. package/.agent-src/skills/laravel-middleware/SKILL.md +1 -0
  79. package/.agent-src/skills/laravel-notifications/SKILL.md +1 -0
  80. package/.agent-src/skills/laravel-pennant/SKILL.md +1 -0
  81. package/.agent-src/skills/laravel-pulse/SKILL.md +1 -0
  82. package/.agent-src/skills/laravel-reverb/SKILL.md +1 -0
  83. package/.agent-src/skills/laravel-scheduling/SKILL.md +1 -0
  84. package/.agent-src/skills/laravel-validation/SKILL.md +1 -0
  85. package/.agent-src/skills/learning-to-rule-or-skill/SKILL.md +1 -0
  86. package/.agent-src/skills/lint-skills/SKILL.md +1 -0
  87. package/.agent-src/skills/livewire/SKILL.md +1 -0
  88. package/.agent-src/skills/livewire-architect/SKILL.md +158 -0
  89. package/.agent-src/skills/logging-monitoring/SKILL.md +1 -0
  90. package/.agent-src/skills/markitdown/SKILL.md +1 -0
  91. package/.agent-src/skills/mcp/SKILL.md +1 -0
  92. package/.agent-src/skills/mcp-builder/SKILL.md +1 -0
  93. package/.agent-src/skills/md-language-check/SKILL.md +1 -0
  94. package/.agent-src/skills/merge-conflicts/SKILL.md +1 -0
  95. package/.agent-src/skills/migration-architect/SKILL.md +119 -0
  96. package/.agent-src/skills/migration-creator/SKILL.md +1 -0
  97. package/.agent-src/skills/mobile-e2e-strategy/SKILL.md +2 -1
  98. package/.agent-src/skills/module-management/SKILL.md +1 -0
  99. package/.agent-src/skills/multi-tenancy/SKILL.md +1 -0
  100. package/.agent-src/skills/okr-tree-modeling/SKILL.md +1 -0
  101. package/.agent-src/skills/openapi/SKILL.md +1 -0
  102. package/.agent-src/skills/override-management/SKILL.md +1 -0
  103. package/.agent-src/skills/performance/SKILL.md +1 -0
  104. package/.agent-src/skills/performance-analysis/SKILL.md +1 -0
  105. package/.agent-src/skills/persona-writing/SKILL.md +1 -0
  106. package/.agent-src/skills/pest-testing/SKILL.md +1 -0
  107. package/.agent-src/skills/php-coder/SKILL.md +1 -0
  108. package/.agent-src/skills/php-debugging/SKILL.md +1 -0
  109. package/.agent-src/skills/php-service/SKILL.md +1 -0
  110. package/.agent-src/skills/playwright-architect/SKILL.md +141 -0
  111. package/.agent-src/skills/playwright-testing/SKILL.md +1 -0
  112. package/.agent-src/skills/po-discovery/SKILL.md +127 -0
  113. package/.agent-src/skills/project-analysis-core/SKILL.md +1 -0
  114. package/.agent-src/skills/project-analysis-hypothesis-driven/SKILL.md +1 -0
  115. package/.agent-src/skills/project-analysis-laravel/SKILL.md +1 -0
  116. package/.agent-src/skills/project-analysis-nextjs/SKILL.md +1 -0
  117. package/.agent-src/skills/project-analysis-node-express/SKILL.md +1 -0
  118. package/.agent-src/skills/project-analysis-react/SKILL.md +1 -0
  119. package/.agent-src/skills/project-analysis-symfony/SKILL.md +1 -0
  120. package/.agent-src/skills/project-analysis-zend-laminas/SKILL.md +1 -0
  121. package/.agent-src/skills/project-analyzer/SKILL.md +1 -0
  122. package/.agent-src/skills/project-docs/SKILL.md +1 -0
  123. package/.agent-src/skills/prompt-engineering-patterns/SKILL.md +1 -0
  124. package/.agent-src/skills/prompt-optimizer/SKILL.md +1 -0
  125. package/.agent-src/skills/quality-tools/SKILL.md +1 -0
  126. package/.agent-src/skills/react-native-setup/SKILL.md +1 -0
  127. package/.agent-src/skills/react-shadcn-ui/SKILL.md +1 -0
  128. package/.agent-src/skills/readme-reviewer/SKILL.md +1 -0
  129. package/.agent-src/skills/readme-writing/SKILL.md +1 -0
  130. package/.agent-src/skills/readme-writing-package/SKILL.md +1 -0
  131. package/.agent-src/skills/receiving-code-review/SKILL.md +1 -0
  132. package/.agent-src/skills/refine-prompt/SKILL.md +1 -0
  133. package/.agent-src/skills/refine-ticket/SKILL.md +1 -0
  134. package/.agent-src/skills/repomix-packer/SKILL.md +1 -0
  135. package/.agent-src/skills/requesting-code-review/SKILL.md +1 -0
  136. package/.agent-src/skills/review-routing/SKILL.md +1 -0
  137. package/.agent-src/skills/rice-prioritization/SKILL.md +1 -0
  138. package/.agent-src/skills/risk-officer/SKILL.md +141 -0
  139. package/.agent-src/skills/roadmap-management/SKILL.md +1 -0
  140. package/.agent-src/skills/roadmap-writing/SKILL.md +1 -0
  141. package/.agent-src/skills/rtk-output-filtering/SKILL.md +1 -0
  142. package/.agent-src/skills/rule-writing/SKILL.md +1 -0
  143. package/.agent-src/skills/script-writing/SKILL.md +1 -0
  144. package/.agent-src/skills/secrets-management/SKILL.md +1 -0
  145. package/.agent-src/skills/security/SKILL.md +1 -0
  146. package/.agent-src/skills/security-audit/SKILL.md +1 -0
  147. package/.agent-src/skills/sentry-integration/SKILL.md +1 -0
  148. package/.agent-src/skills/sequential-thinking/SKILL.md +1 -0
  149. package/.agent-src/skills/skill-improvement-pipeline/SKILL.md +1 -0
  150. package/.agent-src/skills/skill-management/SKILL.md +1 -0
  151. package/.agent-src/skills/skill-reviewer/SKILL.md +1 -0
  152. package/.agent-src/skills/skill-writing/SKILL.md +1 -0
  153. package/.agent-src/skills/sql-writing/SKILL.md +1 -0
  154. package/.agent-src/skills/stakeholder-tradeoff/SKILL.md +149 -0
  155. package/.agent-src/skills/subagent-orchestration/SKILL.md +13 -0
  156. package/.agent-src/skills/systematic-debugging/SKILL.md +1 -0
  157. package/.agent-src/skills/tailwind-engineer/SKILL.md +130 -0
  158. package/.agent-src/skills/tech-debt-tracker/SKILL.md +152 -0
  159. package/.agent-src/skills/technical-specification/SKILL.md +1 -0
  160. package/.agent-src/skills/terraform/SKILL.md +1 -0
  161. package/.agent-src/skills/terragrunt/SKILL.md +1 -0
  162. package/.agent-src/skills/test-driven-development/SKILL.md +1 -0
  163. package/.agent-src/skills/test-performance/SKILL.md +1 -0
  164. package/.agent-src/skills/testing-anti-patterns/SKILL.md +1 -0
  165. package/.agent-src/skills/threat-modeling/SKILL.md +3 -0
  166. package/.agent-src/skills/token-optimizer/SKILL.md +1 -0
  167. package/.agent-src/skills/traefik/SKILL.md +1 -0
  168. package/.agent-src/skills/ui-component-architect/SKILL.md +153 -0
  169. package/.agent-src/skills/unit-economics-modeling/SKILL.md +1 -0
  170. package/.agent-src/skills/universal-project-analysis/SKILL.md +1 -0
  171. package/.agent-src/skills/upstream-contribute/SKILL.md +1 -0
  172. package/.agent-src/skills/using-git-worktrees/SKILL.md +1 -0
  173. package/.agent-src/skills/validate-feature-fit/SKILL.md +1 -0
  174. package/.agent-src/skills/verify-completion-evidence/SKILL.md +1 -0
  175. package/.agent-src/skills/websocket/SKILL.md +1 -0
  176. package/.claude-plugin/marketplace.json +15 -1
  177. package/AGENTS.md +1 -0
  178. package/CHANGELOG.md +41 -0
  179. package/README.md +2 -2
  180. package/docs/architecture.md +1 -1
  181. package/docs/catalog.md +17 -3
  182. package/docs/contracts/file-ownership-matrix.json +506 -0
  183. package/docs/contracts/persona-schema.md +136 -0
  184. package/docs/contracts/skill-domains.md +143 -0
  185. package/docs/decisions/ADR-005-subagent-worktrees.md +120 -0
  186. package/docs/decisions/ADR-006-skill-tools-python-pilot.md +114 -0
  187. package/docs/decisions/INDEX.md +3 -0
  188. package/docs/personas.md +115 -0
  189. package/package.json +1 -1
  190. package/scripts/_backfill_skill_domains.py +140 -0
  191. package/scripts/_emit_domain_table.py +35 -0
  192. package/scripts/install-hooks.sh +21 -4
  193. package/scripts/lint_skill_tools.py +168 -0
  194. package/scripts/schemas/skill.schema.json +6 -1
  195. package/scripts/skill_linter.py +19 -4
  196. package/scripts/skill_tools/__init__.py +22 -0
  197. package/scripts/skill_tools/audit_persona_coverage.py +147 -0
  198. package/scripts/skill_tools/run_block_d_eval.py +129 -0
  199. package/scripts/skill_tools/score_skill_relevance.py +169 -0
  200. package/scripts/skill_tools/suggest_skill_for_task.py +113 -0
@@ -0,0 +1,132 @@
1
+ ---
2
+ name: accessibility-auditor
3
+ description: "Use when reviewing UI for accessibility — WCAG 2.2 AA, keyboard nav, focus, ARIA, contrast, screen-reader semantics — even on 'is this a11y-OK?' or 'mach das barrierefrei'."
4
+ personas:
5
+ - frontend-engineer
6
+ source: package
7
+ domain: quality
8
+ ---
9
+
10
+ # accessibility-auditor
11
+
12
+ > Audit a UI surface against WCAG 2.2 AA, keyboard-only operation,
13
+ > and screen-reader semantics. Output is a verdict with cited
14
+ > failures, not a vibes check. Pair with
15
+ > [`tailwind-engineer`](../tailwind-engineer/SKILL.md) for token-level
16
+ > contrast fixes and [`ui-component-architect`](../ui-component-architect/SKILL.md)
17
+ > for structural fixes (landmarks, heading order).
18
+
19
+ ## When to use
20
+
21
+ - A new screen, component, or form lands and a11y has not been
22
+ reviewed yet.
23
+ - A bug report mentions keyboard, screen reader, focus order,
24
+ contrast, or "user can't reach the X button".
25
+ - A modal, dropdown, popover, tab strip, or tree view is being
26
+ introduced — these are the highest-yield bug zones.
27
+ - German triggers: "barrierefrei prüfen", "Tastatur-Bedienung",
28
+ "Screenreader testen".
29
+
30
+ Do NOT use when:
31
+
32
+ - The visual design itself is the question (palette, type scale) —
33
+ route to [`fe-design`](../fe-design/SKILL.md).
34
+ - The diff has no UI surface — accessibility audits without a UI are
35
+ speculation.
36
+ - A specific component spec is missing entirely — get the component
37
+ built first via the stack-specific skill, then audit.
38
+
39
+ ## Procedure
40
+
41
+ ### 1. Identify the interaction surfaces
42
+
43
+ List every interactive element on the screen: links, buttons,
44
+ inputs, custom widgets (combobox, tab, dialog, tree). Each row
45
+ gets a verdict in step 5; missing one is a coverage failure.
46
+
47
+ ### 2. Walk the four checklists
48
+
49
+ **Perceivable** — text alternatives for non-text (`alt`, `aria-label`),
50
+ contrast ≥ 4.5:1 for body / 3:1 for large or UI components, no
51
+ colour-only state ("error in red" must also be iconic or text).
52
+
53
+ **Operable** — every interactive element reachable by `Tab`, focus
54
+ order matches visual order, focus indicator visible (≥ 3:1 against
55
+ adjacent), `Esc` closes overlays, no keyboard traps.
56
+
57
+ **Understandable** — labels associated (`label[for]` or wrapping),
58
+ errors named in text (not just border colour), language attribute
59
+ on `<html>`, predictable navigation across pages.
60
+
61
+ **Robust** — landmarks present (`<header>`, `<nav>`, `<main>`,
62
+ `<footer>`), heading order without skips, ARIA only when no native
63
+ element exists, custom widgets follow ARIA-APG patterns.
64
+
65
+ ### 3. Run the keyboard pass
66
+
67
+ `Tab` from page start: every interactive element receives focus,
68
+ in visual order, with a visible indicator. `Shift-Tab` reverses
69
+ cleanly. `Enter` / `Space` activate per role. Arrow keys work in
70
+ composite widgets (tab strip, listbox, menu). `Esc` dismisses the
71
+ top-most overlay only.
72
+
73
+ ### 4. Run the screen-reader pass
74
+
75
+ Use VoiceOver (macOS), NVDA (Windows), or `aria-live` log
76
+ inspection. Each surface announces: role, name, state, value,
77
+ description (in that order). State changes (loading, expanded,
78
+ selected, error) announce. Decorative images are silent.
79
+
80
+ ### 5. Score and report
81
+
82
+ For each surface from step 1:
83
+
84
+ | Surface | WCAG SC | Pass / Fail | Evidence |
85
+ |---|---|---|---|
86
+ | Submit button | 1.4.3 | Fail | contrast 3.1:1, expected 4.5:1 |
87
+ | Modal | 2.1.2 | Fail | Tab leaves modal — focus trap missing |
88
+
89
+ Verdict at the bottom: **AA-pass** (zero fails), **AA-pass-with-risk**
90
+ (non-blocking gaps + plan), or **AA-fail** (blocking — fix before
91
+ ship).
92
+
93
+ ## Output format
94
+
95
+ ```
96
+ Scope: <screen / component / route>
97
+ Surfaces: <count from step 1>
98
+ Tools used: <axe-core | manual | VoiceOver | NVDA — pick at least 2>
99
+
100
+ Findings:
101
+ 1. <SC> <Pass/Fail> <Evidence + file:line if known>
102
+ 2. ...
103
+
104
+ Verdict: <AA-pass | AA-pass-with-risk | AA-fail>
105
+ Top 3 fixes: <ordered by user impact>
106
+ ```
107
+
108
+ ## Gotcha
109
+
110
+ - `aria-label` on a `<button>` overrides its text content for
111
+ screen readers — only use when the visible text is not
112
+ descriptive (icon-only buttons).
113
+ - `tabindex="-1"` removes from tab order *and* allows programmatic
114
+ focus; `tabindex="0"` adds to tab order. `tabindex >= 1` is
115
+ almost always wrong — fix the source order.
116
+ - Native `<button>` and `<a>` come with role + keyboard for free;
117
+ reaching for `role="button"` on a `<div>` is a regression.
118
+ - Contrast on disabled state has no WCAG threshold — but if the
119
+ user cannot tell it is disabled, that is a 1.4.1 failure on
120
+ state cue.
121
+
122
+ ## Do NOT
123
+
124
+ - Do NOT declare AA-pass without a keyboard-only pass; an axe-core
125
+ green is necessary, not sufficient.
126
+ - Do NOT add ARIA "to be safe" — wrong ARIA is worse than no ARIA.
127
+ Native semantics first.
128
+ - Do NOT silence the audit on "internal-only tool" or "small user
129
+ base"; legal exposure does not scale with audience size in most
130
+ jurisdictions.
131
+ - Do NOT close a finding by adjusting the test instead of the UI;
132
+ the user's experience is the ground truth, not the test report.
@@ -2,6 +2,7 @@
2
2
  name: adr-create
3
3
  description: "Use when capturing an architectural decision — naming the file, picking the next ADR number, filling Status / Context / Decision / Consequences, and regenerating the index — even without saying 'ADR'."
4
4
  source: package
5
+ domain: process
5
6
  execution:
6
7
  type: assisted
7
8
  handler: shell
@@ -4,6 +4,7 @@ description: "ONLY when user explicitly requests adversarial review, devil's adv
4
4
  personas:
5
5
  - critical-challenger
6
6
  source: package
7
+ domain: quality
7
8
  council_depth: deep
8
9
  ---
9
10
 
@@ -2,6 +2,7 @@
2
2
  name: agent-docs-writing
3
3
  description: "Use when reading, creating, or updating agent documentation, module docs, roadmaps, or AGENTS.md. Understands the full .augment/, agents/, and copilot-instructions structure."
4
4
  source: package
5
+ domain: process
5
6
  ---
6
7
 
7
8
  # agent-docs
@@ -2,6 +2,7 @@
2
2
  name: agents-md-thin-root
3
3
  description: "Use when editing AGENTS.md (package root) or templates/AGENTS.md (consumer) — enforces Thin-Root contract: hard char ceilings, ≥40% pointer ratio, mandatory emergency-triage block."
4
4
  source: package
5
+ domain: process
5
6
  execution:
6
7
  type: assisted
7
8
  handler: internal
@@ -2,6 +2,7 @@
2
2
  name: ai-council
3
3
  description: "Use when polling external AIs (OpenAI, Anthropic) outside the host session for a neutral second opinion on a roadmap, diff, prompt, or file set — or 'cross-check with another model'."
4
4
  source: package
5
+ domain: process
5
6
  ---
6
7
 
7
8
  > **Experimental.** AI Council is not yet validated by external users. API costs apply per consultation.
@@ -2,6 +2,7 @@
2
2
  name: analysis-autonomous-mode
3
3
  description: "ONLY when user explicitly requests autonomous analysis, deep investigation, multi-step research, or 'dig into this end-to-end without asking me each step' — NOT for normal feature work."
4
4
  source: package
5
+ domain: discovery
5
6
  ---
6
7
 
7
8
  # analysis-autonomous-mode
@@ -2,6 +2,7 @@
2
2
  name: analysis-skill-router
3
3
  description: "Use when picking which analysis or project-analysis-* skill fits a request — routes by scope, framework, and symptom — even if the user just says 'analyze this' or 'dig into the codebase'."
4
4
  source: package
5
+ domain: discovery
5
6
  ---
6
7
 
7
8
  # analysis-skill-router
@@ -1,7 +1,10 @@
1
1
  ---
2
2
  name: api-design
3
3
  description: "Use when designing APIs, planning endpoints, REST conventions, versioning, or deprecation — even when the user just says 'expose this as an endpoint' without naming API design."
4
+ personas:
5
+ - backend-architect
4
6
  source: package
7
+ domain: engineering
5
8
  ---
6
9
 
7
10
  # api-design
@@ -2,6 +2,7 @@
2
2
  name: api-endpoint
3
3
  description: "Use when the user says "create endpoint", "new API route", or "add controller". Creates a complete endpoint with Controller, FormRequest, Resource, route, and OpenAPI docs."
4
4
  source: package
5
+ domain: engineering
5
6
  ---
6
7
 
7
8
  # api-endpoint
@@ -2,6 +2,7 @@
2
2
  name: api-testing
3
3
  description: "Use when writing API endpoint tests — integration tests, contract validation, response assertions, mocked external services — even when the user says 'test this route' without naming API testing."
4
4
  source: package
5
+ domain: quality
5
6
  ---
6
7
 
7
8
  # api-testing
@@ -0,0 +1,137 @@
1
+ ---
2
+ name: architecture-review-lens
3
+ description: "Use when a diff may break system boundaries, dependency direction, or cross-service contracts — fifth judge dispatched by /review-changes alongside the four standard judges."
4
+ personas:
5
+ - backend-architect
6
+ - senior-engineer
7
+ source: package
8
+ domain: quality
9
+ ---
10
+
11
+ # architecture-review-lens
12
+
13
+ > Fifth judge in the `/review-changes` family. Reviews a diff for
14
+ > **architectural fit**, not correctness, security, tests, or style.
15
+ > Catches what the other four miss: layer violations, wrong
16
+ > dependency direction, leaking abstractions, and broken cross-service
17
+ > contracts. Sibling of [`judge-bug-hunter`](../judge-bug-hunter/SKILL.md)
18
+ > et al. — never overlaps.
19
+
20
+ ## When to use
21
+
22
+ - `/review-changes` dispatches its "architecture" slice to this skill.
23
+ - A reviewer asks "does this belong here?", "should this be in
24
+ the domain layer?", or "is this leaking storage details?".
25
+ - A diff adds a cross-service call, event, or contract.
26
+
27
+ Do NOT use when:
28
+
29
+ - The diff is documentation-only or a formatting-only change.
30
+ - The concern is correctness — route to
31
+ [`judge-bug-hunter`](../judge-bug-hunter/SKILL.md).
32
+ - The concern is security — route to
33
+ [`judge-security-auditor`](../judge-security-auditor/SKILL.md).
34
+ - The concern is naming or DRY — route to
35
+ [`judge-code-quality`](../judge-code-quality/SKILL.md).
36
+ - The concern is *whether to make* the architectural change — route
37
+ to [`decision-record`](../decision-record/SKILL.md) first.
38
+
39
+ ## Procedure
40
+
41
+ ### 1. Anchor on the system shape
42
+
43
+ Read the codebase's stated architecture (ADRs, AGENTS.md, module
44
+ docs). If no shape is documented, infer it from folder structure
45
+ and surface the gap. You are judging the diff against **the stated
46
+ shape**, not a fantasy ideal.
47
+
48
+ ### 2. Inspect each changed file for fit
49
+
50
+ For every changed file, answer:
51
+
52
+ | Question | Smell when "no" |
53
+ |---|---|
54
+ | Does this file live in the right layer? | Layer violation |
55
+ | Are imports flowing in the allowed direction? | Inverted dependency |
56
+ | Does this leak a storage / framework detail? | Leaky abstraction |
57
+ | Is the public API of the module still the same? | Contract drift |
58
+ | Does a cross-service call respect its contract? | Contract break |
59
+
60
+ Each smell is a finding with a file:line citation.
61
+
62
+ ### 3. Check the seams
63
+
64
+ Pay special attention to:
65
+
66
+ - New public methods on existing classes.
67
+ - New imports that cross module boundaries.
68
+ - New events, queue messages, or HTTP calls.
69
+ - Removed deprecation warnings or feature flags.
70
+
71
+ Cross-module / cross-service additions are the highest-leverage
72
+ findings — surface them even at low individual severity.
73
+
74
+ ### 4. Issue a verdict per the judge contract
75
+
76
+ | Verdict | When |
77
+ |---|---|
78
+ | `apply` | No architectural concerns; diff fits the stated shape |
79
+ | `revise` | Findings exist; diff lands after the listed fixes |
80
+ | `reject` | Architectural shape itself must be reconsidered (rare) |
81
+
82
+ `reject` requires citing which ADR or stated shape would need to
83
+ change — never reject for taste.
84
+
85
+ ### 5. Validate the verdict
86
+
87
+ Verify before emitting: every finding has a `file:line` citation and
88
+ a smell label from the taxonomy; the verdict matches the worst
89
+ finding (`revise` if any finding exists, `apply` only when none);
90
+ `reject` cites the ADR or stated shape that would need to change.
91
+ Ensure no finding restates a concern owned by another judge.
92
+
93
+ ## Output format
94
+
95
+ The verdict block carries these ordered fields:
96
+
97
+ 1. `Judge:` — fixed value `architecture-review-lens`
98
+ 2. `Model:` and `Target:` — model id from `.agent-settings.yml` and diff range
99
+ 3. `Verdict:` — exactly one of `apply` / `revise` / `reject`
100
+ 4. `Issues:` — numbered list, each with `file:line`, smell label, suggested fix
101
+
102
+ ```
103
+ Judge: architecture-review-lens
104
+ Model: <model id from .agent-settings.yml>
105
+ Target: <branch / diff range>
106
+
107
+ Verdict: apply | revise | reject
108
+
109
+ Issues:
110
+ 1. 🔴 <finding> file:line
111
+ Smell: layer-violation | inverted-dep | leak | contract-drift | contract-break
112
+ Suggested fix: <one sentence>
113
+ 2. 🟡 ...
114
+ 3. 🟢 ...
115
+ ```
116
+
117
+ ## Gotcha
118
+
119
+ - The stated shape may be wrong. If the diff has a sound reason to
120
+ break it, do NOT raise a finding — recommend an ADR via
121
+ `decision-record` and approve the diff.
122
+ - "Could be split into more files" is style, not architecture; route
123
+ to `judge-code-quality`.
124
+ - A finding with no file:line citation is a vibe; reject your own
125
+ finding before issuing it.
126
+
127
+ ## Do NOT
128
+
129
+ - Do NOT review correctness, security, tests, or style — those are
130
+ other judges.
131
+ - Do NOT issue `reject` without naming the ADR or stated shape that
132
+ would need to change.
133
+ - Do NOT raise findings against the *current* architecture if the
134
+ diff did not introduce them; this is a diff-judge, not a
135
+ codebase-audit.
136
+ - Do NOT merge findings with another judge's output — the user needs
137
+ to see which lens raised each one.
@@ -2,6 +2,7 @@
2
2
  name: artisan-commands
3
3
  description: "Use when creating or modifying Artisan commands. Covers clear signatures, safe execution flow, helpful output, and project conventions for console tooling."
4
4
  source: package
5
+ domain: engineering
5
6
  ---
6
7
 
7
8
  # artisan-commands
@@ -2,6 +2,7 @@
2
2
  name: async-python-patterns
3
3
  description: "Use when writing Python asyncio code — picking between gather / TaskGroup / wait, structured concurrency, timeouts, cancellation, sync-bridging — decision framework only, cookbook externalized."
4
4
  source: package
5
+ domain: engineering
5
6
  status: active
6
7
  refresh_trigger: "Python ships a new structured-concurrency primitive (post-TaskGroup), OR ≥30% of cited upstream cookbook examples become deprecated, OR the cited libraries (aiohttp, httpx, anyio, trio) cut a major version with breaking async surface changes."
7
8
  sunset_criterion: "When `https://docs.python.org/3/library/asyncio.html` ships an in-tree decision framework AND consumer projects no longer cite this skill in PR reviews for two consecutive review cycles."
@@ -1,7 +1,11 @@
1
1
  ---
2
2
  name: authz-review
3
3
  description: "Use when reviewing authorization end-to-end — route → gate → policy → query scope → response filter — before changes to permissions, tenants, ownership, or admin flows."
4
+ personas:
5
+ - security-engineer
6
+ - backend-architect
4
7
  source: package
8
+ domain: quality
5
9
  ---
6
10
 
7
11
  # authz-review
@@ -2,6 +2,7 @@
2
2
  name: aws-infrastructure
3
3
  description: "Use when working with AWS resources — ECS Fargate, ECR, EFS, Secrets Manager, gomplate templates, multi-env deployments — even when the user says 'deploy to staging' without naming AWS."
4
4
  source: package
5
+ domain: devops
5
6
  ---
6
7
 
7
8
  # aws-infrastructure
@@ -2,6 +2,7 @@
2
2
  name: blade-ui
3
3
  description: "Use when the project's frontend stack is Blade — dispatched by `directives/ui/{apply,review,polish}.py`. Covers views, components, partials, layouts, and view logic."
4
4
  source: package
5
+ domain: engineering
5
6
  ---
6
7
 
7
8
  # blade-ui
@@ -1,7 +1,10 @@
1
1
  ---
2
2
  name: blast-radius-analyzer
3
3
  description: "Use BEFORE editing shared code — enumerates every call site, event consumer, queue worker, API client, migration, and test that a planned change will touch, with a file:line citation per dependency."
4
+ personas:
5
+ - backend-architect
4
6
  source: package
7
+ domain: discovery
5
8
  ---
6
9
 
7
10
  # blast-radius-analyzer
@@ -2,6 +2,7 @@
2
2
  name: bug-analyzer
3
3
  description: "Use when the user shares a Sentry error, Jira bug ticket, or error description and wants root cause analysis. Also for proactive bug hunting and code audits for hidden bugs."
4
4
  source: package
5
+ domain: discovery
5
6
  council_depth: deep
6
7
  ---
7
8
 
@@ -2,6 +2,7 @@
2
2
  name: check-refs
3
3
  description: "Use when verifying cross-references between skills, rules, commands, guidelines, and context documents are not broken after edits, renames, or deletions."
4
4
  source: package
5
+ domain: process
5
6
  execution:
6
7
  type: assisted
7
8
  handler: shell
@@ -2,6 +2,7 @@
2
2
  name: code-refactoring
3
3
  description: "Use when the user says "refactor this", "rename class", or "move method". Safely refactors PHP code — finds all callers, updates downstream dependencies, and verifies with quality tools."
4
4
  source: package
5
+ domain: engineering
5
6
  ---
6
7
 
7
8
  # refactorer
@@ -2,6 +2,7 @@
2
2
  name: code-review
3
3
  description: "Use when the user says "review this", "check my code", or wants feedback on changes. Reviews for correctness, quality, security, and coding standards."
4
4
  source: package
5
+ domain: quality
5
6
  ---
6
7
 
7
8
  # code-review
@@ -2,6 +2,7 @@
2
2
  name: command-routing
3
3
  description: "Use when the user invokes a slash command like /create-pr, /commit, /fix-ci, or pastes command file content — routes to the right command with context inference and GitHub API patterns."
4
4
  source: package
5
+ domain: process
5
6
  execution:
6
7
  type: assisted
7
8
  handler: internal
@@ -2,6 +2,7 @@
2
2
  name: command-writing
3
3
  description: "Use when creating or editing a slash command in .agent-src.uncompressed/commands/ — frontmatter, numbered steps, safety gates — even when the user just says 'add a /command for X'."
4
4
  source: package
5
+ domain: process
5
6
  ---
6
7
 
7
8
  <!-- cloud_safe: degrade -->
@@ -2,6 +2,7 @@
2
2
  name: composer-packages
3
3
  description: "Use when building or maintaining a Composer library — versioning, Laravel integration, autoloading, publishing to private registries — even when the user says 'release a new version'."
4
4
  source: package
5
+ domain: engineering
5
6
  ---
6
7
 
7
8
  # composer-packages
@@ -2,6 +2,7 @@
2
2
  name: context-authoring
3
3
  description: "Use when filling in knowledge-layer context files — auth-model, tenant-boundaries, data-sensitivity, deployment-order, observability — interactive walkthrough that turns templates into reviewer fuel."
4
4
  source: package
5
+ domain: process
5
6
  ---
6
7
 
7
8
  # context-authoring
@@ -2,6 +2,7 @@
2
2
  name: context-document
3
3
  description: "Use when the user says "create context", "document this area", or wants a structured snapshot of a codebase area for agent orientation."
4
4
  source: package
5
+ domain: process
5
6
  ---
6
7
 
7
8
  # context
@@ -2,6 +2,7 @@
2
2
  name: conventional-commits-writing
3
3
  description: "Use when writing commit messages or squash-merge titles — `feat:`, `fix:`, `chore:`, scopes, breaking changes — even when the user just says 'commit this' without naming Conventional Commits."
4
4
  source: package
5
+ domain: process
5
6
  execution:
6
7
  type: assisted
7
8
  handler: internal
@@ -2,6 +2,7 @@
2
2
  name: copilot-agents-optimization
3
3
  description: "Use when optimizing AGENTS.md or copilot-instructions.md — deduplicates against .augment/ content, enforces line budgets, and focuses each file on its audience."
4
4
  source: package
5
+ domain: process
5
6
  execution:
6
7
  type: assisted
7
8
  handler: internal
@@ -2,6 +2,7 @@
2
2
  name: copilot-config
3
3
  description: "Use when configuring GitHub Copilot — copilot-instructions.md, PR review patterns, output optimization — even when the user just says 'tune Copilot' or 'why is Copilot commenting on X'."
4
4
  source: package
5
+ domain: process
5
6
  ---
6
7
 
7
8
  # Copilot Skill
@@ -2,6 +2,7 @@
2
2
  name: dashboard-design
3
3
  description: "Use when designing monitoring dashboards — visualization selection, layout principles, observability strategies (RED/USE/Golden Signals), and data storytelling."
4
4
  source: package
5
+ domain: devops
5
6
  ---
6
7
 
7
8
  # dashboard-design
@@ -2,6 +2,7 @@
2
2
  name: data-flow-mapper
3
3
  description: "Use BEFORE editing code that touches user data — traces the value from entry → validation → transformation → storage → egress, every hop cited with file:line."
4
4
  source: package
5
+ domain: discovery
5
6
  ---
6
7
 
7
8
  # data-flow-mapper
@@ -1,7 +1,10 @@
1
1
  ---
2
2
  name: database
3
3
  description: "Use when working with database architecture, MariaDB/MySQL tuning, indexing strategies, slow queries, or multi-connection patterns — even when the user just says 'this query is slow'."
4
+ personas:
5
+ - eloquent-tamer
4
6
  source: package
7
+ domain: engineering
5
8
  ---
6
9
 
7
10
  # database
@@ -4,6 +4,7 @@ description: "Wing-4 valuation cognition for a CFO / finance-partner. Use when a
4
4
  status: active
5
5
  tier: senior
6
6
  source: package
7
+ domain: product
7
8
  ---
8
9
 
9
10
  # dcf-modeling