Contents

  1. What this plugin is
  2. Before you start
  3. Installing Claude Code
  4. Installing dependencies
  5. Installing the plugin
  6. First-time setup
  7. Setting up a workspace
  8. Preparing your data
  9. Consent — the strict rule
  10. Writing a donor report
  11. Writing a proposal
  12. Scouting for grants
  13. Google Drive integration
  14. Understanding the outputs
  15. When things go wrong
  16. Getting help
  17. Glossary

1. What this plugin is

The NGO Toolkit is a free add-on for a program called Claude Code — Anthropic's AI-powered assistant that lives on your computer. Once you install both, you can type commands in plain English (or use short commands like /ngo:donor-report) and the AI will help you:

The plugin's most important promise: every number, quote, and fact in your final report or proposal traces back to a document or file you provided. If the AI doesn't have a source, it marks that section with a yellow "NEEDS INPUT" flag rather than making something up.

What you get out of the box Grant scouting, donor reporting, and proposal drafting — each producing publication-quality HTML, PDF, and Word outputs. Also included: a workspace scaffolder, a consent form template, and helpers for converting Excel files, iPhone photos, and interview recordings.

2. Before you start

You'll need:

You do not need any programming experience. You will run a few commands by copying and pasting them into a terminal window; we'll explain each step.

3. Installing Claude Code

Claude Code is the main app; the NGO Toolkit is an add-on that lives inside it.

3.1 Download Claude Code

Visit claude.com/claude-code. Follow Anthropic's installation guide for your operating system. When it's done, you'll be able to run Claude Code from your Applications folder (Mac), Start menu (Windows), or the terminal (Linux).

3.2 Sign in

Open Claude Code. It will ask you to sign in with your Anthropic account. Follow the prompts.

What Claude Code looks like When it's running, you'll see a chat-like interface. There's a text box at the bottom where you type. You can type in plain English ("help me draft a report") or use "slash commands" like /ngo:setup — those are shortcuts to specific workflows.

4. Installing dependencies

The plugin uses three tools behind the scenes. Install each once and you never think about them again.

4.1 Typst — for PDF output

On macOS: open the Terminal app (Applications → Utilities → Terminal). Copy and paste this line and press Return:

brew install typst

If your computer says "brew: command not found," you need Homebrew first. Copy and paste this line (it's the standard installer):

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Wait for it to finish (a few minutes), then run brew install typst again.

On Windows: open PowerShell (Start menu → PowerShell), and run:

winget install --id Typst.Typst

On Linux (Ubuntu/Debian):

sudo apt install typst

Or download directly from github.com/typst/typst/releases.

4.2 Python and two libraries — for DOCX and Excel handling

Most Macs and Linux computers already have Python. To check, open Terminal / PowerShell and type:

python3 --version

If you see something like Python 3.10.something or higher, you're set. If not, download Python from python.org/downloads, install it, and check again.

Then install the two libraries:

pip install python-docx openpyxl
If you see "pip: command not found" Try python3 -m pip install python-docx openpyxl instead. On some systems, pip is spelled pip3.

5. Installing the plugin

This part happens inside Claude Code, not the Terminal.

  1. Open Claude Code and start a new chat.
  2. In the message box, type:
    /plugin marketplace add everyimpactai/ngo-toolkit
    Press Return. Claude will fetch the plugin's information.
  3. Then type:
    /plugin install ngo-toolkit@everyimpactai
    Press Return again. You should see confirmation that the plugin was installed.

To verify: in the message box, start typing /ngo: — you should see the four available commands appear:

If they don't appear, try quitting Claude Code and reopening it — the command list refreshes on each launch.

6. First-time setup

The /ngo:setup command is your first stop. It builds a profile of your organisation that every other command uses.

6.1 Run it

In Claude Code's message box, type:

/ngo:setup

Press Return. Claude will start asking you questions, one at a time.

6.2 The 14 questions

Answer conversationally. Skip a question if you don't know the answer — you can add it later by editing your profile file. Here's what to expect:

QuestionExample answer
Organisation name"Green Horizon Foundation"
Legal / registered name"Green Horizon Foundation Trust"
Website URL"greenhorizon.org"
HQ country + countries of operation"Kenya, operating in Kenya and Uganda"
Organisation type"Local NGO"
Primary contact email"programmes@greenhorizon.org"
Thematic areas (2–5)"youth livelihoods, women's economic empowerment, climate adaptation"
Beneficiary word your org uses"participant" or "rightsholder" or "community member"
Typical grant size range (USD)"100,000 to 2,000,000"
Priority funders (up to 15)"Ford Foundation, Hilton Foundation, MacArthur, USAID, EU DEVCO..."
Exclusions"no US federal, no religious"
Brand colours (hex)"primary #0F4C81 navy, accent #3AAFA9 teal" (or use the default)
Logo path"/Users/you/Documents/logo.png" (or skip and add later)
Google Drive?"yes" or "not yet"

6.3 What gets saved

Your answers are written to a file on your computer at ~/.claude/ngo-toolkit/profile.json. It's a plain text file — you can open it in any text editor to make changes later. Nothing is sent to a server.

The profile is reusable You only fill this in once. Every command from now on — grant scouting, reports, proposals — uses your profile automatically. You can edit or redo it any time by running /ngo:setup again.

7. Setting up a workspace

A "workspace" is a folder on your computer where you put all the inputs for one report or one proposal. Each grant gets its own workspace. The plugin creates the folder structure for you.

7.1 Ask the plugin to scaffold one

Still inside /ngo:setup — after the profile questions, it will offer to scaffold a workspace. Say yes and give it a name. Something like:

~/reports/ford-2026-progress

The ~ means "my home folder" on your Mac or Linux. On Windows, use something like C:\Users\YourName\Documents\reports\ford-2026-progress.

7.2 What gets created

The plugin creates a folder with these subfolders, each containing a README file explaining what goes there:

ford-2026-progress/
├── README.md              ← overall guide
├── data/                  ← your CSVs and Excel files
├── interviews/            ← interview transcripts with consent
├── past-reports/          ← old reports to this funder
├── donor-materials/       ← the RFP or funder's template
├── logos/                 ← org and funder logos (optional)
├── photos/                ← programme photos
├── policies/              ← safeguarding, gender, MOUs
└── output/                ← the plugin puts finished reports here
You can look inside these folders in Finder or File Explorer Nothing about this workspace is special — they're regular folders. Open them, drag files in, rename files, whatever feels natural. Just keep the top-level folder names as-is so the plugin can find things.

7.3 The data-pack checklist

After scaffolding, the plugin generates data-pack-checklist.md inside your workspace — a personalised list of what to collect for this specific funder and report type. Open it in any text editor or Markdown viewer. Tick items off as you gather them.

8. Preparing your data

This is the part that takes real effort — the plugin can only work with what you give it.

8.1 Quantitative data — data/ folder

Drop your CSV files or Excel workbooks here. Common files for a donor report:

Excel files (.xlsx) are fine

The plugin will automatically convert them to CSV before reading. There's one gotcha: if your Excel file has formulas (like a total row computed with =SUM(...)), you need to open the file in Excel, save it, and close it at least once before handing it over. Otherwise the formula cells will be empty when read.

Never fabricate numbers If a data point you need is missing, leave it missing. The plugin will produce a visible "NEEDS INPUT" marker in the final report. That's much better than a plausible-sounding fake number that could damage your funder relationship.

8.2 Interview transcripts — interviews/ folder

One file per interview. Format: plain text (.txt), Markdown (.md), or Word (.docx). Each file must include:

  1. Date and location of the interview.
  2. The interviewer's name.
  3. Consent record — a line stating whether the participant gave written or verbal consent, and what scope (see next section).
  4. The direct quotes the participant said, verbatim.
  5. Brief context — age band, cohort, geographic location, what changed for them because of your programme.

Here's what a good interview file looks like:

# Interview — Aisha M.

- Date: 2025-09-14
- Location: Nairobi office
- Interviewer: Jane K.
- Written consent recorded: YES (form signed 2025-09-14, filed at consents/aisha-2025-09-14.pdf)
- Consent scope: donor report + website, NOT social media advertising, valid 3 years

## Direct quote (audio timestamp 00:14:22)

"Before the training I sold vegetables when I could. Now I run my own tailoring stall and I pay for my daughter's uniform myself."

## Context

Aisha is 28, mother of two, joined Cohort 3 in Q1 2025 and completed in Q2 2025.
Pre-programme monthly income around KES 1,500 (casual). Post-programme (6-month
follow-up): KES 9,200/month from tailoring. Has taken on two apprentices.

8.3 If you have audio only

The plugin can't transcribe audio directly (it's designed to be lightweight). You have three options:

After transcribing, save the transcript into the interviews/ folder and add the frontmatter shown above.

8.4 Past reports — past-reports/ folder

Drop any past reports to this specific funder here as PDF or DOCX. The plugin will read them to learn the funder's preferred section structure, indicator conventions, and tone. It will not copy prose from a past report — only structural cues.

8.5 Funder materials — donor-materials/ folder

Anything the funder has published that shapes the report:

8.6 Photos — photos/ folder

Programme photos. JPG or PNG best; the plugin will convert iPhone HEIC photos automatically if needed. For each identifiable person in a photo, you need consent — same rule as quotes.

If you want captions, add a file called photos-captions.md in the folder with one entry per photo:

## training-day-2025-09.jpg
Caption: Community health worker training, Kisumu, September 2025.
Credit: Green Horizon Foundation.
Consent: written consent on file for all identifiable participants.

8.7 Policies — policies/ folder

PDF or DOCX copies of your organisation's:

These are referenced in the report where relevant ("under Safeguarding Policy v3, 2024").

8.8 Logos — logos/ folder

Optional. If you have your organisation's logo and the funder's logo as image files, drop them here. If not, the plugin will attempt to fetch them from Wikipedia or the organisation's website. If it can't find one automatically, it will ask you rather than invent one.

The single most important non-technical part of using this plugin: every quote from a real person, and every photograph identifying a real person, needs documented consent. The plugin refuses to include quotes without a consent record. It's not being difficult — it's protecting your organisation from a real risk.

9.1 Use the consent form template

A printable consent form is bundled with the plugin. Find it at:

templates/consent-form.md

Print it, translate it into the participant's preferred language, adapt the wording, and file the signed forms with your M&E records. The form covers:

9.2 Record it in the interview transcript

In the transcript file, always include a line like:

- Written consent recorded: YES (form signed 2025-09-14, filed at consents/aisha.pdf)
- Consent scope: donor report + website, NOT social media advertising, valid 3 years

The plugin's fact-checker reads for this line before allowing a quote in the output. If it's missing or unclear, the quote is dropped.

10. Writing a donor report

Once your data is in the workspace, you're ready.

10.1 Run the command

In Claude Code, type:

/ngo:donor-report ~/reports/ford-2026-progress ~/reports/ford-2026-progress/output

The two paths are your workspace and where you want outputs to land. Substitute your own paths.

10.2 What Claude will ask

Claude walks through a conversation:

Example dialog Claude: "I found 4 CSV files, 3 interview transcripts, 1 past report, 1 budget file, 2 logos. Missing: donor guidelines PDF. Should I proceed with what we have, or wait for the guidelines?"

Claude: "What's the exact funder name and grant ID?"

Claude: "What reporting period does this cover?"

Claude: "One of your XLSX files has 3 uncached formula cells — the totals row won't have values. Do you want to open it in Excel first, or should I mark those sections as NEEDS INPUT?"

Answer each question. The whole dialog takes about 5 minutes.

10.3 The provenance report

Before rendering anything, the plugin shows you a provenance report: every factual claim it plans to include, and which source file it will trace to. Example:

Executive summary  (executive_summary)
  - CLAIM: Enrolled 1,247 young people  →  SRC-ENROL (data/enrolment.csv, all rows)
  - CLAIM: 61% female enrolment          →  SRC-ENROL
  - CLAIM: 68% in paid work at follow-up →  SRC-MEL (mel-log.csv, follow-up survey n=890)

Progress against outcomes  (outcomes)
  - OUTCOME Enrolment: 1,247 youth  →  SRC-ENROL
  - OUTCOME Employment: 68%          →  SRC-MEL

Plans for next year  (next_steps)
  - [NEEDS INPUT] Y3 workplan detail pending board approval on 2026-02-15

Read through it carefully. Ask yourself:

Tell Claude "looks good" to proceed, or "actually, we don't have data for X — remove that claim" to correct.

10.4 The fact-checker

Next, an independent subagent — the fact-checker — re-reads your source files and verifies that each claim actually matches what the source says. It flags:

If the fact-checker finds problems, rendering stops. You'll see a report of what needs fixing. Fix them (or accept the softer language), and re-run.

10.5 The three outputs

Once everything passes, the plugin renders three files into your output/ folder:

All three come from the same source-grounded data, so they say the same thing. They differ only in presentation.

11. Writing a proposal

The proposal workflow is very similar to the donor report, with a stage argument telling the plugin how detailed to go.

11.1 Three stages

StageLengthPurpose
LOI (Letter of Inquiry)1–3 pagesTest funder interest before invitation to apply. Standard for major US foundations.
Concept note2–5 pagesSummary of project logic with indicative budget. EU F&T uses this as a gate.
Full proposal15–40 pagesComplete narrative + logframe + budget + annexes.

11.2 Run the command

Same setup as the donor report — collect data in a workspace — then run:

/ngo:proposal loi ~/proposals/hilton-2026 ~/proposals/hilton-2026/output

Replace loi with concept or proposal for the other stages.

11.3 If you don't know the funder well

The plugin offers to run a funder research subagent before drafting. It scours the funder's public materials — their strategy pages, grant history, published guidance — and produces a brief covering:

Save this brief in the workspace and the proposal-drafter will use it to shape tone and language.

11.4 Everything else is the same

Provenance report → user approval → fact-checker → three-format render. Same discipline: every claim carries a source, every missing datum becomes a NEEDS INPUT marker.

12. Scouting for grants

The scouting command watches for new opportunities on your behalf.

12.1 Run it

/ngo:grant-scout

The plugin uses the priority funders in your profile and searches:

12.2 What you get back

A table of opportunities plus a detailed memo for each one worth pursuing. Every claim in every memo carries a URL — you can click through and verify. Example:

| Funder            | Call                | Deadline    | Ceiling  | Fit  | Recommendation |
|-------------------|---------------------|-------------|----------|------|----------------|
| Ford Foundation   | BUILD 2026          | 2026-03-15  | $2M/yr   | 5/5  | Go             |
| Hilton Foundation | Catholic Sisters    | 2026-04-01  | $500K    | 2/5  | No-go          |
| MacArthur         | 100&Change             | 2026-05-15  | $100M    | 4/5  | Maybe          |

## Memo: Ford Foundation — BUILD 2026
Deadline: 2026-03-15 [source: fordfoundation.org/work/our-grants/build/]
Ceiling: $2M/year, 5-year term
Fit: matches your thematic areas (youth livelihoods, women's economic empowerment)
Why Go: BUILD funds general operating support with full indirects, matches your org type.
Action: draft LOI by 2026-02-15.

Ask the plugin to save opportunities to a pipeline file, or move directly into drafting a proposal for one.

13. Google Drive integration

If your team stores everything in Google Drive, you can pull inputs directly from a Drive folder instead of downloading files by hand.

13.1 One-time connector setup

  1. In Claude Code, click Customize → Connectors.
  2. Click Add connector and choose Google Drive.
  3. Complete the OAuth flow — sign in with the Google account that has access to your team's Drive folders.
  4. Return to your chat.

13.2 Point the plugin at a folder

When you run /ngo:donor-report or /ngo:proposal, the plugin will ask whether to pull from local files or Google Drive. Choose Drive, then paste the folder's shareable URL. The plugin downloads all files into your local workspace before processing.

Note As of version 0.1.1, the Google Drive integration has not been extensively field-tested. If you hit issues, please file an Issue with the exact error message.

14. Understanding the outputs

Every rendered document — HTML, PDF, DOCX — contains these elements consistently:

14.1 Cover page

Full-bleed navy gradient background with your organisation name, the funder's name, the report/proposal title, and both logos side by side. Reporting period and submission date at the bottom.

14.2 Executive summary

A highlighted panel at the top: 2–3 short paragraphs, then a row of KPI tiles (big numbers with their targets). Draft last, read first.

14.3 Progress against outcomes

One card per outcome, showing achievement vs target, with a short narrative under each.

14.4 Charts

Bar charts, grouped bars, line charts, horizontal bars — rendered in native SVG (HTML) or Typst (PDF). Every chart caption cites a source in a small superscript.

14.5 Participant voice

Pull quotes styled with a coloured left border. Attribution, role, and source reference all shown.

14.6 Financial narrative + risk register

Tables. Variance columns colour-coded. Every row traces to a specific line in your budget file.

14.7 NEEDS INPUT markers

Anywhere the plugin lacked source data, you'll see a yellow callout: ◆ NEEDS INPUT — Y3 workplan detail pending board approval. These are visible in the final output on purpose — either fill them in before submission or acknowledge them in a cover letter.

14.8 Source appendix

At the end of every report: a table listing every source file, every CSV cell, every interview timestamp that the report draws from. Auditors and program officers can trace any claim back to its origin.

15. When things go wrong

The FAQ page covers the most common issues in detail. Quick summary:

15.1 Install issues

15.2 Command not recognised

15.3 The plugin rejected my number

15.4 A quote won't appear

15.5 The PDF has fonts that look wrong

16. Getting help

In order of speed:

  1. The FAQFAQ.md — most install and data problems are covered there.
  2. GitHub Issuesgithub.com/everyimpactai/ngo-toolkit/issues. When filing an issue, include your OS, the command you ran, and the exact error message. Do not paste real beneficiary data in a public issue.
  3. Emaildev@everyimpact.ai for questions that don't fit an issue.

17. Glossary

Claude Code
Anthropic's AI assistant that runs on your computer. The NGO Toolkit is a plugin that adds NGO-specific workflows to Claude Code.
Plugin
An add-on that extends Claude Code with new commands, skills, and subagents. Installed once with /plugin install.
Command
A shortcut like /ngo:setup that triggers a specific workflow. Typed in the Claude Code message box.
Subagent
A specialised helper Claude uses behind the scenes for particular tasks — grant scouting, drafting, fact-checking. You don't invoke them directly.
Workspace
A folder on your computer that contains all inputs and outputs for one specific report or proposal. Structured into subfolders (data, interviews, past-reports, and so on).
Source-grounding
The plugin's core discipline: every factual claim in an output must trace back to a specific source (a CSV cell, a document quote, a URL). Enforced by validation and an independent fact-checker.
Provenance report
The list of every claim in a draft and its source, shown to you before rendering so you can approve or correct.
Fact-checker
An independent subagent that verifies every claim against its source file before allowing rendering to proceed.
NEEDS INPUT marker
A visible yellow callout in the output that signals the plugin lacked source data for that section. Better than fabricated content.
Provenance / source_ref
A reference identifier pointing to a specific source file, cell, or paragraph. Every claim carries one.
LOI / concept note / full proposal
Increasing depth of proposal. LOI is 1–3 pages tests funder interest. Concept note is 2–5 pages summarising project logic. Full proposal is 15–40 pages with complete logframe, budget, and annexes.
Logframe / theory of change
Two ways of showing how a programme's activities lead to intended outcomes and impact. Most funders expect one or both in a proposal.
Disaggregation
Breaking down data by categories such as gender, age band, geography, or disability. Standard expectation from institutional funders.
M&E / MEL
Monitoring and Evaluation (or Monitoring, Evaluation, and Learning). The systems and instruments used to track programme performance.
Typst
The typesetting software the plugin uses to produce PDFs. You install it once; the plugin uses it invisibly thereafter.
python-docx / openpyxl
Two Python libraries the plugin uses to produce Word documents and read Excel files, respectively. Install once with pip install.
Terminal / Command line
A text-based interface to your computer. On Mac: Applications → Utilities → Terminal. On Windows: PowerShell. You'll use it only during installation.
OAuth
The "Sign in with Google" flow used to connect Google Drive to Claude Code. You do it once.