Status Update Generator
Overview
Weekly status updates eat 30-90 minutes of every PM's Friday afternoon and they almost always say the same thing in subtly different ways. This skill standardizes the artifact: pull tickets from Jira or Linear (or any JSON dump), and emit a structured update with five named sections -- Highlights, Blockers, Risks, Asks, What's Next -- plus a traffic-light status (Red / Yellow / Green) for the period. The structure follows SBNR (Status / Blockers / Next / Risks) and a condensed Amazon 6-pager narrative for Highlights; the stoplight verdict follows classic R/Y/G reporting.
Core Capabilities
- Six-section template — Header, Highlights, Blockers, Risks, Asks, What's Next, in a fixed order so exec readers scan in under 5 seconds (full section definitions in
references/status-structure-and-workflow.md).
- Traffic-light discipline — Green / Yellow / Red rules plus anti-patterns (watermelon status, always-yellow, color creep).
- Multi-format rendering —
status_generator.py emits all six SHARED_OUTPUT_SCHEMA formats: markdown, confluence, notion, linear, json, mermaid.
- SBNR mapping — compressed async-standup variant mapped to the weekly sections.
When to Use
- Weekly exec status update -- the standard Friday/Monday cadence brief sent to a sponsor, VP, or steering committee.
- Monthly board / leadership packet -- aggregate four weekly updates into a monthly view.
- Sprint review summary -- end-of-sprint communication that travels outside the team.
- Cross-team async standup -- distributed teams where a written async update replaces a sync meeting.
- Project kickoff status baseline -- the first status update establishes the template and traffic-light baseline.
When NOT to use: real-time incident response (use delivery-manager/ incident skills), deep retrospectives (use sprint-retrospective/), or one-to-one stakeholder reporting needing custom framing (use roadmap-communication/).
Clarify First
Before generating the update, confirm these inputs. If any is unknown or vague, ASK — do not assume:
Stop rule: ask only the 2-3 that most change the output. If the user says "just draft it," proceed and list your assumptions at the top of the artifact.
Quick Start
| Tool |
Purpose |
Command |
status_generator.py |
Generate a structured weekly status update |
python scripts/status_generator.py --input data.json --format markdown |
status_generator.py --demo |
Inspect demo input and output formats |
python scripts/status_generator.py --demo --format markdown |
The traffic-light status is a human judgment, not a calculation — set it and document the rationale. See references/tool-and-troubleshooting.md for flags and the input JSON shape.
References
Load the reference that matches the task — keep this file lean and pull detail on demand:
- references/status-structure-and-workflow.md — full definition of each of the six sections, R/Y/G rules and anti-patterns, SBNR shorthand mapping, and the 6-step authoring workflow. Read when writing or standardizing an update.
- references/status-update-style-guide.md — voice, structural rules, traffic-light discipline, and 5 worked examples (Green / Yellow / Red across team types). Read when coaching writing quality or seeing full examples.
- references/red-flags.md — warning signs and failure modes in status reporting practice. Read when an update process feels performative or untrusted.
- references/tool-and-troubleshooting.md —
status_generator.py flags, input JSON shape, Mermaid output, troubleshooting table, and success criteria. Read when running the tool or diagnosing a problem.
- assets/weekly_status_template.md — fill-in template matching the tool's input JSON structure. Use to draft an update by hand.
Scope & Limitations
In Scope:
- Generating weekly executive status updates from structured input
- Five-section template (Highlights / Blockers / Risks / Asks / What's Next) with R/Y/G traffic light
- Output in all six SHARED_OUTPUT_SCHEMA formats (json, markdown, mermaid, confluence, notion, linear)
- Aggregating ticket data from Jira-shaped or Linear-shaped JSON dumps
- SBNR shorthand mapping for async standup variants
Out of Scope:
- Pulling data directly from Jira or Linear APIs (use the Atlassian MCP, Linear MCP, or
linear-expert//jira-expert/ skills to export the JSON first)
- Sprint analytics or velocity calculation (use
../scrum-master/)
- Incident communication or postmortems (use
delivery-manager/)
- Long-form retrospective output (use
sprint-retrospective/)
- Tailoring updates to multiple audiences in different framings (use
roadmap-communication/)
Important Caveats:
- The traffic-light status is a human judgment. The tool will not infer it from ticket counts. Forcing automation here produces watermelon updates.
- Quantitative claims in Highlights ("latency down to 210ms") must come from real telemetry, not from the ticket title. The tool will not verify these.
- Status updates are most effective on a predictable cadence. A high-quality irregular update is worse than a mediocre regular one.
Integration Points
| Integration |
Direction |
Description |
../jira-expert/ |
Receives from |
Jira JQL exports or MCP pulls feed the input JSON |
linear-expert/ |
Receives from |
Linear GraphQL exports feed the input JSON |
../senior-pm/ |
Feeds into |
Weekly updates aggregate into monthly portfolio reports; risks lift into the portfolio risk register |
../scrum-master/ |
Pairs with |
Sprint health scores supply the Highlights/Risks context |
roadmap-communication/ |
Pairs with |
Weekly status feeds the executive-variant roadmap narrative |
sprint-retrospective/ |
Feeds into |
Four weeks of status archives become retrospective input |
../program-manager/ |
Feeds into |
Cross-team status aggregation rolls up multiple team updates |
../delivery-manager/ |
Pairs with |
Release windows and incident references show up in Highlights and Risks |
1---2name: status-update-generator3description: Generate weekly executive status updates from Jira/Linear data exports. Produces a structured "highlights / blockers / risks / asks / what's next" briefing in markdown, Confluence, Notion, Linear, JSON, or Mermaid.4license: MIT + Commons Clause5---6# Status Update Generator
7
8## Overview
9
10Weekly status updates eat 30-90 minutes of every PM's Friday afternoon and they almost always say the same thing in subtly different ways. This skill standardizes the artifact: pull tickets from Jira or Linear (or any JSON dump), and emit a structured update with five named sections -- Highlights, Blockers, Risks, Asks, What's Next -- plus a traffic-light status (Red / Yellow / Green) for the period. The structure follows **SBNR** (Status / Blockers / Next / Risks) and a condensed Amazon **6-pager** narrative for Highlights; the stoplight verdict follows classic R/Y/G reporting.
11
12## Core Capabilities
13
14- **Six-section template** — Header, Highlights, Blockers, Risks, Asks, What's Next, in a fixed order so exec readers scan in under 5 seconds (full section definitions in `references/status-structure-and-workflow.md`).
15- **Traffic-light discipline** — Green / Yellow / Red rules plus anti-patterns (watermelon status, always-yellow, color creep).
16- **Multi-format rendering** — `status_generator.py` emits all six SHARED_OUTPUT_SCHEMA formats: `markdown`, `confluence`, `notion`, `linear`, `json`, `mermaid`.
17- **SBNR mapping** — compressed async-standup variant mapped to the weekly sections.
18
19## When to Use
20
21- **Weekly exec status update** -- the standard Friday/Monday cadence brief sent to a sponsor, VP, or steering committee.
22- **Monthly board / leadership packet** -- aggregate four weekly updates into a monthly view.
23- **Sprint review summary** -- end-of-sprint communication that travels outside the team.
24- **Cross-team async standup** -- distributed teams where a written async update replaces a sync meeting.
25- **Project kickoff status baseline** -- the first status update establishes the template and traffic-light baseline.
26
27**When NOT to use:** real-time incident response (use `delivery-manager/` incident skills), deep retrospectives (use `sprint-retrospective/`), or one-to-one stakeholder reporting needing custom framing (use `roadmap-communication/`).
28
29## Clarify First
30
31Before generating the update, confirm these inputs. If any is unknown or vague, ASK — do not assume:
32
33- [ ] **Traffic-light verdict (R/Y/G)** — the human judgment the tool will not infer; sets the whole frame and must be defensible (prevents watermelon status)
34- [ ] **Audience** — sponsor, VP, or steering committee (sets altitude and what belongs in Highlights vs Asks)
35- [ ] **This period's wins + blockers with real numbers** — quantitative claims must come from telemetry, not ticket titles (fills Highlights and Blockers)
36- [ ] **The asks** — the specific decisions or help you need from the reader this week (drives the Asks section)
37
38Stop rule: ask only the 2-3 that most change the output. If the user says "just draft it," proceed and list your assumptions at the top of the artifact.
39
40## Quick Start
41
42| Tool | Purpose | Command |
43|------|---------|---------|
44| `status_generator.py` | Generate a structured weekly status update | `python scripts/status_generator.py --input data.json --format markdown` |
45| `status_generator.py --demo` | Inspect demo input and output formats | `python scripts/status_generator.py --demo --format markdown` |
46
47The traffic-light status is a human judgment, not a calculation — set it and document the rationale. See `references/tool-and-troubleshooting.md` for flags and the input JSON shape.
48
49## References
50
51Load the reference that matches the task — keep this file lean and pull detail on demand:
52
53- **[references/status-structure-and-workflow.md](references/status-structure-and-workflow.md)** — full definition of each of the six sections, R/Y/G rules and anti-patterns, SBNR shorthand mapping, and the 6-step authoring workflow. Read when writing or standardizing an update.
54- **[references/status-update-style-guide.md](references/status-update-style-guide.md)** — voice, structural rules, traffic-light discipline, and 5 worked examples (Green / Yellow / Red across team types). Read when coaching writing quality or seeing full examples.
55- **[references/red-flags.md](references/red-flags.md)** — warning signs and failure modes in status reporting practice. Read when an update process feels performative or untrusted.
56- **[references/tool-and-troubleshooting.md](references/tool-and-troubleshooting.md)** — `status_generator.py` flags, input JSON shape, Mermaid output, troubleshooting table, and success criteria. Read when running the tool or diagnosing a problem.
57- **[assets/weekly_status_template.md](assets/weekly_status_template.md)** — fill-in template matching the tool's input JSON structure. Use to draft an update by hand.
58
59## Scope & Limitations
60
61**In Scope:**
62- Generating weekly executive status updates from structured input
63- Five-section template (Highlights / Blockers / Risks / Asks / What's Next) with R/Y/G traffic light
64- Output in all six SHARED_OUTPUT_SCHEMA formats (json, markdown, mermaid, confluence, notion, linear)
65- Aggregating ticket data from Jira-shaped or Linear-shaped JSON dumps
66- SBNR shorthand mapping for async standup variants
67
68**Out of Scope:**
69- Pulling data directly from Jira or Linear APIs (use the Atlassian MCP, Linear MCP, or `linear-expert/`/`jira-expert/` skills to export the JSON first)
70- Sprint analytics or velocity calculation (use `../scrum-master/`)
71- Incident communication or postmortems (use `delivery-manager/`)
72- Long-form retrospective output (use `sprint-retrospective/`)
73- Tailoring updates to multiple audiences in different framings (use `roadmap-communication/`)
74
75**Important Caveats:**
76- The traffic-light status is a human judgment. The tool will not infer it from ticket counts. Forcing automation here produces watermelon updates.
77- Quantitative claims in Highlights ("latency down to 210ms") must come from real telemetry, not from the ticket title. The tool will not verify these.
78- Status updates are most effective on a predictable cadence. A high-quality irregular update is worse than a mediocre regular one.
79
80## Integration Points
81
82| Integration | Direction | Description |
83|-------------|-----------|-------------|
84| `../jira-expert/` | Receives from | Jira JQL exports or MCP pulls feed the input JSON |
85| `linear-expert/` | Receives from | Linear GraphQL exports feed the input JSON |
86| `../senior-pm/` | Feeds into | Weekly updates aggregate into monthly portfolio reports; risks lift into the portfolio risk register |
87| `../scrum-master/` | Pairs with | Sprint health scores supply the Highlights/Risks context |
88| `roadmap-communication/` | Pairs with | Weekly status feeds the executive-variant roadmap narrative |
89| `sprint-retrospective/` | Feeds into | Four weeks of status archives become retrospective input |
90| `../program-manager/` | Feeds into | Cross-team status aggregation rolls up multiple team updates |
91| `../delivery-manager/` | Pairs with | Release windows and incident references show up in Highlights and Risks |