@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
@@ -2,6 +2,7 @@
2
2
  name: jobs-events
3
3
  description: "Use when creating Laravel jobs, queued workflows, events, or listeners. Covers clear responsibilities, safe serialization, and retry/failure handling."
4
4
  source: package
5
+ domain: engineering
5
6
  ---
6
7
 
7
8
  # jobs-events
@@ -2,6 +2,7 @@
2
2
  name: judge-bug-hunter
3
3
  description: "Use when a diff needs correctness review — null-safety, edge cases, off-by-one, races, error handling — dispatched by /review-changes, /do-and-judge, /judge, even without 'judge'."
4
4
  source: package
5
+ domain: quality
5
6
  ---
6
7
 
7
8
  # judge-bug-hunter
@@ -2,6 +2,7 @@
2
2
  name: judge-code-quality
3
3
  description: "Use when a diff needs a readability review — naming, single-responsibility, DRY, dead code, mismatch with codebase conventions — dispatched by /review-changes, /do-and-judge, /judge."
4
4
  source: package
5
+ domain: quality
5
6
  ---
6
7
 
7
8
  # judge-code-quality
@@ -1,7 +1,10 @@
1
1
  ---
2
2
  name: judge-security-auditor
3
3
  description: "Use when a diff may introduce security risk — authZ, injection, secrets, unsafe deserialization, SSRF, XSS, mass assignment — dispatched by /review-changes, /do-and-judge, /judge."
4
+ personas:
5
+ - security-engineer
4
6
  source: package
7
+ domain: quality
5
8
  ---
6
9
 
7
10
  # judge-security-auditor
@@ -4,6 +4,7 @@ description: "Use when a diff may lack tests — missing assertions, uncovered b
4
4
  personas:
5
5
  - qa
6
6
  source: package
7
+ domain: quality
7
8
  ---
8
9
 
9
10
  # judge-test-coverage
@@ -2,6 +2,7 @@
2
2
  name: laravel
3
3
  description: "Writes Laravel code following framework conventions, project architecture, and modern best practices for controllers, requests, services, jobs, events, policies, and application structure."
4
4
  source: package
5
+ domain: engineering
5
6
  ---
6
7
 
7
8
  # laravel
@@ -2,6 +2,7 @@
2
2
  name: laravel-horizon
3
3
  description: "Use when working with Laravel queues in production — Horizon dashboard, worker supervision, job metrics, balancing strategies — even when the user just says 'my jobs are piling up'."
4
4
  source: package
5
+ domain: engineering
5
6
  ---
6
7
 
7
8
  # laravel-horizon
@@ -2,6 +2,7 @@
2
2
  name: laravel-mail
3
3
  description: "Use when building Laravel emails — Mailables, Markdown templates, queued sending, attachments, previews — even when the user says 'send this as an email' without naming Mailables."
4
4
  source: package
5
+ domain: engineering
5
6
  ---
6
7
 
7
8
  # laravel-mail
@@ -2,6 +2,7 @@
2
2
  name: laravel-middleware
3
3
  description: "Use when creating or modifying Laravel middleware — request/response filtering, groups, priority, terminable middleware, or route-level assignment."
4
4
  source: package
5
+ domain: engineering
5
6
  ---
6
7
 
7
8
  # laravel-middleware
@@ -2,6 +2,7 @@
2
2
  name: laravel-notifications
3
3
  description: "Use when sending notifications via mail, Slack, database, or custom channels — with queuing, on-demand recipients, and notification preferences."
4
4
  source: package
5
+ domain: engineering
5
6
  ---
6
7
 
7
8
  # laravel-notifications
@@ -2,6 +2,7 @@
2
2
  name: laravel-pennant
3
3
  description: "Use when working with feature flags — Laravel Pennant, gradual rollouts, A/B testing, scope-based flags — even when the user just says 'hide this behind a flag' without naming Pennant."
4
4
  source: package
5
+ domain: engineering
5
6
  ---
6
7
 
7
8
  # laravel-pennant
@@ -2,6 +2,7 @@
2
2
  name: laravel-pulse
3
3
  description: "Use when setting up Laravel Pulse — real-time dashboard, built-in cards, custom recorders, performance insights — even when the user just says 'I need app monitoring' without naming Pulse."
4
4
  source: package
5
+ domain: engineering
5
6
  ---
6
7
 
7
8
  # laravel-pulse
@@ -2,6 +2,7 @@
2
2
  name: laravel-reverb
3
3
  description: "Use when configuring Laravel Reverb — the first-party WebSocket server with Pusher protocol compatibility, horizontal scaling, and Pulse monitoring."
4
4
  source: package
5
+ domain: engineering
5
6
  ---
6
7
 
7
8
  # laravel-reverb
@@ -2,6 +2,7 @@
2
2
  name: laravel-scheduling
3
3
  description: "Use when configuring Laravel task scheduling — cron expressions, frequency helpers, overlap prevention, maintenance mode, or output handling."
4
4
  source: package
5
+ domain: engineering
5
6
  ---
6
7
 
7
8
  # laravel-scheduling
@@ -2,6 +2,7 @@
2
2
  name: laravel-validation
3
3
  description: "Use when writing validation — Form Requests, rules, custom rule objects, request-boundary design — even when the user just says 'validate this input' or 'check the request' without naming it."
4
4
  source: package
5
+ domain: engineering
5
6
  ---
6
7
 
7
8
  # laravel-validation
@@ -2,6 +2,7 @@
2
2
  name: learning-to-rule-or-skill
3
3
  description: "Use when a repeated learning, mistake, or successful pattern should be turned into a new rule or skill. Also use after completing a task to capture learnings from the work."
4
4
  source: project
5
+ domain: process
5
6
  execution:
6
7
  type: assisted
7
8
  handler: internal
@@ -2,6 +2,7 @@
2
2
  name: lint-skills
3
3
  description: "Use when running the package's skill linter against all skills and rules to validate frontmatter, required sections, and execution metadata."
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: livewire
3
3
  description: "Use when the project's frontend stack is Livewire — dispatched by `directives/ui/{apply,review,polish}.py`. Covers reactive state, events, lifecycle hooks, and component/view separation."
4
4
  source: package
5
+ domain: engineering
5
6
  ---
6
7
 
7
8
  # livewire
@@ -0,0 +1,158 @@
1
+ ---
2
+ name: livewire-architect
3
+ description: "Use when shaping a Livewire component before code — full-page vs partial, parent/child split, event flow, state-vs-props boundary, hydration cost — even on 'add this Livewire component'."
4
+ personas:
5
+ - frontend-engineer
6
+ source: package
7
+ domain: engineering
8
+ ---
9
+
10
+ # livewire-architect
11
+
12
+ > Architectural lens **above** the existing tactical [`livewire`](../livewire/SKILL.md)
13
+ > skill. Decides component shape, lifecycle ownership, and the
14
+ > full-page-vs-partial split *before* the first `mount()` is written.
15
+ > The `livewire` skill handles Flux-component patterns and hydration
16
+ > debugging once the shape is locked.
17
+
18
+ ## When to use
19
+
20
+ - A Livewire feature is about to be built and the boundary between
21
+ components is unclear (one big component vs nested children?).
22
+ - An existing component is "doing too much" — multiple unrelated
23
+ concerns, large `$listeners`, props bag growing turn over turn.
24
+ - A page mixes Livewire + Blade partials and the data flow is
25
+ ambiguous (who owns `$user`, who emits, who listens?).
26
+ - German triggers: "wie schneide ich das?", "Vollseite oder
27
+ Teilkomponente?", "wer feuert das Event?".
28
+
29
+ Do NOT use when:
30
+
31
+ - The shape is already locked and the question is mechanical
32
+ (Flux variant, `wire:model` modifier, `@entangle`) — route to
33
+ [`livewire`](../livewire/SKILL.md).
34
+ - The page has no Livewire — pure Blade or Inertia/React — route
35
+ to [`blade-ui`](../blade-ui/SKILL.md) or [`react-shadcn-ui`](../react-shadcn-ui/SKILL.md).
36
+ - The bug is a runtime hydration error — debug with `livewire`,
37
+ not redesign with this skill.
38
+
39
+ ## Procedure
40
+
41
+ ### 1. Analyze the existing screen — before designing anything
42
+
43
+ Inspect the route and read the existing Blade / Livewire files to
44
+ understand what's already there. List every dynamic surface on the
45
+ page (form, table row, modal, nav badge). Mark each: **shared
46
+ state** (other surfaces re-render on change), **local state** (only
47
+ this surface cares), **server state** (must hit DB / queue). This
48
+ analysis feeds every later step — do NOT skip ahead before the
49
+ inventory is on paper.
50
+
51
+ ### 2. Choose the component shape
52
+
53
+ Pick one **before** writing code:
54
+
55
+ | Shape | When | Cost |
56
+ |---|---|---|
57
+ | Full-page component | Route owns the whole screen, single backing model, ≤ 3 related actions | Cheapest; one mount, one render |
58
+ | Parent + nested children | Two or more independent state islands on one route | Two mounts; coordinate via events, not props churn |
59
+ | Partial component on Blade | Mostly static page, one reactive island | Cheap; component sees the world via props only |
60
+ | Stack of full-page components | Wizard / multi-step flow with own URL per step | Expensive; pick only when URL semantics matter |
61
+
62
+ Rule: if a child needs ≥ 4 props from the parent and emits ≥ 3
63
+ events back, the boundary is wrong — collapse or re-cut.
64
+
65
+ ### 3. Lock the state-vs-props boundary
66
+
67
+ For each piece of data the component reads, mark **public property**
68
+ (reactive, persisted in payload, expensive to dehydrate) or
69
+ **computed / method-local** (cheap, recomputed on render). Public
70
+ properties are the budget — keep ≤ 8 per component; more means
71
+ the component is doing two jobs.
72
+
73
+ ### 4. Map the event flow
74
+
75
+ Draw the events: `dispatch('foo')` → who listens? Cross-component
76
+ events use `dispatch()`; parent ↔ child stays on `$parent.method()`
77
+ when the child is owned. Avoid global events for parent-owned
78
+ children — they break the ownership story.
79
+
80
+ ### 5. Lifecycle ownership
81
+
82
+ For each side-effect (DB write, queue dispatch, redirect, flash),
83
+ name the lifecycle hook: `mount` (one-time setup), `boot` (every
84
+ request, idempotent), action method (user-initiated), `updated*`
85
+ (reactive on property change). One hook per side-effect; if two
86
+ hooks fire the same write, the design is wrong.
87
+
88
+ ### 6. Validate the design — before any code is written
89
+
90
+ Walk the design back through these checks; every "no" means
91
+ re-cut, not push forward:
92
+
93
+ - Each component owns ≤ 8 public properties.
94
+ - No child needs ≥ 4 props *and* emits ≥ 3 events back.
95
+ - Every event has exactly one named listener.
96
+ - Each side-effect maps to exactly one lifecycle hook.
97
+ - The component shape table is filled in (no `<TBD>` cells).
98
+
99
+ If any check fails, return to the relevant step and re-cut. The
100
+ design must be approved by the user before handing off to
101
+ `/livewire` for implementation.
102
+
103
+ ## Output format
104
+
105
+ Return:
106
+
107
+ 1. Component shape decision — full-page / parent+children / partial /
108
+ stack — with the one-sentence trade-off rationale.
109
+ 2. Component inventory — for each: public props (≤ 8), state islands
110
+ owned, events listened/dispatched, side-effects on mount and action.
111
+ 3. Boundary-risk list and tactical follow-up — prop bags > 8, event
112
+ chains > 3 hops, shared mutable state, and the next handoff.
113
+
114
+ Concrete shape:
115
+
116
+ ```
117
+ Screen: <route or feature>
118
+ Component shape: <full-page | parent+children | partial | stack>
119
+ Why: <one sentence — the trade-off chosen>
120
+
121
+ Components:
122
+ - <Name> (full-page | partial)
123
+ Public props: [a, b, c] (≤ 8)
124
+ Owns: <state islands>
125
+ Listens to: [event1, event2]
126
+ Dispatches: [event3]
127
+ Side-effects: mount=<...>, action=<...>
128
+
129
+ Boundary risks:
130
+ - <prop bag > 8 / event chain > 3 hops / shared mutable state>
131
+
132
+ Tactical follow-up:
133
+ Hand off to /livewire for Flux variant + hydration check.
134
+ ```
135
+
136
+ ## Gotcha
137
+
138
+ - Livewire 3 reactive props are not free — every public property
139
+ ships in the payload. Big arrays / DTOs as public state are a
140
+ performance bug waiting to fire under load.
141
+ - Parent-owned children and global events do not mix; pick one
142
+ ownership story per component tree.
143
+ - "Just one more public property" is the smell that turns a partial
144
+ into a god-component over three tickets.
145
+ - Full-page component + Flux modal stack: the modal owns its own
146
+ mount cycle; do not push modal state into the page component.
147
+
148
+ ## Do NOT
149
+
150
+ - Do NOT write `mount()` / Blade partials before the shape table is
151
+ filled in — picking the shape after coding is the most common
152
+ source of refactor debt.
153
+ - Do NOT cite this skill alongside [`livewire`](../livewire/SKILL.md)
154
+ in the same step — they sit at different tiers; pick one per phase.
155
+ - Do NOT design Inertia / React components with this skill — the
156
+ state-vs-props axis differs; route to the matching stack skill.
157
+ - Do NOT push the architecture into the tracker as code AC — output
158
+ is a design note for refinement, not implementation steps.
@@ -2,6 +2,7 @@
2
2
  name: logging-monitoring
3
3
  description: "Use when working with logging or monitoring — Sentry error tracking, Grafana/Loki log aggregation, structured logging channels, or monitoring helpers."
4
4
  source: package
5
+ domain: devops
5
6
  ---
6
7
 
7
8
  # logging-monitoring
@@ -4,6 +4,7 @@ description: "Use when converting PDF, DOCX, XLSX, PPTX, EPUB, images, or audio
4
4
  status: active
5
5
  tier: senior
6
6
  source: package
7
+ domain: process
7
8
  ---
8
9
 
9
10
  > **Pinned upstream:** `markitdown-mcp@0.0.1a4` (PyPI, released 2025-05-23, MIT, Beta). Re-verify per minor bump.
@@ -2,6 +2,7 @@
2
2
  name: mcp
3
3
  description: "Use when working with MCP (Model Context Protocol) servers — their tools, capabilities, and best practices for effective agent workflows."
4
4
  source: package
5
+ domain: process
5
6
  ---
6
7
 
7
8
  # MCP Skill
@@ -2,6 +2,7 @@
2
2
  name: mcp-builder
3
3
  description: "Use when building an MCP server in Python (FastMCP) or Node/TypeScript (MCP SDK) — agent-centric tool design, input schemas, error handling, and the 10-question evaluation harness."
4
4
  source: package
5
+ domain: process
5
6
  ---
6
7
 
7
8
  # mcp-builder
@@ -2,6 +2,7 @@
2
2
  name: md-language-check
3
3
  description: "Use BEFORE saving any .md under .augment/, .agent-src*/, or agents/ — scans umlauts, German function words, and quoted German phrases outside DE:/EN: anchor blocks. Hard gate per language-and-tone."
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: merge-conflicts
3
3
  description: "Use when the user has merge conflicts or says "resolve conflicts". Understands conflict markers, resolution strategies, and verification workflow."
4
4
  source: package
5
+ domain: process
5
6
  ---
6
7
 
7
8
  # merge-conflicts
@@ -0,0 +1,119 @@
1
+ ---
2
+ name: migration-architect
3
+ description: "Use when shaping a non-trivial migration — rollout phases, dual-write windows, cutover sequencing, deprecation cycles — hands off to `migration-creator` for DDL once locked."
4
+ personas:
5
+ - backend-architect
6
+ - senior-engineer
7
+ source: package
8
+ domain: process
9
+ ---
10
+
11
+ # migration-architect
12
+
13
+ > Shape the **rollout strategy** for a migration before any DDL or
14
+ > code is written. Plans phases, dual-write windows, cutover
15
+ > sequencing, deprecation cycles, and cross-service coordination.
16
+ > Hands off to [`migration-creator`](../migration-creator/SKILL.md)
17
+ > for tactical DDL once the plan is locked.
18
+
19
+ ## When to use
20
+
21
+ - A schema change spans more than one deploy.
22
+ - A change requires a dual-write or backfill window.
23
+ - The migration touches multiple services, queues, or consumers
24
+ whose order of update matters.
25
+ - A column / table / API is being deprecated and the cycle needs
26
+ shape (announce → soft-fail → hard-fail → remove).
27
+
28
+ Do NOT use when:
29
+
30
+ - The change is a single additive migration safe in one deploy →
31
+ route to [`migration-creator`](../migration-creator/SKILL.md).
32
+ - The decision is *whether* to migrate at all → route to
33
+ [`decision-record`](../decision-record/SKILL.md) first.
34
+ - The concern is data correctness during the migration → route to
35
+ [`data-flow-mapper`](../data-flow-mapper/SKILL.md) and feed
36
+ findings back here.
37
+
38
+ ## Procedure
39
+
40
+ ### 1. Anchor on the goal
41
+
42
+ Write one sentence: *"State X must become state Y across systems Z
43
+ without breaking consumers W."* If you cannot, the migration is not
44
+ ripe — stop.
45
+
46
+ ### 2. Identify the participating systems
47
+
48
+ List every service, queue, batch job, third-party consumer, and
49
+ client that reads or writes the affected schema. A system you
50
+ forget is a cutover surprise.
51
+
52
+ ### 3. Pick a rollout shape
53
+
54
+ | Shape | When to pick |
55
+ |---|---|
56
+ | Expand → migrate → contract | Schema additive first, code switches reads, then drop old shape |
57
+ | Dual-write + backfill | Both shapes written for a window; backfill closes the gap |
58
+ | Strangler fig | New path runs alongside old; traffic ramps over time |
59
+ | Big-bang cutover | Rare; only when downtime is acceptable AND coordination cost is trivial |
60
+
61
+ State *why* the shape fits — not just which one was picked.
62
+
63
+ ### 4. Sequence the phases
64
+
65
+ For each phase, list:
66
+
67
+ - **Trigger** — what condition starts it.
68
+ - **Actions** — DDL, code deploy, feature flag, traffic shift.
69
+ - **Reversibility** — can we abort here, and how?
70
+ - **Exit gate** — what proves we can move to the next phase
71
+ (metric, sign-off, soak time).
72
+
73
+ A phase without an exit gate is a wish; reject.
74
+
75
+ ### 5. Plan the deprecation cycle
76
+
77
+ For anything being removed:
78
+
79
+ - Announce window — comms cadence, who is told.
80
+ - Soft-fail window — log + warn, do not break.
81
+ - Hard-fail window — return errors.
82
+ - Removal — DDL drop, code delete.
83
+
84
+ Each window has a duration and a metric that justifies moving on.
85
+
86
+ ## Output format
87
+
88
+ ```
89
+ Migration Architect
90
+ Goal: <one sentence>
91
+ Systems: <list>
92
+ Shape: expand-migrate-contract | dual-write | strangler | big-bang
93
+ Reason: <why this shape>
94
+
95
+ Phases:
96
+ 1. <name> Trigger: <cond> Exit: <gate> Reversible: yes | costly | no
97
+ Actions: ...
98
+ 2. ...
99
+
100
+ Deprecation cycle (if any):
101
+ Announce <duration> → soft-fail <duration> → hard-fail <duration> → remove
102
+
103
+ Next: /migration-creator for the DDL of phase 1
104
+ ```
105
+
106
+ ## Gotcha
107
+
108
+ - The riskiest phase is the one with no rollback. Surface it
109
+ explicitly even if the user did not ask.
110
+ - Soak times in hours when interest is in days are a smell. Match
111
+ the soak to the actual blast radius.
112
+
113
+ ## Do NOT
114
+
115
+ - Do NOT write DDL — that is `migration-creator`'s job.
116
+ - Do NOT collapse phases to "ship it" because the user is impatient;
117
+ surface the risk and let the user decide.
118
+ - Do NOT skip the deprecation cycle because nobody is using the old
119
+ shape "for sure" — verify before skipping.
@@ -2,6 +2,7 @@
2
2
  name: migration-creator
3
3
  description: "Use when the user says "create migration", "add column", or "new table". Creates migrations with correct table prefixes, column naming, and multi-tenant awareness."
4
4
  source: package
5
+ domain: engineering
5
6
  ---
6
7
 
7
8
  # migration-creator
@@ -2,6 +2,7 @@
2
2
  name: mobile-e2e-strategy
3
3
  description: "Use when picking a mobile E2E framework — Detox / Appium / Maestro / XCUITest / Espresso — or planning iOS Simulator / Android Emulator coverage in CI for RN, Expo, or native apps."
4
4
  source: package
5
+ domain: quality
5
6
  ---
6
7
 
7
8
  # mobile-e2e-strategy
@@ -27,7 +28,7 @@ source: package
27
28
 
28
29
  ## Procedure
29
30
 
30
- 1. **Classify the app.** Is it native iOS, native Android, React Native, Expo, Flutter, or a web view inside a shell?
31
+ 1. **Inspect and classify the app.** Identify the stack: native iOS, native Android, React Native, Expo, Flutter, or a web view inside a shell?
31
32
  2. **Classify the goal.** Smoke (boots + login + key flow), regression (every release), visual diff, accessibility audit, or performance baseline.
32
33
  3. **Pick the framework** using the decision matrix below.
33
34
  4. **Confirm host availability.** macOS for iOS Simulator (mandatory); any OS for Android Emulator.
@@ -2,6 +2,7 @@
2
2
  name: module-management
3
3
  description: "Use when the user says "create module", "explore module", or works within app/Modules/. Understands module structure, auto-loading, route registration, and namespace conventions."
4
4
  source: package
5
+ domain: process
5
6
  ---
6
7
 
7
8
  # module
@@ -2,6 +2,7 @@
2
2
  name: multi-tenancy
3
3
  description: "Use when working with the multi-tenant architecture — customer DB switching, FQDN routing, tenant isolation, or cross-tenant operations."
4
4
  source: package
5
+ domain: engineering
5
6
  ---
6
7
 
7
8
  # multi-tenancy
@@ -4,6 +4,7 @@ description: "Use when decomposing a company objective into team OKRs, auditing
4
4
  status: active
5
5
  tier: senior
6
6
  source: package
7
+ domain: product
7
8
  ---
8
9
 
9
10
  # okr-tree-modeling
@@ -2,6 +2,7 @@
2
2
  name: openapi
3
3
  description: "Use when documenting APIs — OpenAPI/Swagger, PHP attributes, Redocly validation, versioned specs — even when the user just says 'document this endpoint' without naming OpenAPI."
4
4
  source: package
5
+ domain: engineering
5
6
  ---
6
7
 
7
8
  # openapi
@@ -2,6 +2,7 @@
2
2
  name: override-management
3
3
  description: "Creates and manages project-level overrides for shared skills, rules, and commands — extending or replacing originals from .augment/ with project-specific behavior in agents/overrides/."
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: performance
3
3
  description: "Use when optimizing application performance — caching strategies, eager loading, query optimization, Redis patterns, or background job design."
4
4
  source: package
5
+ domain: engineering
5
6
  ---
6
7
 
7
8
  # performance
@@ -2,6 +2,7 @@
2
2
  name: performance-analysis
3
3
  description: "ONLY when user explicitly requests: performance audit, bottleneck analysis, or N+1 query detection. NOT for regular feature work."
4
4
  source: package
5
+ domain: discovery
5
6
  ---
6
7
 
7
8
  # performance-analysis
@@ -2,6 +2,7 @@
2
2
  name: persona-writing
3
3
  description: "Use when creating or editing a persona in .agent-src.uncompressed/personas/ — voice / focus / unique questions / output expectations — even when the user just says 'add a reviewer voice 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: pest-testing
3
3
  description: "Use when writing, generating, or improving Pest tests for Laravel — clear intent, good coverage, maintainable structure, and alignment with project testing conventions."
4
4
  source: package
5
+ domain: quality
5
6
  ---
6
7
 
7
8
  # pest-testing
@@ -2,6 +2,7 @@
2
2
  name: php-coder
3
3
  description: "Writes or edits PHP code — controllers, classes, type hints, SOLID refactors, modern idioms — even without naming PHP. NOT for writing tests (use pest-testing) or explaining PHP concepts."
4
4
  source: package
5
+ domain: engineering
5
6
  ---
6
7
 
7
8
  # coder
@@ -2,6 +2,7 @@
2
2
  name: php-debugging
3
3
  description: "Use when debugging PHP with Xdebug — breakpoints, step-through, dual-container setup, IDE configuration, header-based routing — even when the user just says 'why does this blow up on request X'."
4
4
  source: package
5
+ domain: engineering
5
6
  ---
6
7
 
7
8
  # php-debugging
@@ -2,6 +2,7 @@
2
2
  name: php-service
3
3
  description: "Use when the user says 'create service', 'new service class', or needs a PHP service following SOLID principles with proper DI and repository usage."
4
4
  source: package
5
+ domain: engineering
5
6
  ---
6
7
 
7
8
  # php-service