# Stakeholder Due

> Use when the user wants to know which stakeholder reflections are overdue. Trigger phrases include "what's due", "who haven't I thought about lately", "what's on my plate this week for stakeholder reflection", "stakeholder check-in", or any Monday-morning planning moment. Scans `~/bettersense-work-reflections/`, computes which question × stakeholder pairs are overdue based on `suggested_freq` and last entry date, and outputs a prioritized list. Designed to be invoked on demand or fired on a weekly Desktop scheduled task (not cloud routines — those cannot access local files).

- Skill: `shwetank/stakeholder-due` (Agent Skill)
- Install (CLI): `npx skillmds@latest add shwetank/stakeholder-due`
- Raw SKILL.md: https://api.skillmd.com/api/skills/shwetank/stakeholder-due/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Product & Planning
- Author: shwetank (https://skillmd.com/u/shwetank)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/shwetank/stakeholder-due

---


# Stakeholder Due

Compute and surface what's overdue for reflection. The output is a prioritized list of question × stakeholder pairs the user should consider tackling, plus quick links to start each.

## Inputs

Default: scan everything. The user can narrow:
- *"What's due in managing-up"* → filter to one category.
- *"What's due for John"* → filter to one stakeholder.
- *"What's due this week"* → filter to items overdue by ≤ 7 days from their cadence.

## Loading

1. Read `~/bettersense-work-reflections/stakeholders.json` for the registered list.
2. Load `questions.json` from the `stakeholder-reflect` skill folder.
3. For each registered stakeholder, read their file. For each question whose `stakeholder_categories` matches the stakeholder's category, find the most recent dated entry under the matching `## <prompt>` heading.

## Computing overdueness

For each (stakeholder, question) pair:

- `cadence_days` = lookup of `suggested_freq`: weekly=7, biweekly=14, monthly=30, quarterly=90, biyearly=180.
- `last_entry_date` = most recent `### YYYY-MM-DD` under that question's heading. If never answered, treat as never.
- `days_since_last` = today − last_entry_date (or ∞ if never).
- `due_ratio` = days_since_last / cadence_days. (≥1.0 means due; ≥1.5 means notably overdue; ≥2.0 means very overdue.)

Honor `cadence_overrides` in the stakeholder file's frontmatter if present (per-question or per-stakeholder cadence).

## Prioritizing

Sort by `due_ratio` descending. Then apply two adjustments:

1. **Cap items per stakeholder.** Show at most 3 questions per stakeholder in the output — otherwise a single neglected stakeholder dominates and the user disengages.
2. **Cap total items.** Default 10. The user can ask for more, but starting with 10 keeps the list actionable.
3. **Surface "never answered" items distinctly.** These are not "overdue" in the usual sense — they're new commitments. Group them in a separate section so the user can decide if they want to take on a new question or stick to refreshing existing ones.

## Output format

```
Stakeholder reflections due (as of <today>)

🟥 Very overdue (≥2× cadence)
  • [John Adams · managing-up] What are their priorities, incentives and constraints?
    last logged 2026-02-15 · biweekly cadence · 11 weeks since
  • ...

🟧 Overdue (≥1.5× cadence)
  • [Jill Smith · managing-across] What's not going well?
    last logged 2026-04-08 · biweekly cadence · 23 days since
  • ...

🟨 Due (≥1× cadence)
  • ...

🆕 Never answered
  • [Client Delivery ABC · teams] Are goals clearly defined?
    quarterly cadence · never logged
  • ...

To pick one: "let me reflect on [stakeholder]" or run `stakeholder-reflect`.
```

Use the colored markers consistently. They make the output skim-able at a glance.

## When nothing is due

Say so plainly. Don't manufacture work.

> *"Nothing significant is overdue right now. Earliest item due is John's 'priorities, incentives and constraints' in 4 days. If you want to get ahead, that's the one."*

## Wiring to a schedule

When the user wants this to fire automatically, guide them based on what they're using:

**Claude Code Desktop app (recommended):** Go to Routines → New routine → Local. Set the schedule to Weekly, Monday, and use these instructions: `Run /stakeholder-due and show me the list`. Desktop Routines have full local file access, persist indefinitely, and support any cadence.

**Terminal / CLI users:** Use OS-level scheduling (cron on macOS/Linux, Task Scheduler on Windows). Session-scoped tasks created by asking Claude in the terminal expire after 7 days and are unsuitable for weekly cadences.

**Never suggest cloud routines** — they run on Anthropic's servers and cannot access `~/bettersense-work-reflections/`.

Don't set up a schedule automatically — the user owns the cadence decision.

## Operating principles

- **The list is a menu, not an obligation.** Frame the output as "here's what you could pick up." Pressuring the user to clear all due items is how the practice dies.
- **Surface stakeholders the user has been avoiding.** If a stakeholder has had zero entries in 4+ weeks despite multiple due items, call that out gently in the output. Avoidance is itself signal.
- **Don't over-engineer the math.** Simple `days_since / cadence_days` is enough. Resist the temptation to add weights, recency bonuses, or "importance scores" — those make the output feel less like a real assessment.
- **Respect the user's "skip" or "not now" instinct.** If they consistently skip the same question for the same stakeholder, that's worth surfacing as an open question, not silently re-listing.

## Anti-patterns to flag

- **Outputting the same flat list every time.** If the user runs this daily, the list barely moves day-to-day. Suggest a less frequent cadence (weekly is the sweet spot).
- **Treating teams the same as individuals.** Teams often deserve a longer cadence (the situation moves slower). If `cadence_overrides` aren't set on a team, gently suggest setting one.
- **Listing 30 items.** A long list is a list nobody reads. Default to 10.
- **Sorting purely by date.** A weekly-cadence question 8 days late should rank above a quarterly-cadence question 30 days late. Always sort by `due_ratio`, not raw days.

## The weekly ritual

This skill is one segment of the `weekly` skill — a single ~15-minute session that runs wins capture, the most-overdue stakeholder reflection, and a patterns scan together. When the user wants the recurring ritual rather than this one piece, route to `/bettersense:weekly`.

