@event4u/agent-config 1.33.0 → 1.35.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 (218) hide show
  1. package/.agent-src/commands/review-changes.md +13 -8
  2. package/.agent-src/commands/roadmap/process-full.md +17 -15
  3. package/.agent-src/contexts/execution/roadmap-process-loop.md +11 -10
  4. package/.agent-src/personas/README.md +12 -21
  5. package/.agent-src/personas/_template-specialist/persona.md +89 -0
  6. package/.agent-src/personas/backend-architect.md +96 -0
  7. package/.agent-src/personas/discovery-lead.md +99 -0
  8. package/.agent-src/personas/eloquent-tamer.md +96 -0
  9. package/.agent-src/personas/frontend-engineer.md +100 -0
  10. package/.agent-src/personas/product-owner.md +71 -52
  11. package/.agent-src/personas/qa.md +27 -2
  12. package/.agent-src/personas/revops-maintainer.md +100 -0
  13. package/.agent-src/personas/security-engineer.md +100 -0
  14. package/.agent-src/personas/tech-writer.md +99 -0
  15. package/.agent-src/skills/accessibility-auditor/SKILL.md +132 -0
  16. package/.agent-src/skills/adr-create/SKILL.md +1 -0
  17. package/.agent-src/skills/adversarial-review/SKILL.md +1 -0
  18. package/.agent-src/skills/agent-docs-writing/SKILL.md +1 -0
  19. package/.agent-src/skills/agents-md-thin-root/SKILL.md +1 -0
  20. package/.agent-src/skills/ai-council/SKILL.md +1 -0
  21. package/.agent-src/skills/analysis-autonomous-mode/SKILL.md +1 -0
  22. package/.agent-src/skills/analysis-skill-router/SKILL.md +1 -0
  23. package/.agent-src/skills/api-design/SKILL.md +3 -0
  24. package/.agent-src/skills/api-endpoint/SKILL.md +1 -0
  25. package/.agent-src/skills/api-testing/SKILL.md +1 -0
  26. package/.agent-src/skills/architecture-review-lens/SKILL.md +137 -0
  27. package/.agent-src/skills/artisan-commands/SKILL.md +1 -0
  28. package/.agent-src/skills/async-python-patterns/SKILL.md +1 -0
  29. package/.agent-src/skills/authz-review/SKILL.md +4 -0
  30. package/.agent-src/skills/aws-infrastructure/SKILL.md +1 -0
  31. package/.agent-src/skills/blade-ui/SKILL.md +1 -0
  32. package/.agent-src/skills/blast-radius-analyzer/SKILL.md +3 -0
  33. package/.agent-src/skills/bug-analyzer/SKILL.md +1 -0
  34. package/.agent-src/skills/check-refs/SKILL.md +1 -0
  35. package/.agent-src/skills/code-refactoring/SKILL.md +1 -0
  36. package/.agent-src/skills/code-review/SKILL.md +1 -0
  37. package/.agent-src/skills/command-routing/SKILL.md +1 -0
  38. package/.agent-src/skills/command-writing/SKILL.md +1 -0
  39. package/.agent-src/skills/competitive-positioning/SKILL.md +152 -0
  40. package/.agent-src/skills/composer-packages/SKILL.md +1 -0
  41. package/.agent-src/skills/context-authoring/SKILL.md +1 -0
  42. package/.agent-src/skills/context-document/SKILL.md +1 -0
  43. package/.agent-src/skills/conventional-commits-writing/SKILL.md +1 -0
  44. package/.agent-src/skills/copilot-agents-optimization/SKILL.md +1 -0
  45. package/.agent-src/skills/copilot-config/SKILL.md +1 -0
  46. package/.agent-src/skills/customer-research/SKILL.md +116 -0
  47. package/.agent-src/skills/dashboard-design/SKILL.md +1 -0
  48. package/.agent-src/skills/data-flow-mapper/SKILL.md +1 -0
  49. package/.agent-src/skills/database/SKILL.md +3 -0
  50. package/.agent-src/skills/dcf-modeling/SKILL.md +1 -0
  51. package/.agent-src/skills/decision-record/SKILL.md +218 -0
  52. package/.agent-src/skills/deep-reading-analyst/SKILL.md +1 -0
  53. package/.agent-src/skills/defense-in-depth/SKILL.md +1 -0
  54. package/.agent-src/skills/dependency-upgrade/SKILL.md +1 -0
  55. package/.agent-src/skills/description-assist/SKILL.md +1 -0
  56. package/.agent-src/skills/design-review/SKILL.md +1 -0
  57. package/.agent-src/skills/devcontainer/SKILL.md +1 -0
  58. package/.agent-src/skills/developer-like-execution/SKILL.md +1 -0
  59. package/.agent-src/skills/discovery-interview/SKILL.md +152 -0
  60. package/.agent-src/skills/docker/SKILL.md +1 -0
  61. package/.agent-src/skills/dto-creator/SKILL.md +1 -0
  62. package/.agent-src/skills/eloquent/SKILL.md +3 -0
  63. package/.agent-src/skills/error-handling-patterns/SKILL.md +1 -0
  64. package/.agent-src/skills/estimate-ticket/SKILL.md +1 -0
  65. package/.agent-src/skills/existing-ui-audit/SKILL.md +3 -0
  66. package/.agent-src/skills/fe-design/SKILL.md +4 -1
  67. package/.agent-src/skills/feature-planning/SKILL.md +1 -0
  68. package/.agent-src/skills/file-editor/SKILL.md +1 -0
  69. package/.agent-src/skills/finishing-a-development-branch/SKILL.md +1 -0
  70. package/.agent-src/skills/flux/SKILL.md +1 -0
  71. package/.agent-src/skills/form-handler/SKILL.md +145 -0
  72. package/.agent-src/skills/funnel-analysis/SKILL.md +1 -0
  73. package/.agent-src/skills/git-workflow/SKILL.md +1 -0
  74. package/.agent-src/skills/github-ci/SKILL.md +1 -0
  75. package/.agent-src/skills/grafana/SKILL.md +1 -0
  76. package/.agent-src/skills/guideline-writing/SKILL.md +1 -0
  77. package/.agent-src/skills/incident-commander/SKILL.md +140 -0
  78. package/.agent-src/skills/jira-integration/SKILL.md +1 -0
  79. package/.agent-src/skills/jobs-events/SKILL.md +1 -0
  80. package/.agent-src/skills/judge-bug-hunter/SKILL.md +1 -0
  81. package/.agent-src/skills/judge-code-quality/SKILL.md +1 -0
  82. package/.agent-src/skills/judge-security-auditor/SKILL.md +3 -0
  83. package/.agent-src/skills/judge-test-coverage/SKILL.md +1 -0
  84. package/.agent-src/skills/laravel/SKILL.md +1 -0
  85. package/.agent-src/skills/laravel-horizon/SKILL.md +1 -0
  86. package/.agent-src/skills/laravel-mail/SKILL.md +1 -0
  87. package/.agent-src/skills/laravel-middleware/SKILL.md +1 -0
  88. package/.agent-src/skills/laravel-notifications/SKILL.md +1 -0
  89. package/.agent-src/skills/laravel-pennant/SKILL.md +1 -0
  90. package/.agent-src/skills/laravel-pulse/SKILL.md +1 -0
  91. package/.agent-src/skills/laravel-reverb/SKILL.md +1 -0
  92. package/.agent-src/skills/laravel-scheduling/SKILL.md +1 -0
  93. package/.agent-src/skills/laravel-validation/SKILL.md +1 -0
  94. package/.agent-src/skills/launch-readiness/SKILL.md +156 -0
  95. package/.agent-src/skills/learning-to-rule-or-skill/SKILL.md +1 -0
  96. package/.agent-src/skills/lint-skills/SKILL.md +1 -0
  97. package/.agent-src/skills/livewire/SKILL.md +1 -0
  98. package/.agent-src/skills/livewire-architect/SKILL.md +158 -0
  99. package/.agent-src/skills/logging-monitoring/SKILL.md +1 -0
  100. package/.agent-src/skills/markitdown/SKILL.md +1 -0
  101. package/.agent-src/skills/mcp/SKILL.md +1 -0
  102. package/.agent-src/skills/mcp-builder/SKILL.md +1 -0
  103. package/.agent-src/skills/md-language-check/SKILL.md +1 -0
  104. package/.agent-src/skills/merge-conflicts/SKILL.md +1 -0
  105. package/.agent-src/skills/migration-architect/SKILL.md +119 -0
  106. package/.agent-src/skills/migration-creator/SKILL.md +1 -0
  107. package/.agent-src/skills/mobile-e2e-strategy/SKILL.md +2 -1
  108. package/.agent-src/skills/module-management/SKILL.md +1 -0
  109. package/.agent-src/skills/multi-tenancy/SKILL.md +1 -0
  110. package/.agent-src/skills/okr-tree-modeling/SKILL.md +1 -0
  111. package/.agent-src/skills/openapi/SKILL.md +1 -0
  112. package/.agent-src/skills/override-management/SKILL.md +1 -0
  113. package/.agent-src/skills/performance/SKILL.md +1 -0
  114. package/.agent-src/skills/performance-analysis/SKILL.md +1 -0
  115. package/.agent-src/skills/persona-writing/SKILL.md +1 -0
  116. package/.agent-src/skills/pest-testing/SKILL.md +1 -0
  117. package/.agent-src/skills/php-coder/SKILL.md +1 -0
  118. package/.agent-src/skills/php-debugging/SKILL.md +1 -0
  119. package/.agent-src/skills/php-service/SKILL.md +1 -0
  120. package/.agent-src/skills/playwright-architect/SKILL.md +141 -0
  121. package/.agent-src/skills/playwright-testing/SKILL.md +1 -0
  122. package/.agent-src/skills/po-discovery/SKILL.md +127 -0
  123. package/.agent-src/skills/project-analysis-core/SKILL.md +1 -0
  124. package/.agent-src/skills/project-analysis-hypothesis-driven/SKILL.md +1 -0
  125. package/.agent-src/skills/project-analysis-laravel/SKILL.md +1 -0
  126. package/.agent-src/skills/project-analysis-nextjs/SKILL.md +1 -0
  127. package/.agent-src/skills/project-analysis-node-express/SKILL.md +1 -0
  128. package/.agent-src/skills/project-analysis-react/SKILL.md +1 -0
  129. package/.agent-src/skills/project-analysis-symfony/SKILL.md +1 -0
  130. package/.agent-src/skills/project-analysis-zend-laminas/SKILL.md +1 -0
  131. package/.agent-src/skills/project-analyzer/SKILL.md +1 -0
  132. package/.agent-src/skills/project-docs/SKILL.md +1 -0
  133. package/.agent-src/skills/prompt-engineering-patterns/SKILL.md +1 -0
  134. package/.agent-src/skills/prompt-optimizer/SKILL.md +1 -0
  135. package/.agent-src/skills/quality-tools/SKILL.md +1 -0
  136. package/.agent-src/skills/react-native-setup/SKILL.md +1 -0
  137. package/.agent-src/skills/react-shadcn-ui/SKILL.md +1 -0
  138. package/.agent-src/skills/readme-reviewer/SKILL.md +1 -0
  139. package/.agent-src/skills/readme-writing/SKILL.md +1 -0
  140. package/.agent-src/skills/readme-writing-package/SKILL.md +1 -0
  141. package/.agent-src/skills/receiving-code-review/SKILL.md +1 -0
  142. package/.agent-src/skills/refine-prompt/SKILL.md +1 -0
  143. package/.agent-src/skills/refine-ticket/SKILL.md +1 -0
  144. package/.agent-src/skills/release-comms/SKILL.md +123 -0
  145. package/.agent-src/skills/repomix-packer/SKILL.md +1 -0
  146. package/.agent-src/skills/requesting-code-review/SKILL.md +1 -0
  147. package/.agent-src/skills/review-routing/SKILL.md +1 -0
  148. package/.agent-src/skills/rice-prioritization/SKILL.md +1 -0
  149. package/.agent-src/skills/risk-officer/SKILL.md +141 -0
  150. package/.agent-src/skills/roadmap-management/SKILL.md +1 -0
  151. package/.agent-src/skills/roadmap-writing/SKILL.md +2 -1
  152. package/.agent-src/skills/rtk-output-filtering/SKILL.md +1 -0
  153. package/.agent-src/skills/rule-writing/SKILL.md +1 -0
  154. package/.agent-src/skills/script-writing/SKILL.md +1 -0
  155. package/.agent-src/skills/secrets-management/SKILL.md +1 -0
  156. package/.agent-src/skills/security/SKILL.md +1 -0
  157. package/.agent-src/skills/security-audit/SKILL.md +1 -0
  158. package/.agent-src/skills/sentry-integration/SKILL.md +1 -0
  159. package/.agent-src/skills/sequential-thinking/SKILL.md +1 -0
  160. package/.agent-src/skills/skill-improvement-pipeline/SKILL.md +1 -0
  161. package/.agent-src/skills/skill-management/SKILL.md +1 -0
  162. package/.agent-src/skills/skill-reviewer/SKILL.md +1 -0
  163. package/.agent-src/skills/skill-writing/SKILL.md +1 -0
  164. package/.agent-src/skills/sql-writing/SKILL.md +1 -0
  165. package/.agent-src/skills/stakeholder-tradeoff/SKILL.md +237 -0
  166. package/.agent-src/skills/subagent-orchestration/SKILL.md +13 -0
  167. package/.agent-src/skills/systematic-debugging/SKILL.md +1 -0
  168. package/.agent-src/skills/tailwind-engineer/SKILL.md +130 -0
  169. package/.agent-src/skills/tech-debt-tracker/SKILL.md +152 -0
  170. package/.agent-src/skills/technical-specification/SKILL.md +1 -0
  171. package/.agent-src/skills/terraform/SKILL.md +1 -0
  172. package/.agent-src/skills/terragrunt/SKILL.md +1 -0
  173. package/.agent-src/skills/test-driven-development/SKILL.md +1 -0
  174. package/.agent-src/skills/test-performance/SKILL.md +1 -0
  175. package/.agent-src/skills/testing-anti-patterns/SKILL.md +1 -0
  176. package/.agent-src/skills/threat-modeling/SKILL.md +3 -0
  177. package/.agent-src/skills/token-optimizer/SKILL.md +1 -0
  178. package/.agent-src/skills/traefik/SKILL.md +1 -0
  179. package/.agent-src/skills/ui-component-architect/SKILL.md +153 -0
  180. package/.agent-src/skills/unit-economics-modeling/SKILL.md +1 -0
  181. package/.agent-src/skills/universal-project-analysis/SKILL.md +1 -0
  182. package/.agent-src/skills/upstream-contribute/SKILL.md +1 -0
  183. package/.agent-src/skills/using-git-worktrees/SKILL.md +1 -0
  184. package/.agent-src/skills/validate-feature-fit/SKILL.md +1 -0
  185. package/.agent-src/skills/verify-completion-evidence/SKILL.md +1 -0
  186. package/.agent-src/skills/voc-extract/SKILL.md +164 -0
  187. package/.agent-src/skills/websocket/SKILL.md +1 -0
  188. package/.agent-src/templates/roadmaps.md +9 -0
  189. package/.claude-plugin/marketplace.json +21 -1
  190. package/AGENTS.md +1 -0
  191. package/CHANGELOG.md +75 -0
  192. package/README.md +2 -2
  193. package/docs/architecture.md +2 -2
  194. package/docs/catalog.md +21 -4
  195. package/docs/contracts/context-spine.md +133 -0
  196. package/docs/contracts/file-ownership-matrix.json +616 -0
  197. package/docs/contracts/mental-models.md +336 -0
  198. package/docs/contracts/persona-schema.md +136 -0
  199. package/docs/contracts/skill-domains.md +143 -0
  200. package/docs/decisions/ADR-005-subagent-worktrees.md +120 -0
  201. package/docs/decisions/ADR-006-skill-tools-python-pilot.md +114 -0
  202. package/docs/decisions/INDEX.md +3 -0
  203. package/docs/guidelines/cross-role-handoff.md +127 -0
  204. package/docs/personas.md +115 -0
  205. package/package.json +1 -1
  206. package/scripts/_backfill_skill_domains.py +140 -0
  207. package/scripts/_emit_domain_table.py +35 -0
  208. package/scripts/install-hooks.sh +21 -4
  209. package/scripts/lint_context_spine_usage.py +133 -0
  210. package/scripts/lint_roadmap_complexity.py +37 -0
  211. package/scripts/lint_skill_tools.py +168 -0
  212. package/scripts/schemas/skill.schema.json +15 -1
  213. package/scripts/skill_linter.py +19 -4
  214. package/scripts/skill_tools/__init__.py +22 -0
  215. package/scripts/skill_tools/audit_persona_coverage.py +147 -0
  216. package/scripts/skill_tools/run_block_d_eval.py +129 -0
  217. package/scripts/skill_tools/score_skill_relevance.py +169 -0
  218. package/scripts/skill_tools/suggest_skill_for_task.py +113 -0
package/docs/catalog.md CHANGED
@@ -1,16 +1,17 @@
1
1
  # agent-config — Public Catalog
2
2
 
3
- Consumer-facing catalog of all **381 public artefacts** shipped by
3
+ Consumer-facing catalog of all **398 public artefacts** shipped by
4
4
  this package. Internal package-maintenance rules and deprecation shims
5
5
  are excluded.
6
6
 
7
7
  > **Regenerate:** `python3 scripts/generate_index.py`
8
8
  > Auto-generated — do not edit manually.
9
9
 
10
- ## Skills (153)
10
+ ## Skills (169)
11
11
 
12
12
  | kind | name | extra | description |
13
13
  |---|---|---|---|
14
+ | skill | [`accessibility-auditor`](../.agent-src/skills/accessibility-auditor/SKILL.md) | | 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'. |
14
15
  | skill | [`adr-create`](../.agent-src/skills/adr-create/SKILL.md) | | 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'. |
15
16
  | skill | [`adversarial-review`](../.agent-src/skills/adversarial-review/SKILL.md) | | ONLY when user explicitly requests adversarial review, devil's advocate analysis, stress-testing a plan, or 'poke holes in this' — NOT for regular code review or design feedback. |
16
17
  | skill | [`agent-docs-writing`](../.agent-src/skills/agent-docs-writing/SKILL.md) | | Use when reading, creating, or updating agent documentation, module docs, roadmaps, or AGENTS.md. Understands the full .augment/, agents/, and copilot-instructions structure. |
@@ -21,6 +22,7 @@ are excluded.
21
22
  | skill | [`api-design`](../.agent-src/skills/api-design/SKILL.md) | | 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. |
22
23
  | skill | [`api-endpoint`](../.agent-src/skills/api-endpoint/SKILL.md) | | 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. |
23
24
  | skill | [`api-testing`](../.agent-src/skills/api-testing/SKILL.md) | | 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. |
25
+ | skill | [`architecture-review-lens`](../.agent-src/skills/architecture-review-lens/SKILL.md) | | 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. |
24
26
  | skill | [`artisan-commands`](../.agent-src/skills/artisan-commands/SKILL.md) | | Use when creating or modifying Artisan commands. Covers clear signatures, safe execution flow, helpful output, and project conventions for console tooling. |
25
27
  | skill | [`async-python-patterns`](../.agent-src/skills/async-python-patterns/SKILL.md) | | Use when writing Python asyncio code — picking between gather / TaskGroup / wait, structured concurrency, timeouts, cancellation, sync-bridging — decision framework only, cookbook externalized. |
26
28
  | skill | [`authz-review`](../.agent-src/skills/authz-review/SKILL.md) | | Use when reviewing authorization end-to-end — route → gate → policy → query scope → response filter — before changes to permissions, tenants, ownership, or admin flows. |
@@ -39,10 +41,12 @@ are excluded.
39
41
  | skill | [`conventional-commits-writing`](../.agent-src/skills/conventional-commits-writing/SKILL.md) | | 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. |
40
42
  | skill | [`copilot-agents-optimization`](../.agent-src/skills/copilot-agents-optimization/SKILL.md) | | Use when optimizing AGENTS.md or copilot-instructions.md — deduplicates against .augment/ content, enforces line budgets, and focuses each file on its audience. |
41
43
  | skill | [`copilot-config`](../.agent-src/skills/copilot-config/SKILL.md) | | 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'. |
44
+ | skill | [`customer-research`](../.agent-src/skills/customer-research/SKILL.md) | | Use when shaping a discovery slice — JTBD-framed interview guide, switch-event focus, verbatim quotes not summaries. Triggers on 'talk to users', 'why did they cancel', 'before we build X'. |
42
45
  | skill | [`dashboard-design`](../.agent-src/skills/dashboard-design/SKILL.md) | | Use when designing monitoring dashboards — visualization selection, layout principles, observability strategies (RED/USE/Golden Signals), and data storytelling. |
43
46
  | skill | [`data-flow-mapper`](../.agent-src/skills/data-flow-mapper/SKILL.md) | | Use BEFORE editing code that touches user data — traces the value from entry → validation → transformation → storage → egress, every hop cited with file:line. |
44
47
  | skill | [`database`](../.agent-src/skills/database/SKILL.md) | | 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'. |
45
48
  | skill | [`dcf-modeling`](../.agent-src/skills/dcf-modeling/SKILL.md) | | Wing-4 valuation cognition for a CFO / finance-partner. Use when a deal, internal investment, or board ask names DCF, intrinsic value, WACC, terminal value, or 'what's it worth on a 5-year hold'. |
49
+ | skill | [`decision-record`](../.agent-src/skills/decision-record/SKILL.md) | | Use when locking a trade-off, structuring an ADR draft, or wiring supersession chains — frames options · trade-offs · consequences before the file is written by `adr-create`. |
46
50
  | skill | [`deep-reading-analyst`](../.agent-src/skills/deep-reading-analyst/SKILL.md) | | Deep analysis of articles/long-form via thinking frameworks (SCQA, mental models, inversion) — 'analyze article', 'deep dive', 'extract insights', URL/text wanting depth not summary. |
47
51
  | skill | [`defense-in-depth`](../.agent-src/skills/defense-in-depth/SKILL.md) | | Use when validation needs entry, business-logic, environment, and instrumentation guards so a bad value cannot reach the failure point — turns a local bug fix into a structural one. |
48
52
  | skill | [`dependency-upgrade`](../.agent-src/skills/dependency-upgrade/SKILL.md) | | Use when upgrading dependencies — "update Laravel", "bump PHP version", or "upgrade packages". Covers changelog review, breaking change detection, and verification. |
@@ -61,11 +65,13 @@ are excluded.
61
65
  | skill | [`file-editor`](../.agent-src/skills/file-editor/SKILL.md) | | Use when opening edited files in the user's IDE. Reads settings from .agent-settings.yml to determine IDE and whether auto-open is enabled. |
62
66
  | skill | [`finishing-a-development-branch`](../.agent-src/skills/finishing-a-development-branch/SKILL.md) | | Use when the feature is implementation-complete and the next step is 'ship it' — verifies, cleans up, and routes to merge/PR/park/discard — even when the user just says 'I'm done, what now?'. |
63
67
  | skill | [`flux`](../.agent-src/skills/flux/SKILL.md) | | Use when the project uses `livewire/flux` — dispatched by `directives/ui/{apply,review,polish}.py`. Covers Flux components, slots, variants, and form primitives. |
68
+ | skill | [`form-handler`](../.agent-src/skills/form-handler/SKILL.md) | | Use when designing or reviewing a form — validation timing, error display, submission lifecycle, optimistic UI, dirty/pristine state, idempotency — even on 'why does submit double-fire?'. |
64
69
  | skill | [`funnel-analysis`](../.agent-src/skills/funnel-analysis/SKILL.md) | | Use when diagnosing where a SaaS or product funnel leaks — visitor → signup → activation → paid → retained — channel-agnostic, conversion-rate-driven. |
65
70
  | skill | [`git-workflow`](../.agent-src/skills/git-workflow/SKILL.md) | | Use when working with Git — branch naming, commit messages, PR creation, rebasing, or the code review process — even when the user says 'push this' or 'merge the branch' without naming Git. |
66
71
  | skill | [`github-ci`](../.agent-src/skills/github-ci/SKILL.md) | | Use when working with GitHub Actions — workflow YAML, quality gates, test matrices, deployment triggers, reusable workflows — even when the user just says 'my CI is failing' or 'add a check'. |
67
72
  | skill | [`grafana`](../.agent-src/skills/grafana/SKILL.md) | | Use when working with Grafana — dashboards, Loki LogQL queries, alerting rules, monitoring panels — even when the user just says 'build me a dashboard' or 'query the logs' without naming Grafana. |
68
73
  | skill | [`guideline-writing`](../.agent-src/skills/guideline-writing/SKILL.md) | | Use when creating or editing a guideline in docs/guidelines/ — reference material cited by skills, no auto-triggers — even when the user just says 'write up our naming conventions'. |
74
+ | skill | [`incident-commander`](../.agent-src/skills/incident-commander/SKILL.md) | | Use during or right after an incident — frames severity, sets comms cadence, drafts the post-mortem skeleton — even when the user just says 'production is down' or 'wir haben einen Vorfall'. |
69
75
  | skill | [`jira-integration`](../.agent-src/skills/jira-integration/SKILL.md) | | Use when the user says "check Jira", "create ticket", "update issue", or needs JQL queries, ticket transitions, or branch-to-ticket linking. |
70
76
  | skill | [`jobs-events`](../.agent-src/skills/jobs-events/SKILL.md) | | Use when creating Laravel jobs, queued workflows, events, or listeners. Covers clear responsibilities, safe serialization, and retry/failure handling. |
71
77
  | skill | [`judge-bug-hunter`](../.agent-src/skills/judge-bug-hunter/SKILL.md) | | 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'. |
@@ -85,12 +91,14 @@ are excluded.
85
91
  | skill | [`learning-to-rule-or-skill`](../.agent-src/skills/learning-to-rule-or-skill/SKILL.md) | | 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. |
86
92
  | skill | [`lint-skills`](../.agent-src/skills/lint-skills/SKILL.md) | | Use when running the package's skill linter against all skills and rules to validate frontmatter, required sections, and execution metadata. |
87
93
  | skill | [`livewire`](../.agent-src/skills/livewire/SKILL.md) | | 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. |
94
+ | skill | [`livewire-architect`](../.agent-src/skills/livewire-architect/SKILL.md) | | 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'. |
88
95
  | skill | [`logging-monitoring`](../.agent-src/skills/logging-monitoring/SKILL.md) | | Use when working with logging or monitoring — Sentry error tracking, Grafana/Loki log aggregation, structured logging channels, or monitoring helpers. |
89
96
  | skill | [`markitdown`](../.agent-src/skills/markitdown/SKILL.md) | | Use when converting PDF, DOCX, XLSX, PPTX, EPUB, images, or audio to Markdown for LLM ingestion via the upstream markitdown-mcp server — 'extract this PDF', 'OCR this image', 'transcribe this audio'. |
90
97
  | skill | [`mcp`](../.agent-src/skills/mcp/SKILL.md) | | Use when working with MCP (Model Context Protocol) servers — their tools, capabilities, and best practices for effective agent workflows. |
91
98
  | skill | [`mcp-builder`](../.agent-src/skills/mcp-builder/SKILL.md) | | 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. |
92
99
  | skill | [`md-language-check`](../.agent-src/skills/md-language-check/SKILL.md) | | 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. |
93
100
  | skill | [`merge-conflicts`](../.agent-src/skills/merge-conflicts/SKILL.md) | | Use when the user has merge conflicts or says "resolve conflicts". Understands conflict markers, resolution strategies, and verification workflow. |
101
+ | skill | [`migration-architect`](../.agent-src/skills/migration-architect/SKILL.md) | | 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. |
94
102
  | skill | [`migration-creator`](../.agent-src/skills/migration-creator/SKILL.md) | | Use when the user says "create migration", "add column", or "new table". Creates migrations with correct table prefixes, column naming, and multi-tenant awareness. |
95
103
  | skill | [`mobile-e2e-strategy`](../.agent-src/skills/mobile-e2e-strategy/SKILL.md) | | 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. |
96
104
  | skill | [`module-management`](../.agent-src/skills/module-management/SKILL.md) | | Use when the user says "create module", "explore module", or works within app/Modules/. Understands module structure, auto-loading, route registration, and namespace conventions. |
@@ -105,7 +113,9 @@ are excluded.
105
113
  | skill | [`php-coder`](../.agent-src/skills/php-coder/SKILL.md) | | 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. |
106
114
  | skill | [`php-debugging`](../.agent-src/skills/php-debugging/SKILL.md) | | 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'. |
107
115
  | skill | [`php-service`](../.agent-src/skills/php-service/SKILL.md) | | Use when the user says 'create service', 'new service class', or needs a PHP service following SOLID principles with proper DI and repository usage. |
116
+ | skill | [`playwright-architect`](../.agent-src/skills/playwright-architect/SKILL.md) | | Use when shaping a Playwright suite — locator strategy, Page Object boundaries, fixture composition, flake-prevention architecture, CI-vs-local split — even on 'design our E2E tests'. |
108
117
  | skill | [`playwright-testing`](../.agent-src/skills/playwright-testing/SKILL.md) | | Use when writing Playwright E2E tests — browser automation, visual regression testing, Page Objects, fixtures, and reliable test patterns. |
118
+ | skill | [`po-discovery`](../.agent-src/skills/po-discovery/SKILL.md) | | Use when shaping a fuzzy product ask into a refined backlog item — problem framing, user-story rewrite, AC tightening — even if the user just says 'help me write this ticket'. |
109
119
  | skill | [`project-analysis-core`](../.agent-src/skills/project-analysis-core/SKILL.md) | | Use for the universal deep-analysis workflow: project discovery, version resolution, docs loading, architecture mapping, execution flow, and package research. |
110
120
  | skill | [`project-analysis-hypothesis-driven`](../.agent-src/skills/project-analysis-hypothesis-driven/SKILL.md) | | Use when a bug has multiple plausible causes across layers — competing hypotheses, validation loops, evidence-based conclusions — even when the user just says 'why is this happening?'. |
111
121
  | skill | [`project-analysis-laravel`](../.agent-src/skills/project-analysis-laravel/SKILL.md) | | Use for deep Laravel project analysis: boot flow, request lifecycle, container usage, Eloquent/data flow, async systems, and Laravel-specific failure patterns. |
@@ -127,10 +137,12 @@ are excluded.
127
137
  | skill | [`receiving-code-review`](../.agent-src/skills/receiving-code-review/SKILL.md) | | Use when processing code review feedback (bot or human) before changing anything — triages, verifies, and pushes back with technical reasoning — even when the user just says 'fix the comments'. |
128
138
  | skill | [`refine-prompt`](../.agent-src/skills/refine-prompt/SKILL.md) | | Reconstruct a free-form prompt into actionable AC + assumptions + confidence band before the engine plans — '/work \"…\"', 'baue X', 'ist der Prompt klar genug für die Engine?'. |
129
139
  | skill | [`refine-ticket`](../.agent-src/skills/refine-ticket/SKILL.md) | | Refine a Jira/Linear ticket before planning — 'refine ticket', 'tighten AC on PROJ-123', 'ist das Ticket klar?' — rewritten ticket, Top-5 risks, persona voices, sub-skills orchestrated, close-prompt. |
140
+ | skill | [`release-comms`](../.agent-src/skills/release-comms/SKILL.md) | | Use when turning a shipped changelog into a release narrative — value-not-feature framing, audience-segmented surfaces, one source of truth. Triggers on 'announce the release', 'write changelog post'. |
130
141
  | skill | [`repomix-packer`](../.agent-src/skills/repomix-packer/SKILL.md) | | Use when packaging a codebase to a single AI-friendly file for LLM analysis — local or remote, XML/Markdown/JSON, token counting, gitignore filtering, peer-side `repomix` CLI. |
131
142
  | skill | [`requesting-code-review`](../.agent-src/skills/requesting-code-review/SKILL.md) | | Use when asking for a review or creating a PR — self-review first, frame the right context, test plan included — even when the user just says 'open a PR' or 'ready to merge'. |
132
143
  | skill | [`review-routing`](../.agent-src/skills/review-routing/SKILL.md) | | Use when preparing a PR description, suggesting reviewers, or flagging risk — produces owner-mapped roles plus historical bug-pattern matches from project-local YAML. |
133
144
  | skill | [`rice-prioritization`](../.agent-src/skills/rice-prioritization/SKILL.md) | | Use when ranking competing initiatives for a roadmap, breaking a tie between two features, or auditing a backlog for hidden low-value work via Reach × Impact × Confidence ÷ Effort. |
145
+ | skill | [`risk-officer`](../.agent-src/skills/risk-officer/SKILL.md) | | Use when surfacing and prioritising risk before commit — blast-radius framing, mitigations, residual-risk verdict — even if the user just says 'what could go wrong here?'. |
134
146
  | skill | [`roadmap-management`](../.agent-src/skills/roadmap-management/SKILL.md) | | Use when the user says "create roadmap", "show roadmap", or "execute roadmap". Creates, reads, and manages roadmap files with phase tracking. |
135
147
  | skill | [`roadmap-writing`](../.agent-src/skills/roadmap-writing/SKILL.md) | | Use when authoring or rewriting a roadmap in agents/roadmaps/ — phase prose, goal sentence, acceptance criteria, council notes — even when the user just says 'write a plan for X' or 'draft a roadmap'. |
136
148
  | skill | [`rtk-output-filtering`](../.agent-src/skills/rtk-output-filtering/SKILL.md) | | Use when running verbose CLI commands — wraps them with rtk (Rust Token Killer) for 60-90% token savings. Covers installation, configuration, and usage patterns. |
@@ -146,8 +158,11 @@ are excluded.
146
158
  | skill | [`skill-reviewer`](../.agent-src/skills/skill-reviewer/SKILL.md) | | Use when reviewing, auditing, or optimizing skills — validates against the 7 Skill Killers checklist and produces fix recommendations. |
147
159
  | skill | [`skill-writing`](../.agent-src/skills/skill-writing/SKILL.md) | | Use when deciding 'should this be a skill or a rule?', creating/improving/reviewing agent skills, SKILL.md frontmatter, or procedure sections — even without saying 'skill-writing'. |
148
160
  | skill | [`sql-writing`](../.agent-src/skills/sql-writing/SKILL.md) | | Use when writing raw SQL — MariaDB/MySQL syntax, parameterization, raw migrations, seeders with `DB::statement` — even when the user just pastes a query and asks 'why is this slow' without naming SQL. |
161
+ | skill | [`stakeholder-tradeoff`](../.agent-src/skills/stakeholder-tradeoff/SKILL.md) | | Use when stakeholders pull a decision in different directions — frames each lens, builds a trade-off matrix, surfaces the cost of every choice — even if the user just says 'PO and ops disagree'. |
149
162
  | skill | [`subagent-orchestration`](../.agent-src/skills/subagent-orchestration/SKILL.md) | | Use when orchestrating implementer/judge subagents — seven modes (do-and-judge ±two-stage, do-in-steps/parallel/worktrees, do-competitively, judge-with-debate) — models from .agent-settings.yml. |
150
163
  | skill | [`systematic-debugging`](../.agent-src/skills/systematic-debugging/SKILL.md) | | Use when hitting a bug, test failure, crash, or unexpected behavior — enforces reproduce → isolate → hypothesize → verify before any fix — even when the user just says 'this is broken' or 'quick fix'. |
164
+ | skill | [`tailwind-engineer`](../.agent-src/skills/tailwind-engineer/SKILL.md) | | Use when writing or reviewing Tailwind CSS — utility-first, design-token discipline, no inline-style drift, responsive variants, dark mode — even on 'style this' or 'mach das hübsch'. |
165
+ | skill | [`tech-debt-tracker`](../.agent-src/skills/tech-debt-tracker/SKILL.md) | | Use when surfacing tech debt as trackable items — interest-vs-principal framing, prioritisation by carrying cost, repayment plan — even if the user just says 'this codebase is a mess'. |
151
166
  | skill | [`technical-specification`](../.agent-src/skills/technical-specification/SKILL.md) | | Use when the user says "write a spec", "create RFC", "write a PRD", or "document this decision". Writes technical specifications, PRDs, RFCs, and ADRs with clear structure. |
152
167
  | skill | [`terraform`](../.agent-src/skills/terraform/SKILL.md) | | Use when writing Terraform — AWS modules, resources, variables, outputs, remote state — even when the user just says 'provision this infra' or 'add an S3 bucket' without naming Terraform. |
153
168
  | skill | [`terragrunt`](../.agent-src/skills/terragrunt/SKILL.md) | | Use when working with Terragrunt — DRY multi-env configs, module dependencies, remote state orchestration — even when the user just says 'deploy this to staging and prod' without naming Terragrunt. |
@@ -157,6 +172,7 @@ are excluded.
157
172
  | skill | [`threat-modeling`](../.agent-src/skills/threat-modeling/SKILL.md) | | Use when adding auth, webhooks, uploads, queues, secrets, tenant boundaries, or public endpoints — produces trust boundaries + abuse cases mapped to files, BEFORE implementation. |
158
173
  | skill | [`token-optimizer`](../.agent-src/skills/token-optimizer/SKILL.md) | | Use BEFORE any verbose CLI run, large file read, doc conversion, or near-context handoff — single decision tree keyed by intent that cites the canonical token-saving asset. Consult before the action. |
159
174
  | skill | [`traefik`](../.agent-src/skills/traefik/SKILL.md) | | 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. |
175
+ | skill | [`ui-component-architect`](../.agent-src/skills/ui-component-architect/SKILL.md) | | Use when shaping a UI component tree — composition vs inheritance, slot patterns, prop API design, controlled vs uncontrolled, polymorphic — even on 'split this component'. |
160
176
  | skill | [`unit-economics-modeling`](../.agent-src/skills/unit-economics-modeling/SKILL.md) | | Use when modeling CAC, LTV, gross-margin payback, or contribution margin per customer — for SaaS, marketplace, or transactional businesses. |
161
177
  | skill | [`universal-project-analysis`](../.agent-src/skills/universal-project-analysis/SKILL.md) | | ONLY when user explicitly requests: full project analysis, deep codebase audit, or comprehensive architecture review. Routes to core and framework-specific analysis skills. |
162
178
  | skill | [`upstream-contribute`](../.agent-src/skills/upstream-contribute/SKILL.md) | | Use when a learning, new skill, rule improvement, or bug fix from a consumer project should be contributed back to the shared agent-config package. |
@@ -315,7 +331,7 @@ are excluded.
315
331
  | command | [`research:deep`](../.agent-src/commands/research/deep.md) | cluster: research | Read `outline.yaml`, research each item in batches, write per-item JSON validated against the project-local research-schema. No Python runtime, no `~/.claude/` paths. |
316
332
  | command | [`research:report`](../.agent-src/commands/research/report.md) | cluster: research | Summarise per-item JSON results from `/research:deep` into `report.md`. Agent renders directly + emits an optional `jq` template for deterministic regeneration. No Python runtime. |
317
333
  | command | [`research`](../.agent-src/commands/research.md) | cluster: research | Preliminary research scaffolder — pick objects, define fields, emit `outline.yaml` + `fields.yaml` for downstream deep research. Use for surveys, benchmarks, tech selection, competitive scans. |
318
- | command | [`review-changes`](../.agent-src/commands/review-changes.md) | | Self-review local changes before creating a PR — dispatches to four specialized judges (bug, security, tests, quality) and consolidates verdicts |
334
+ | command | [`review-changes`](../.agent-src/commands/review-changes.md) | | Self-review local changes before creating a PR — dispatches to five specialized judges (bug, security, tests, quality, architecture) and consolidates verdicts |
319
335
  | command | [`review-routing`](../.agent-src/commands/review-routing.md) | | Compute reviewer roles and matched historical bug patterns for the current diff, using project-local ownership-map.yml and historical-bug-patterns.yml |
320
336
  | command | [`roadmap:ai-council`](../.agent-src/commands/roadmap/ai-council.md) | cluster: roadmap | Challenge a roadmap with the AI council (deep tier) and refactor from convergence findings. Wraps `/council default` pinned to `--input-mode roadmap --depth deep`; patches surface as numbered options. |
321
337
  | command | [`roadmap:create`](../.agent-src/commands/roadmap/create.md) | cluster: roadmap | Interactively create a new roadmap file in agents/roadmaps/ |
@@ -335,7 +351,7 @@ are excluded.
335
351
  | command | [`upstream-contribute`](../.agent-src/commands/upstream-contribute.md) | | Contribute a learning, skill, rule, or fix from a consumer project back to the shared agent-config package |
336
352
  | command | [`work`](../.agent-src/commands/work.md) | | Drive a free-form prompt end-to-end through refine → score → plan → implement → test → verify → report — Option-A loop over the `work_engine` Python engine, confidence-band gated, no auto-git. |
337
353
 
338
- ## Guidelines (68)
354
+ ## Guidelines (69)
339
355
 
340
356
  | kind | name | category | description |
341
357
  |---|---|---|---|
@@ -375,6 +391,7 @@ are excluded.
375
391
  | guideline | [`verify-before-complete-demos`](../docs/guidelines/agent-infra/verify-before-complete-demos.md) | agent-infra | |
376
392
  | guideline | [`augment-portability-patterns`](../docs/guidelines/augment-portability-patterns.md) | (root) | |
377
393
  | guideline | [`code-clarity`](../docs/guidelines/code-clarity.md) | (root) | |
394
+ | guideline | [`cross-role-handoff`](../docs/guidelines/cross-role-handoff.md) | (root) | |
378
395
  | guideline | [`readme-size-and-splitting`](../docs/guidelines/docs/readme-size-and-splitting.md) | docs | |
379
396
  | guideline | [`playwright`](../docs/guidelines/e2e/playwright.md) | e2e | |
380
397
  | guideline | [`api-design`](../docs/guidelines/php/api-design.md) | php | |
@@ -0,0 +1,133 @@
1
+ ---
2
+ stability: stable
3
+ ---
4
+
5
+
6
+ # Context-Spine Contract
7
+
8
+ > **Status:** active · **Stability:** stable · **Owner:** unified-senior-roles Block K1
9
+ > · **Lint gate:** `task lint-skills` (frontmatter shape only — slot semantics are author-side)
10
+
11
+ Senior skills repeatedly need three slabs of context that the user
12
+ already supplied earlier in the project: **what the product is**,
13
+ **who the team is**, **what the repo looks like**. The context-spine
14
+ mechanic captures those slabs once per project and lets every senior
15
+ skill cite the slot it needs — without re-asking the user, without
16
+ re-reading the manifest tree on every entry.
17
+
18
+ ## § 1 — Purpose
19
+
20
+ Three failure modes the spine prevents:
21
+
22
+ 1. **Repeat-the-context tax** — every senior skill restates "what is
23
+ this project / what does the team do / where does the code live"
24
+ to the user. The spine factors that into shared slots.
25
+ 2. **Implicit-read drift** — a skill silently reads `composer.json` /
26
+ `README.md` / `package.json` to infer context, gets stale
27
+ information, and bakes it into the artifact. Spine reads are
28
+ **opt-in via frontmatter**, never implicit.
29
+ 3. **Cross-role bikeshed** — Wave-2 personas (Block N) and Wing-3 / 4
30
+ senior skills argue over whose context-doc is canonical. The spine
31
+ names three slots and freezes the count.
32
+
33
+ ## § 2 — Slot definitions
34
+
35
+ The spine has **exactly three slots**. Council Q1 verdict (2026-05-05,
36
+ KEEP-3): slot count is locked; extensions require an ADR (§ 5).
37
+
38
+ | Slot | Path under `agents/context-spine/` | Owner | Typical content |
39
+ |---|---|---|---|
40
+ | `product` | `product.md` | Product / discovery wing | What the product **is**, who it serves, the problem it solves, the JTBD framing, the bounded scope. Read by Block-L senior PO / discovery skills. |
41
+ | `team` | `team.md` | RevOps / maintainer wing | Who **maintains** this codebase, how decisions are made, review-routing conventions, cadence (release rhythm, planning ritual). Read by review-routing, finishing-a-development-branch, persona overrides. |
42
+ | `repo` | `repo.md` | Engineering wing | What the codebase **is** at the file-tree level: stack one-liner, primary languages, top-level module map, deploy target. Read by analysis skills, blast-radius-analyzer, project-analysis-* skills. |
43
+
44
+ Slots are markdown files. Each is **≤ 200 lines**; longer means the
45
+ slot is doing two jobs and the author should split or trim. Empty /
46
+ missing slot is allowed — the citing skill MUST handle absence
47
+ gracefully and fall back to its existing read paths.
48
+
49
+ ## § 3 — Frontmatter opt-in
50
+
51
+ A senior skill declares which slots it reads via the `context_spine`
52
+ frontmatter array:
53
+
54
+ ```yaml
55
+ ---
56
+ name: customer-research
57
+ tier: senior
58
+ context_spine: [product, team]
59
+ ...
60
+ ---
61
+ ```
62
+
63
+ Rules:
64
+
65
+ - The key is **optional**. Senior skills MAY ship without it; the
66
+ default (`[]`) means the skill does not read the spine.
67
+ - Values are restricted to the literal slot names: `product`, `team`,
68
+ `repo`. Unknown values fail `task lint-skills` with
69
+ `unknown_context_spine_slot`.
70
+ - Reads MUST be opt-in and explicit. A skill body that says *"reads
71
+ `agents/context-spine/product.md` if present"* without declaring
72
+ the slot in frontmatter is **incorrect** — it bypasses the lint
73
+ gate and the user's expectation that the spine read is visible.
74
+ - The frontmatter value is the **contract**. The skill body cites
75
+ `agents/context-spine/<slot>.md` once near the top and lets the
76
+ reader follow the link if they care.
77
+
78
+ ## § 4 — No implicit reads
79
+
80
+ The spine is a **discipline**, not a runtime. There is no Python
81
+ loader that injects spine content into a skill's prompt. The agent
82
+ loading a senior skill reads the skill body, sees the
83
+ `context_spine: [...]` declaration, and — if the slot files exist
84
+ — quotes them inline before executing the skill's procedure. The
85
+ skill body MUST NOT state a behavior that depends on the spine being
86
+ read; absence is recoverable, presence is a bonus.
87
+
88
+ This keeps the spine cheap (no orchestration plumbing), explicit
89
+ (every read is in frontmatter), and reversible (deleting the slot
90
+ file does not break the skill).
91
+
92
+ ## § 5 — Slot-add policy
93
+
94
+ Adding a fourth slot is **structurally allowed but procedurally
95
+ expensive**. Two preconditions:
96
+
97
+ 1. **Citation evidence.** ≥ 2 shipped senior skills declare the new
98
+ slot in their frontmatter and cite it in the body, with PRs
99
+ merged to `main`. Drafts and roadmap items do not count.
100
+ 2. **ADR.** A new ADR under `docs/contracts/` named
101
+ `adr-context-spine-slot-<name>.md` documents the cognition gap
102
+ the existing three slots cannot fill, the slot's owner wing, and
103
+ the migration plan for the existing senior catalog (do they
104
+ declare the new slot, do they ignore it, do they get retrofitted).
105
+
106
+ The ADR ships with the schema bump (`scripts/schemas/skill.schema.json`
107
+ extends the `context_spine` enum) and a CHANGELOG entry under
108
+ `### Breaking` if the new enum value tightens an existing skill's
109
+ declaration.
110
+
111
+ This policy mitigates the slot-sprawl failure mode: "tri-slot locked
112
+ at 3 + ADR-gated growth" is the brake. The ADR is the single growth
113
+ lever; no consumer-side override exists.
114
+
115
+ ## § 6 — Author checklist
116
+
117
+ Before shipping a senior skill that opts into the spine:
118
+
119
+ - [ ] Frontmatter declares `context_spine:` with values from
120
+ `{product, team, repo}`.
121
+ - [ ] Skill body cites `agents/context-spine/<slot>.md` near the top
122
+ (one link per declared slot).
123
+ - [ ] Procedure handles missing-slot gracefully — falls back to the
124
+ skill's existing read path, never errors out.
125
+ - [ ] `task lint-skills` passes with no `unknown_context_spine_slot`.
126
+
127
+ ## See also
128
+
129
+ - `.agent-src.uncompressed/rules/skill-quality.md` § Senior-Tier
130
+ Required Structure — the four blocks every `tier: senior` skill
131
+ ships independently of spine opt-in.
132
+ - `docs/contracts/cross-wing-handoff.md` — typed handoffs between
133
+ senior skills; orthogonal to the spine (composition vs context).