recurring-report-builder
Installation
SKILL.md
Recurring Report Builder
When to use
Use whenever a report needs to go out on a repeating schedule (weekly, monthly, quarterly) and the current process is rebuilding it from scratch each time, or copying last period's file and manually finding every number that needs updating with no systematic way to know what was missed.
What it does
Separates a recurring report into its fixed structure (sections, narrative framework, chart types, audience) and its period-varying content (the actual numbers, the specific commentary), producing a template that a future cycle can refresh quickly and consistently, rather than treating every period as a from-scratch writing exercise.
Method
- Name the audience and the decision the report supports, once, since this rarely changes period to period and should drive every structural choice below it.
- Fix the section structure: what sections exist, in what order, at what level of detail — decided once and held constant, so the reader learns to navigate the report quickly across periods instead of re-orienting every time.
- Separate every element into fixed or variable: chart types and axis definitions are typically fixed; the data plotted is variable. Section headers are fixed; the commentary under them is variable. Mark this explicitly so a future refresh knows exactly what to touch.
- Build the narrative framework once: the kind of commentary each section needs (what changed, why, what it means) as a repeatable prompt for the writer, not a fresh invention each cycle.
- Define the refresh checklist: the specific data sources to pull from, in what order, with what validation (does this number tie to the source system before it goes in the report) — this is what turns "rebuild from scratch" into "follow the checklist."
- Version the template deliberately. When the structure needs to change (a new metric matters now, an old section is no longer useful), change the template itself and note the change, rather than quietly drifting the structure period to period with no record of why.
- Time-box the refresh once the template exists — if refreshing consistently takes longer than a defined target (say, under an hour for a standard monthly report), that's a signal the template still has too much rebuilt-from-scratch work in it.