Impact report builder
Skill SkillMedev/nonprofit-grants-toolkit/skills/impact-report-builder
For small-nonprofit leaders: win grants, keep donors, and run a board that engages.
npx -y skills add SkillMedev/nonprofit-grants-toolkit --skill impact-report-builderAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 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
Builds a nonprofit's annual or program impact report that funders and donors actually trust - leading with outcomes over activities, pairing every number with one human story, admitting shortfalls honestly, including a financial transparency block, and computing program cost per outcome. Use when a nonprofit leader says "write our annual report", "build our impact report", "a funder wants to see our results", "how do we report on the grant", or "what goes in a program report". Do NOT use for board meeting materials - use nonprofit-board-pack instead - and do NOT use for individual donor appeals or thank-yous - use donor-communications instead.
SKILL.md
9.3 KB, ~2.0k tokens by cl100k_base, as published. Nobody here has run it
Impact Report Builder
Most nonprofit impact reports are activity logs with photos: sessions delivered, events held, meals served - everything the organization did, nothing about what changed. Funders read hundreds of these and trust none, because a report that claims only wins and counts only activities is indistinguishable from marketing. This skill builds the report that earns renewals: outcomes first, numbers paired with stories, misses admitted, and the money accounted for.
Work the example organization throughout: Bright Futures Tutoring, a youth-education nonprofit with a $420,000 annual budget, 3 staff, serving 250 students. The report's numbers are the pack's canonical outcomes from the logic model in grant-proposal-writer: 72 percent of 250 students gained at least one grade level in reading - the same figures donor-communications uses in stories and appeals. One organization, one set of numbers, everywhere.
Operating procedure
Step 1: Fix the audience and the number set
One report can serve foundation funders, individual donors, and the board with light re-framing, but the numbers must be one set. Pull the canonical outcomes (from the logic model), the year's financials (revenue by source, expenses by function), and last year's report if one exists. Any figure that cannot be sourced is labeled an estimate in the report itself - silent precision is how trust dies on page three.
Step 2: Apply the outcomes-over-activities rule
The rule: lead with what changed in people, not what the organization did. "72 percent of our 250 students gained at least one grade level in reading" leads; "we delivered 4,000 tutoring sessions" supports. Activities (sessions, hours, events) are evidence of effort; outcomes (reading gains, grade promotion, waitlist movement) are evidence of impact, and funders fund impact. Every outcome states its denominator and its measurement: "72 percent of 250 enrolled students, fall-to-spring benchmark assessment." A percentage without a denominator invites the suspicion it is hiding one.
Step 3: Pair every number with a story, every story with a number
The pairing rule: numbers prove scale, stories prove reality, and each is weak alone. A page of statistics reads cold; a page of anecdotes reads unverifiable. So each major outcome gets one beneficiary story beside it - one student, concrete before/after, told in the donor-as-hero structure from donor-communications - and each story closes by rejoining the aggregate ("Maya is one of the 180 students who gained a grade level this year").
Step 4: Write the honest-shortfalls section
Include a section - "What didn't go as planned" or similar - naming 1-3 real misses, each with the number, the reason as best understood, and the change being made. Bright Futures example: "We projected 275 students and served 250. Tutor hiring took four months longer than planned; we have moved recruiting to spring for fall starts." Funders trust reports that admit misses because program officers know real programs miss; a report with a 100 percent win rate reads as a report with a filter. This section is also insurance: a funder who learns of a shortfall from your report stays a partner, while one who learns of it elsewhere becomes an ex-funder. Match the miss's weight - do not confess trivia to dodge the real one.
Step 5: Build the financial transparency block
One block, readable by a non-accountant: revenue by source (for Bright Futures: foundation grants $180,000, individual donors $120,000, program/other $120,000 - totaling the $420,000 budget), expenses by function (program, fundraising, admin), and where audited statements or the 990 can be found. State the functional split plainly rather than gaming it; sophisticated funders discount suspiciously low overhead claims, and the sector has largely retired the overhead-ratio myth in favor of asking whether outcomes justify total cost - which Step 6 answers.
Step 6: Compute program cost per outcome
The math that turns transparency into a case: program expenses ÷ outcome units. Bright Futures: program expenses $340,000 ÷ 250 students served = $1,360 per student-year; against the headline outcome, $340,000 ÷ 180 students who gained a grade level ≈ $1,889 per grade-level gain. Show both - cost per served and cost per outcome - with the arithmetic visible. This is the number a donor repeats to a spouse and a program officer repeats to a board, and it feeds directly back into appeals in donor-communications ("$150 funds a semester") and proposals in grant-proposal-writer. Use program expenses, not total budget, and say so.
Step 7: Assemble the skeleton and cut to length
Target 4-8 pages (or the equivalent web page); past that, funders skim. Assemble per the skeleton below, then verify the consistency pass: every number matches the canonical set, every outcome has a denominator, every story has a number partner.
Inputs to collect
The canonical outcome numbers with measurement source, year financials by source and function, program expense total, 1-3 real shortfalls with reasons, 2-3 beneficiary stories with permission status, and last year's figures for comparison. Label guesses as guesses; convert them to sourced figures or estimates-marked-as-estimates before publication.
Worked artifact: report skeleton
IMPACT REPORT - [FILL: org name] - [FILL: program year]
1. HEADLINE OUTCOME (cover)
[FILL: the one number - e.g. "72% of our 250 students gained at
least one grade level in reading"] + [FILL: one photo]
2. LETTER FROM THE ED (half page)
[FILL: the year in 3 paragraphs - what changed for the people
served, one honest sentence about difficulty, thanks]
3. OUTCOMES (1-2 pages: number + story pairs)
Outcome 1: [FILL: %, denominator, measurement] ←→ [FILL: one-
beneficiary story, concrete before/after, rejoin the aggregate]
Outcome 2: [FILL] ←→ [FILL]
Activity evidence (supporting, not leading): [FILL: sessions,
sites, staff - e.g. "4,000 sessions across 2 sites"]
4. WHAT DIDN'T GO AS PLANNED (half page)
[FILL: 1-3 misses - number, reason, the change being made]
5. FINANCIAL TRANSPARENCY (1 page)
Revenue by source: [FILL: grants $ / individuals $ / other $ = total]
Expenses by function: [FILL: program $ / fundraising $ / admin $]
Cost per outcome: program expenses $[FILL] ÷ [FILL: units] =
$[FILL] per [FILL: unit] (arithmetic shown)
Full financials: [FILL: link to 990 / audited statements]
6. THE YEAR AHEAD + HOW TO HELP (half page)
[FILL: 2-3 concrete goals with numbers] + [FILL: one specific ask
tied to a unit of impact]
Good/bad contrast - Bad: "This year we delivered over 4,000 tutoring sessions and held 12 family engagement events." Good: "72 percent of our 250 students gained at least one grade level in reading (fall-to-spring benchmarks). Behind that number: 4,000 tutoring sessions across two sites." Same facts; the good version leads with the change and demotes activity to evidence.
Deliverable
A 4-8 page impact report following the skeleton: headline outcome with denominator and measurement, number-story pairs, an honest-shortfalls section, a financial block with visible cost-per-outcome arithmetic, and a forward section with one concrete ask.
Do NOT
- Do not lead with activities; sessions delivered is effort, not impact.
- Do not print a percentage without its denominator and measurement method.
- Do not publish a miss-free report; a 100 percent win rate reads as a filter, not a program.
- Do not compute cost-per-outcome from the total budget while calling it program cost; say which it is.
- Do not let report numbers drift from the logic model in grant-proposal-writer or the stories in donor-communications - funders and donors cross-read.
- Do not pad to 20 pages; length is where trust goes to hide.
Quality bar
- The headline is an outcome, stated with denominator and measurement.
- Every major number has a story partner and vice versa.
- The shortfalls section names at least one real miss with a corrective change.
- Cost-per-outcome arithmetic is shown, using program expenses, labeled as such.
- All figures reconcile with grant-proposal-writer's logic model and donor-communications' appeals.
Escalation
Distribution runs through donor-communications' calendar (the report is a scheduled impact touch, not an ask). A condensed one-page version of the outcomes and financial block feeds the board dashboard in nonprofit-board-pack. Grant-specific funder reports reuse these sections against the promised objectives from grant-proposal-writer. Financial statements should come from the bookkeeper or accountant; this skill formats and explains them but is not accounting advice.
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.