@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
@@ -0,0 +1,141 @@
1
+ ---
2
+ name: risk-officer
3
+ description: "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?'."
4
+ personas:
5
+ - critical-challenger
6
+ - senior-engineer
7
+ source: package
8
+ domain: quality
9
+ ---
10
+
11
+ # risk-officer
12
+
13
+ > Surface risks the implementer or PO is likely to underweight, score
14
+ > them by **likelihood × impact**, and propose mitigations the team
15
+ > can actually execute. Sibling of
16
+ > [`threat-modeling`](../threat-modeling/SKILL.md) (security-only)
17
+ > and [`blast-radius-analyzer`](../blast-radius-analyzer/SKILL.md)
18
+ > (call-site only) — this skill takes the wider product, ops, and
19
+ > coordination view.
20
+
21
+ ## When to use
22
+
23
+ - Pre-implementation: a roadmap, ADR, or refined ticket needs a risk
24
+ pass before the team commits.
25
+ - Pre-merge: a non-trivial diff is about to land and the team wants
26
+ one more risk lens beyond the four standard judges.
27
+ - Post-incident: surface the risks the team should track to prevent
28
+ recurrence (without writing the post-mortem itself).
29
+ - German triggers: "was kann schiefgehen?", "Risiko-Check", "wo
30
+ brennt es?".
31
+
32
+ Do NOT use when:
33
+
34
+ - The concern is exclusively security or authZ — route to
35
+ [`threat-modeling`](../threat-modeling/SKILL.md) or
36
+ [`judge-security-auditor`](../judge-security-auditor/SKILL.md).
37
+ - The concern is exclusively call-site impact of a refactor — route
38
+ to [`blast-radius-analyzer`](../blast-radius-analyzer/SKILL.md).
39
+ - The user wants a fix, not a risk view — risk-officer never patches.
40
+
41
+ ## Procedure
42
+
43
+ ### 1. Inspect the change
44
+
45
+ Read the input (roadmap step, ticket, diff, post-mortem) and identify
46
+ the scope in one sentence: *"This change does X for users Y, touching
47
+ systems Z."* If you cannot, the artefact is not reviewable — stop and
48
+ ask.
49
+
50
+ ### 2. Enumerate risks across five lenses
51
+
52
+ | Lens | Sample questions |
53
+ |---|---|
54
+ | Product | Wrong outcome shipped, churn, support load, brand impact |
55
+ | Operations | Rollback path, observability, on-call burden, alert noise |
56
+ | Coordination | Cross-team dependencies, communication gaps, sequencing |
57
+ | Data | Loss, corruption, leakage, retention, compliance, residency |
58
+ | Time | Schedule slip, opportunity cost, sunk-cost lock-in |
59
+
60
+ Per lens, list each risk as a single bullet. Reject vague risks —
61
+ "could break things" is not a risk; "queue worker silently drops
62
+ messages on retry exhaustion" is.
63
+
64
+ ### 3. Score each risk
65
+
66
+ For every risk, assign **L** (likelihood: low / med / high) and **I**
67
+ (impact: low / med / high). Top-5 sort by `LxI` rank; cite the
68
+ trigger condition for each L and I. Do NOT pad to a fixed count —
69
+ three sharp risks beat ten generic ones.
70
+
71
+ ### 4. Propose mitigations
72
+
73
+ For the top-5 risks, propose **one** mitigation that the team can
74
+ own. Each mitigation has an owner role (eng, ops, PO, support), a
75
+ rough size (S / M / L), and a residual-risk note (what stays after
76
+ mitigation). Mitigations the team cannot execute are not mitigations
77
+ — flag them as `accept` or escalate.
78
+
79
+ ### 5. Issue a verdict
80
+
81
+ | Verdict | When to issue |
82
+ |---|---|
83
+ | `proceed` | Top-5 risks have owned mitigations; residual is acceptable |
84
+ | `proceed-with-mitigations` | Mitigations must land BEFORE or WITH the change |
85
+ | `pause` | One or more `high × high` risks have no executable mitigation |
86
+
87
+ `pause` is not a veto — it forces the user to decide explicitly.
88
+
89
+ ### 6. Validate the verdict
90
+
91
+ Before emitting, verify each top-5 risk has: a concrete trigger, a
92
+ scored L×I, an owned mitigation (or explicit `accept`), and a
93
+ residual note. Ensure the verdict matches the worst residual — a
94
+ `high × high` residual without executable mitigation must produce
95
+ `pause`, not `proceed`.
96
+
97
+ ## Output format
98
+
99
+ The report is a single block with these ordered fields:
100
+
101
+ 1. `Target:` — one-sentence scope from step 1
102
+ 2. `Top-5 risks:` — numbered list, each with `L=`, `I=`, trigger,
103
+ mitigation, owner, size, residual
104
+ 3. `Other risks tracked:` — count of risks below the top-5 cut
105
+ 4. `Verdict:` — exactly one of `proceed` / `proceed-with-mitigations`
106
+ / `pause`
107
+
108
+ ```
109
+ Risk-Officer
110
+ Target: <one-sentence scope>
111
+
112
+ Top-5 risks:
113
+ 1. 🔴 <risk> (L=high, I=high) Trigger: <condition>
114
+ Mitigation: <action> Owner: <role> Size: <S/M/L>
115
+ Residual: <what remains>
116
+ 2. 🟡 <risk> (L=med, I=high) ...
117
+
118
+ Other risks tracked: <count>, summarised below or omitted if low/low.
119
+
120
+ Verdict: proceed | proceed-with-mitigations | pause
121
+ ```
122
+
123
+ ## Gotcha
124
+
125
+ - A risk without a trigger is a vibe, not a risk. Reject vibes.
126
+ - Likelihood is conditional on the change — not the universal base
127
+ rate of the system. "Postgres goes down" is not a risk of *this
128
+ change* unless the change increases that likelihood.
129
+ - Mitigations the team will not execute are theatre. Be honest in
130
+ the residual-risk note.
131
+
132
+ ## Do NOT
133
+
134
+ - Do NOT enumerate every conceivable risk — top-5 with rationale is
135
+ the contract.
136
+ - Do NOT score `high × high` reflexively to be cautious; mis-scoring
137
+ destroys the rank.
138
+ - Do NOT propose mitigations the agent itself will own — the owner
139
+ is always a human role.
140
+ - Do NOT issue `pause` as a soft veto on something the user already
141
+ decided; issue `proceed-with-mitigations` and surface the residual.
@@ -2,6 +2,7 @@
2
2
  name: roadmap-management
3
3
  description: "Use when the user says "create roadmap", "show roadmap", or "execute roadmap". Creates, reads, and manages roadmap files with phase tracking."
4
4
  source: package
5
+ domain: process
5
6
  ---
6
7
 
7
8
  # roadmap-manager
@@ -2,6 +2,7 @@
2
2
  name: roadmap-writing
3
3
  description: "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'."
4
4
  source: package
5
+ domain: process
5
6
  ---
6
7
 
7
8
  <!-- cloud_safe: degrade -->
@@ -161,6 +162,6 @@ to every roadmap you author.
161
162
 
162
163
  ## Examples
163
164
 
164
- Browse `agents/roadmaps/` (active plate) and `agents/roadmaps/archive/`
165
+ Browse `agents/roadmaps/` (active set) and `agents/roadmaps/archive/`
165
166
  (closed work) for canonical structural / tactical / structural-with-council
166
167
  examples.
@@ -2,6 +2,7 @@
2
2
  name: rtk-output-filtering
3
3
  description: "Use when running verbose CLI commands — wraps them with rtk (Rust Token Killer) for 60-90% token savings. Covers installation, configuration, and usage patterns."
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: rule-writing
3
3
  description: "Use when creating or editing a rule in .agent-src.uncompressed/rules/ — trigger wording, always vs auto classification, size budget — even when the user just says 'add a rule 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: script-writing
3
3
  description: "Use when adding or editing any script under `scripts/` — `--quiet` flag, `_lib/script_output` helpers, silent Taskfile wiring, Iron-Law carve-outs — even when you just say 'add a check script 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: secrets-management
3
3
  description: "Use when picking a secrets store, designing rotation, or wiring scanning gates — multi-cloud (Vault, AWS, Azure, GCP), CI, and Kubernetes — decision framework, provider deep-dives externalized."
4
4
  source: package
5
+ domain: devops
5
6
  status: active
6
7
  refresh_trigger: "A cited provider deprecates an auth method, OR External Secrets Operator ships a major version with breaking CRD changes, OR ≥30% of cited scanner tools change their gate semantics."
7
8
  sunset_criterion: "When provider docs (Vault, AWS Secrets Manager, Azure Key Vault, GCP Secret Manager) all converge on a single rotation + scanning standard AND consumer projects no longer cite this skill in PR reviews for two consecutive review cycles."
@@ -2,6 +2,7 @@
2
2
  name: security
3
3
  description: "Use when applying security best practices — authentication, authorization via Policies, CSRF protection, input sanitization, rate limiting, or secure coding."
4
4
  source: package
5
+ domain: quality
5
6
  ---
6
7
 
7
8
  # security
@@ -2,6 +2,7 @@
2
2
  name: security-audit
3
3
  description: "ONLY when user explicitly requests: security audit, vulnerability scan, or penetration test review. NOT for regular feature work."
4
4
  source: package
5
+ domain: quality
5
6
  ---
6
7
 
7
8
  # security-audit
@@ -2,6 +2,7 @@
2
2
  name: sentry-integration
3
3
  description: "Use when the user shares a Sentry URL, says "check Sentry", or wants to investigate production errors. Uses Sentry MCP tools for deep analysis."
4
4
  source: package
5
+ domain: devops
5
6
  ---
6
7
 
7
8
  # Sentry Skill
@@ -2,6 +2,7 @@
2
2
  name: sequential-thinking
3
3
  description: "ONLY when user explicitly requests: step-by-step reasoning, structured problem decomposition, or iterative analysis. NOT for regular coding tasks."
4
4
  source: package
5
+ domain: process
5
6
  ---
6
7
 
7
8
  # sequential-thinking
@@ -2,6 +2,7 @@
2
2
  name: skill-improvement-pipeline
3
3
  description: "ONLY when user explicitly requests: run the skill improvement pipeline after a learning was detected. Orchestrates capture, classify, create, validate, and apply."
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: skill-management
3
3
  description: "Use when compressing, decompressing, refactoring, or improving existing skills. Covers the full skill lifecycle from verbose → sharp → maintained."
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: skill-reviewer
3
3
  description: "Use when reviewing, auditing, or optimizing skills — validates against the 7 Skill Killers checklist and produces fix recommendations."
4
4
  source: package
5
+ domain: quality
5
6
  execution:
6
7
  type: assisted
7
8
  handler: internal
@@ -2,6 +2,7 @@
2
2
  name: skill-writing
3
3
  description: "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'."
4
4
  source: project
5
+ domain: process
5
6
  ---
6
7
 
7
8
  # skill-writing
@@ -2,6 +2,7 @@
2
2
  name: sql-writing
3
3
  description: "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."
4
4
  source: package
5
+ domain: engineering
5
6
  ---
6
7
 
7
8
  # sql
@@ -0,0 +1,237 @@
1
+ ---
2
+ name: stakeholder-tradeoff
3
+ description: "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'."
4
+ status: active
5
+ tier: senior
6
+ source: package
7
+ domain: product
8
+ context_spine: [team, product]
9
+ personas:
10
+ - product-owner
11
+ - stakeholder
12
+ - critical-challenger
13
+ ---
14
+
15
+ # stakeholder-tradeoff
16
+
17
+ > Make explicit who pays and who benefits when a decision pulls
18
+ > stakeholders in different directions. Builds a **stakeholder ×
19
+ > criterion matrix** so the trade-off is visible, not hidden in
20
+ > politics. Sibling of [`decision-record`](../decision-record/SKILL.md)
21
+ > — that one locks the choice; this one surfaces the *human cost*
22
+ > of each option before the lock.
23
+
24
+ ## When to use
25
+
26
+ - PO, ops, support, and engineering disagree on an approach and the
27
+ user wants the disagreement made legible.
28
+ - A decision benefits one segment at the cost of another (free vs
29
+ paid users, internal vs external, region A vs region B).
30
+ - A roadmap step has *un*declared trade-offs and the user wants
31
+ them surfaced before commit.
32
+ - German triggers: "Wer zahlt was?", "Stakeholder-Konflikt",
33
+ "Trade-off zwischen X und Y".
34
+
35
+ Do NOT use when:
36
+
37
+ - One stakeholder owns the decision unambiguously — surface their
38
+ decision and stop.
39
+ - The trade-off is technical-only (perf vs storage) — route to
40
+ [`decision-record`](../decision-record/SKILL.md).
41
+ - The trade-off is risk-only — route to
42
+ [`risk-officer`](../risk-officer/SKILL.md).
43
+
44
+ ## Cognition cluster
45
+
46
+ - **Mental model 5 — Opportunity cost.** Every `+` on the matrix is
47
+ also an opportunity cost on the stakeholders not getting that
48
+ benefit; the matrix only earns its keep when it surfaces who pays
49
+ for the chosen `+`. See
50
+ [`docs/contracts/mental-models.md`](../../../docs/contracts/mental-models.md) § 5.
51
+ - **Mental model 27 — Outcome over output.** Picking the option with
52
+ the most checkmarks is output theatre; pick the option whose `–`
53
+ cells land on stakeholders who can execute mitigations. See
54
+ `mental-models.md` § 27.
55
+ - **Mental model 29 — Pre-mortems.** For the recommended option,
56
+ state the failure mode each `–`-bearing stakeholder will name in
57
+ six months. If you cannot, the lens is incomplete — re-interview.
58
+ See `mental-models.md` § 29.
59
+ - **Team + product context-spine slots.** Read **team** for the
60
+ silent-stakeholders inventory (on-call, support, finance) and
61
+ **product** for end-user / segment lenses (free vs paid, region,
62
+ cohort). See [`context-spine`](../../../docs/contracts/context-spine.md).
63
+
64
+ ## Procedure
65
+
66
+ ### 1. Identify the stakeholders
67
+
68
+ Each by **role**, not name. Roles are stable across people —
69
+ "on-call engineer" not "Anna". Include silent stakeholders the
70
+ room forgot (support, finance, legal, end-users, future-team).
71
+
72
+ ### 2. Capture each stakeholder's lens
73
+
74
+ For each stakeholder:
75
+
76
+ - **What they want** — outcome, in their voice.
77
+ - **What they fear** — the failure mode they cannot accept.
78
+ - **What they will trade** — what they will give up to get the
79
+ outcome.
80
+
81
+ If a lens is missing, mark `unknown` and surface it — do NOT invent
82
+ a position the stakeholder did not state.
83
+
84
+ ### 3. Build the matrix
85
+
86
+ | Criterion | PO | Ops | Support | Eng | End-user | ... |
87
+ |---|---|---|---|---|---|---|
88
+ | Time-to-ship | + | – | 0 | – | + | |
89
+ | Operational load | 0 | – | – | – | + | |
90
+ | ...
91
+
92
+ `+` benefits, `–` costs, `0` neutral. The columns are stakeholders;
93
+ the rows are criteria. Criteria that score `0` everywhere are
94
+ noise — drop.
95
+
96
+ ### 4. Surface the trade-off
97
+
98
+ Pick the top 2-3 criteria where the matrix splits stakeholders
99
+ hardest. State the trade-off in plain language:
100
+
101
+ > *"Picking option X means PO ships faster, but on-call carries
102
+ > more pages. Picking option Y means on-call sleeps, but PO slips
103
+ > two weeks."*
104
+
105
+ If no option splits the matrix unfavourably, the trade-off is
106
+ imaginary — surface that and stop.
107
+
108
+ ### 5. Recommend a path
109
+
110
+ Pick the option whose `–` cells are owned by stakeholders who can
111
+ execute mitigations. Avoid options where the cost lands on a
112
+ stakeholder who has no voice in the room. State the recommendation
113
+ explicitly with a one-sentence rationale.
114
+
115
+ ### 6. Validate the matrix
116
+
117
+ Verify before emitting: every stakeholder has wants / fears / trades
118
+ filled or marked `unknown`, the matrix has no row that scores `0`
119
+ everywhere, the trade-off paragraph names a concrete cost (not just
120
+ "there is a trade-off"), and the recommendation cites which `–`
121
+ cells the named owner can execute. Ensure no silent stakeholder
122
+ column is missing.
123
+
124
+ ## Related Skills
125
+
126
+ **WHEN to use this**
127
+
128
+ - A request crosses two stakeholder lenses (eng ↔ PO, PO ↔ ops, ops
129
+ ↔ infra) and the trade-off is **not yet code**.
130
+ - The room agrees on the goal but disagrees on who absorbs the cost.
131
+ - A roadmap step has *un*declared trade-offs that need surfacing
132
+ before commit.
133
+
134
+ **WHEN NOT to use this**
135
+
136
+ - The conflict surfaces **inside an open PR** (test-coverage fails
137
+ but PO wants to ship) — start with `code-review-multi-lens`
138
+ (sibling C8); a C8 verdict that surfaces stakeholder conflict
139
+ becomes input to this skill for escalation. Boundary prose lives
140
+ in [`docs/guidelines/cross-role-handoff.md`](../../../docs/guidelines/cross-role-handoff.md).
141
+ - The trade-off is purely technical (perf vs storage, sync vs async)
142
+ — route to [`decision-record`](../decision-record/SKILL.md).
143
+ - The dominant axis is risk, not stakeholder cost — route to
144
+ [`risk-officer`](../risk-officer/SKILL.md).
145
+ - The output is the locked decision artifact — hand off to
146
+ [`decision-record`](../decision-record/SKILL.md) once the matrix
147
+ is built.
148
+
149
+ ## When the agent should load this
150
+
151
+ - "Wer zahlt was bei dieser Entscheidung?"
152
+ - "PO und Ops sind sich uneinig — wir brauchen Klarheit."
153
+ - "Was ist der Trade-off zwischen X und Y für die einzelnen Lenses?"
154
+ - "Stakeholder-Konflikt vor dem Commit auflösen."
155
+ - "Diese Roadmap-Phase hat undeclared trade-offs."
156
+
157
+ ## Output
158
+
159
+ The trade-off report is a single block with these ordered fields:
160
+
161
+ 1. `Decision:` — one sentence framing the choice
162
+ 2. `Stakeholders:` — bullet list, each with wants / fears / trades
163
+ 3. `Matrix:` — markdown table with criteria rows and stakeholder columns
164
+ 4. `Trade-off in plain language:` — one paragraph naming the cost
165
+ 5. `Recommendation:`, `Rationale:`, `Next:` — explicit choice +
166
+ rationale + handoff target
167
+
168
+ ```
169
+ Stakeholder trade-off
170
+ Decision: <one sentence>
171
+
172
+ Stakeholders:
173
+ - <role> wants: <outcome> fears: <failure> trades: <what>
174
+ - ...
175
+
176
+ Matrix:
177
+ | Criterion | <SH 1> | <SH 2> | ... |
178
+ | ...
179
+
180
+ Trade-off in plain language:
181
+ <one paragraph>
182
+
183
+ Recommendation: <option>
184
+ Rationale: <one sentence>
185
+ Next: /decision-record to lock the choice
186
+ ```
187
+
188
+ ## Gotcha
189
+
190
+ - The room is rarely all the stakeholders. Add the silent ones
191
+ explicitly (support, future-team, end-users).
192
+ - A `+` everywhere column is suspect; either a stakeholder
193
+ understated the cost or you understated the cost.
194
+ - The "happy path" recommendation is the option with the cost on
195
+ someone who is *not in the room*. Resist it.
196
+
197
+ ## Do NOT
198
+
199
+ - Do NOT label stakeholders by name — roles only.
200
+ - Do NOT score before listing the stakeholders' own words; agent
201
+ ventriloquism is the failure mode.
202
+ - Do NOT pick the option that scores best on *all* stakeholders —
203
+ if it exists, the trade-off was imaginary; surface that.
204
+ - Do NOT lock the choice in this skill; hand off to
205
+ `decision-record`.
206
+
207
+ ## Runnable example
208
+
209
+ A pricing-page rewrite that ships faster vs gives ops more lead time:
210
+
211
+ - Decision: *"Should the pricing-page rewrite ship in 2 weeks
212
+ (option A) or 4 weeks with a managed rollout (option B)?"*
213
+ - Stakeholders:
214
+ - **PO** wants: revenue lift on Q-end · fears: churn signal in
215
+ the noise · trades: copy polish for time-to-ship.
216
+ - **On-call eng** wants: change window outside Friday · fears:
217
+ Saturday paging on a marketing rollout · trades: shippable A/B
218
+ framework for a deploy gate.
219
+ - **Support lead** wants: scripted answers for the new tier ·
220
+ fears: ticket-volume spike unprepared · trades: depth of
221
+ answers for breadth.
222
+ - **End-user (free tier)** wants: clear "what stays free" line ·
223
+ fears: silent paywall on a feature they rely on · trades:
224
+ nothing — silent stakeholder.
225
+ - Matrix splits hardest on **operational load** (option A: `–` for
226
+ on-call + support, `+` for PO) and **clarity for end-users**
227
+ (option B: `+` for support + end-user, `–` for PO timing).
228
+ - Trade-off in plain language: *"Option A means PO hits Q-end, but
229
+ on-call carries a marketing-rollout pager and support eats ticket
230
+ spikes blind. Option B means support and end-users land softly,
231
+ but PO slips two weeks past Q-end."*
232
+ - Recommendation: option B. Rationale: the `–` cells in option A
233
+ land on stakeholders who **cannot** mitigate from inside the
234
+ rollout (free-tier user has no voice in the room).
235
+ - Next: `/decision-record` to lock option B; the supersession chain
236
+ cites the original "ship by Q-end" mandate as the constraint that
237
+ changed.
@@ -2,6 +2,7 @@
2
2
  name: subagent-orchestration
3
3
  description: "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."
4
4
  source: package
5
+ domain: process
5
6
  ---
6
7
 
7
8
  # subagent-orchestration
@@ -159,6 +160,18 @@ step is under ~30 minutes. The branch-creation, context-switch, and
159
160
  worktree-cleanup cost dominates. Stick with mode 1 (do-and-judge)
160
161
  or mode 3 (do-in-steps) for those.
161
162
 
163
+ **Competitive variant — per-candidate isolation.** Mode 5
164
+ (`do-competitively`) + worktrees: each candidate runs in its own
165
+ worktree (no cross-candidate state leak). Selection rules:
166
+
167
+ - **No auto-merge.** Orchestrator never merges candidate branches.
168
+ Hard Floor per [`non-destructive-by-default`](../../rules/non-destructive-by-default.md) —
169
+ applies even under standing autonomy. ADR-005 records reasoning.
170
+ - **Ranked presentation.** Judge ranks 1..N with one-line
171
+ justifications; user picks winner.
172
+ - **Loser worktrees stay.** Orchestrator does not auto-delete losing
173
+ worktrees — user keeps option to harvest a partial idea before cleanup.
174
+
162
175
  ## Status taxonomy — every subagent return uses one envelope
163
176
 
164
177
  Every implementer or judge return must conform to
@@ -2,6 +2,7 @@
2
2
  name: systematic-debugging
3
3
  description: "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'."
4
4
  source: package
5
+ domain: discovery
5
6
  council_depth: deep
6
7
  ---
7
8