Stakeholder tradeoff
Skill event4u-app/agent-config/src/skills/stakeholder-tradeoff
Universal AI Agent OS — audited skills, governance rules, replayable state. One contract, every host agent.
npx -y skills add event4u-app/agent-config --skill stakeholder-tradeoffAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 7 stars7 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
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'.
SKILL.md
9.2 KB, as published. Nobody here has run it
stakeholder-tradeoff
Make explicit who pays and who benefits when a decision pulls stakeholders in different directions. Builds a stakeholder × criterion matrix so the trade-off is visible, not hidden in politics. Sibling of
decision-record— that one locks the choice; this one surfaces the human cost of each option before the lock.
When to use
- PO, ops, support, and engineering disagree on an approach and the user wants the disagreement made legible.
- A decision benefits one segment at the cost of another (free vs paid users, internal vs external, region A vs region B).
- A roadmap step has undeclared trade-offs and the user wants them surfaced before commit.
- German triggers: "Wer zahlt was?", "Stakeholder-Konflikt", "Trade-off zwischen X und Y".
Do NOT use when:
- One stakeholder owns the decision unambiguously — surface their decision and stop.
- The trade-off is technical-only (perf vs storage) — route to
decision-record. - The trade-off is risk-only — route to
risk-officer.
Cognition cluster
- Mental model 5 — Opportunity cost. Every
+on the matrix is also an opportunity cost on the stakeholders not getting that benefit; the matrix only earns its keep when it surfaces who pays for the chosen+. Seedocs/contracts/mental-models.md§ 5. - Mental model 27 — Outcome over output. Picking the option with
the most checkmarks is output theatre; pick the option whose
–cells land on stakeholders who can execute mitigations. Seemental-models.md§ 27. - Mental model 29 — Pre-mortems. For the recommended option,
state the failure mode each
–-bearing stakeholder will name in six months. If you cannot, the lens is incomplete — re-interview. Seemental-models.md§ 29. - Team + product context-spine slots. Read team for the
silent-stakeholders inventory (on-call, support, finance) and
product for end-user / segment lenses (free vs paid, region,
cohort). See
context-spine.
Procedure
1. Identify the stakeholders
Each by role, not name. Roles are stable across people — "on-call engineer" not "Anna". Include silent stakeholders the room forgot (support, finance, legal, end-users, future-team).
2. Capture each stakeholder's lens
For each stakeholder:
- What they want — outcome, in their voice.
- What they fear — the failure mode they cannot accept.
- What they will trade — what they will give up to get the outcome.
If a lens is missing, mark unknown and surface it — do NOT invent
a position the stakeholder did not state.
3. Build the matrix
| Criterion | PO | Ops | Support | Eng | End-user | ... |
|---|---|---|---|---|---|---|
| Time-to-ship | + | – | 0 | – | + | |
| Operational load | 0 | – | – | – | + | |
| ... |
+ benefits, – costs, 0 neutral. The columns are stakeholders;
the rows are criteria. Criteria that score 0 everywhere are
noise — drop.
4. Surface the trade-off
Pick the top 2-3 criteria where the matrix splits stakeholders hardest. State the trade-off in plain language:
"Picking option X means PO ships faster, but on-call carries more pages. Picking option Y means on-call sleeps, but PO slips two weeks."
If no option splits the matrix unfavourably, the trade-off is imaginary — surface that and stop.
5. Recommend a path
Pick the option whose – cells are owned by stakeholders who can
execute mitigations. Avoid options where the cost lands on a
stakeholder who has no voice in the room. State the recommendation
explicitly with a one-sentence rationale.
6. Validate the matrix
Verify before emitting: every stakeholder has wants / fears / trades
filled or marked unknown, the matrix has no row that scores 0
everywhere, the trade-off paragraph names a concrete cost (not just
"there is a trade-off"), and the recommendation cites which –
cells the named owner can execute. Ensure no silent stakeholder
column is missing.
Related Skills
WHEN to use this
- A request crosses two stakeholder lenses (eng ↔ PO, PO ↔ ops, ops ↔ infra) and the trade-off is not yet code.
- The room agrees on the goal but disagrees on who absorbs the cost.
- A roadmap step has undeclared trade-offs that need surfacing before commit.
WHEN NOT to use this
- The conflict surfaces inside an open PR (test-coverage fails
but PO wants to ship) — start with
code-review-multi-lens(sibling C8); a C8 verdict that surfaces stakeholder conflict becomes input to this skill for escalation. Boundary prose lives indocs/guidelines/cross-role-handoff.md. - The trade-off is purely technical (perf vs storage, sync vs async)
— route to
decision-record; if it is one costly choice on ≥ 3 options with user-weighted criteria, its § Weighted-matrix mode scores it (this skill answers WHO pays; that mode answers WHICH option wins). - The dominant axis is risk, not stakeholder cost — route to
risk-officer. - The output is the locked decision artifact — hand off to
decision-recordonce the matrix is built.
When the agent should load this
- "Wer zahlt was bei dieser Entscheidung?"
- "PO und Ops sind sich uneinig — wir brauchen Klarheit."
- "Was ist der Trade-off zwischen X und Y für die einzelnen Lenses?"
- "Stakeholder-Konflikt vor dem Commit auflösen."
- "Diese Roadmap-Phase hat undeclared trade-offs."
Output
The trade-off report is a single block with these ordered fields:
Decision:— one sentence framing the choiceStakeholders:— bullet list, each with wants / fears / tradesMatrix:— markdown table with criteria rows and stakeholder columnsTrade-off in plain language:— one paragraph naming the costRecommendation:,Rationale:,Next:— explicit choice + rationale + handoff target
Stakeholder trade-off
Decision: <one sentence>
Stakeholders:
- <role> wants: <outcome> fears: <failure> trades: <what>
- ...
Matrix:
| Criterion | <SH 1> | <SH 2> | ... |
| ...
Trade-off in plain language:
<one paragraph>
Recommendation: <option>
Rationale: <one sentence>
Next: /decision-record to lock the choice
Gotcha
- The room is rarely all the stakeholders. Add the silent ones explicitly (support, future-team, end-users).
- A
+everywhere column is suspect; either a stakeholder understated the cost or you understated the cost. - The "happy path" recommendation is the option with the cost on someone who is not in the room. Resist it.
Do NOT
- Do NOT label stakeholders by name — roles only.
- Do NOT score before listing the stakeholders' own words; agent ventriloquism is the failure mode.
- Do NOT pick the option that scores best on all stakeholders — if it exists, the trade-off was imaginary; surface that.
- Do NOT lock the choice in this skill; hand off to
decision-record.
Runnable example
A pricing-page rewrite that ships faster vs gives ops more lead time:
- Decision: "Should the pricing-page rewrite ship in 2 weeks (option A) or 4 weeks with a managed rollout (option B)?"
- Stakeholders:
- PO wants: revenue lift on Q-end · fears: churn signal in the noise · trades: copy polish for time-to-ship.
- On-call eng wants: change window outside Friday · fears: Saturday paging on a marketing rollout · trades: shippable A/B framework for a deploy gate.
- Support lead wants: scripted answers for the new tier · fears: ticket-volume spike unprepared · trades: depth of answers for breadth.
- End-user (free tier) wants: clear "what stays free" line · fears: silent paywall on a feature they rely on · trades: nothing — silent stakeholder.
- Matrix splits hardest on operational load (option A:
–for on-call + support,+for PO) and clarity for end-users (option B:+for support + end-user,–for PO timing). - Trade-off in plain language: "Option A means PO hits Q-end, but on-call carries a marketing-rollout pager and support eats ticket spikes blind. Option B means support and end-users land softly, but PO slips two weeks past Q-end."
- Recommendation: option B. Rationale: the
–cells in option A land on stakeholders who cannot mitigate from inside the rollout (free-tier user has no voice in the room). - Next:
/decision-recordto lock option B; the supersession chain cites the original "ship by Q-end" mandate as the constraint that changed.