Skill Tracer
Skills › Knowledge Work Plugins › report-builder › output_template.md

output_template.md

109 lines · small-business/skills/report-builder/reference/output_template.md at 2574e29

Open on GitHub
1# Output Template
2
3Two artifacts every run: a chat summary, then an XLSX workbook. The summary is the product. The workbook is the appendix.
4
5---
6

Output Template

Two artifacts every run: a chat summary, then an XLSX workbook. The summary is the product. The workbook is the appendix.


Raw lines 1 to 6
7## The chat summary
8
9```
10## <Report name> — <period>
12<One sentence: the single most important thing this report says.>
14**<Metric 1>** — <value>, <delta versus comparison>
15**<Metric 2>** — <value>, <delta versus comparison>
16**<Metric 3>** — <value>, <delta versus comparison>
18### What stands out
20- <Finding, naming the specific record or group and the number>
21- <Finding>
22- <Finding>
24### Worth a look
26- <Anything that needs a decision, with the suggested next step>
28<Workbook attached. Tabs: summary, one per metric group, raw data.>
29```
31Three findings maximum. A summary with nine bullets is a table with extra steps.
33---

The chat summary

## <Report name> — <period>

<One sentence: the single most important thing this report says.>

**<Metric 1>** — <value>, <delta versus comparison>
**<Metric 2>** — <value>, <delta versus comparison>
**<Metric 3>** — <value>, <delta versus comparison>

### What stands out

- <Finding, naming the specific record or group and the number>
- <Finding>
- <Finding>

### Worth a look

- <Anything that needs a decision, with the suggested next step>

<Workbook attached. Tabs: summary, one per metric group, raw data.>

Three findings maximum. A summary with nine bullets is a table with extra steps.


Raw lines 7 to 34
35## Worked example
37```
38## Monday operating pack — week of Jul 20
40Portland is the only location below last year, and it's the reason total sales are flat.
42**Sales** — USD 43,200, up 2% vs. same week last year
43**AR past 30 days** — USD 18,400 across 6 invoices
44**Labor** — 31% of revenue, up from 28%
46### What stands out
48- Portland did USD 6,100, down 22% year over year. Every other location is up.
49- Labor crossed 30% for the first time in nine weeks, driven by overtime at Salem.
50- Acme Corp is USD 4,200 and 47 days past due, with no payment since May 12.
52### Worth a look
54- Portland's drop is four weeks running now, not a one-week blip. Worth a look at
55 staffing or local competition before it becomes the quarter's story.
57Workbook attached. Tabs: summary, sales by location, AR aging, labor detail, raw data.
58```
60Notice what the summary does: it names the location, gives the number, states the trend length, and proposes a next step. "Sales were mixed" would have said nothing.
62---

Worked example

## Monday operating pack — week of Jul 20

Portland is the only location below last year, and it's the reason total sales are flat.

**Sales** — USD 43,200, up 2% vs. same week last year
**AR past 30 days** — USD 18,400 across 6 invoices
**Labor** — 31% of revenue, up from 28%

### What stands out

- Portland did USD 6,100, down 22% year over year. Every other location is up.
- Labor crossed 30% for the first time in nine weeks, driven by overtime at Salem.
- Acme Corp is USD 4,200 and 47 days past due, with no payment since May 12.

### Worth a look

- Portland's drop is four weeks running now, not a one-week blip. Worth a look at
  staffing or local competition before it becomes the quarter's story.

Workbook attached. Tabs: summary, sales by location, AR aging, labor detail, raw data.

Notice what the summary does: it names the location, gives the number, states the trend length, and proposes a next step. "Sales were mixed" would have said nothing.


Raw lines 35 to 63
64## The XLSX workbook
66Tab order matters — owners open the first tab and often stop there.
681. **Summary** — the same metrics as the chat summary, as a clean table with comparisons
692. **One tab per metric group** — sales by location, AR aging, labor detail
703. **Raw data** — everything pulled, unmodified, so the owner or their accountant can check the math
72Formatting rules that make a workbook usable:
74- Header row bold and frozen
75- Currency formatted as currency, percentages as percentages — not raw floats
76- Deltas in their own column, not jammed into the value cell
77- Negative numbers in parentheses or red, consistently
78- A footer row on each tab naming the source and the pull timestamp
80Build the workbook with a script rather than assembling cells by hand. It is faster, and it reruns identically next month.
82---

The XLSX workbook

Tab order matters — owners open the first tab and often stop there.

  1. Summary — the same metrics as the chat summary, as a clean table with comparisons
  2. One tab per metric group — sales by location, AR aging, labor detail
  3. Raw data — everything pulled, unmodified, so the owner or their accountant can check the math

Formatting rules that make a workbook usable:

  • Header row bold and frozen
  • Currency formatted as currency, percentages as percentages — not raw floats
  • Deltas in their own column, not jammed into the value cell
  • Negative numbers in parentheses or red, consistently
  • A footer row on each tab naming the source and the pull timestamp

Build the workbook with a script rather than assembling cells by hand. It is faster, and it reruns identically next month.


Raw lines 64 to 83
84## When data is missing
86Never omit a metric silently. A missing row reads as a data problem the owner will go hunting for.
88```
89**Labor** — n/a (QuickBooks payroll accounts unavailable this run)
90```
92Then repeat every unavailable source once, at the bottom:
94```
95Not available this run: QuickBooks payroll accounts, Square (auth expired).
96Everything else pulled clean.
97```
99---

When data is missing

Never omit a metric silently. A missing row reads as a data problem the owner will go hunting for.

**Labor** — n/a (QuickBooks payroll accounts unavailable this run)

Then repeat every unavailable source once, at the bottom:

Not available this run: QuickBooks payroll accounts, Square (auth expired).
Everything else pulled clean.

Raw lines 84 to 100
101## Partial periods
103A month-to-date figure compared against a full prior month always looks like a collapse. Either compare like-for-like, or label it:
105```
106**Sales** — USD 21,400 month-to-date through Jul 27 (prior month same-day: USD 19,800, up 8%)
107```
109Never show a partial period against a full one without saying so. That single mistake has sent owners into a panic over a number that was fine.

Partial periods

A month-to-date figure compared against a full prior month always looks like a collapse. Either compare like-for-like, or label it:

**Sales** — USD 21,400 month-to-date through Jul 27 (prior month same-day: USD 19,800, up 8%)

Never show a partial period against a full one without saying so. That single mistake has sent owners into a panic over a number that was fine.

Raw lines 101 to 109