Releases: everyimpactai/ngo-toolkit
Release list
v0.1.1 — HEIC/audio helpers, stacked_bar HTML, fetch_logo repair
Small follow-up to v0.1.0. Items 9, 11, 12, 13, 14 from the v1.1 backlog.
What's new
scripts/convert_photos.py— HEIC → JPG converter (macOSsips/ Linuxheif-convert/ ImageMagick fallback). Skips iPhone-photo pain.scripts/transcribe_audio.py— thin wrapper around Whisper / WhisperX with clear install hints and alternatives (Otter, MacWhisper, Descript) when neither is available. Plugin never bundles Whisper.- Stacked bar charts in HTML — proper cumulative-segment rendering. The previous version silently dispatched
stacked_barto the grouped-bar renderer. - XLSX uncached-formula warnings — report-drafter subagent now captures stderr from
xlsx_to_csv.pyand surfaces uncached-formula warnings to the user before proceeding.
Bug fixes
fetch_logo.py— Clearbit's free Logo API was decommissioned after HubSpot's 2023 acquisition (DNS forlogo.clearbit.comreturns NXDOMAIN). Rewrote the priority order so logo-shaped sources come first:- Local file
- Wikipedia infobox (best for well-known institutions)
- Apple touch icon (scraped from org homepage)
- Regular favicon
- Google favicon (256px)
- Open Graph image (last resort, flagged as possibly-a-banner)
- Also added
certifi-based SSL context so python.org macOS installs (which ship without CA certs) can verify HTTPS. - Tested against Ford Foundation, Bill & Melinda Gates Foundation, William and Flora Hewlett Foundation, United Nations, and a fabricated NGO — all four real orgs resolve to real logos; the fake one falls cleanly to NEEDS_INPUT.
Documentation
skills/logo-fetcher/SKILL.md— updated priority order, noted Clearbit deprecation, documented SSL/certifi requirement.agents/report-drafter.md— instructs the drafter to convert XLSX first, convert HEIC photos, and prompt user for transcription when audio is present without transcript.
Still deferred (v1.1 backlog)
- Google Drive verified end-to-end (needs OAuth)
- Pie + stacked_bar in PDF (HTML now correct; PDF still falls back)
- Funder-specific templates (USAID PPR / EU interim / FCDO)
Install
Same as v0.1.0:
/plugin marketplace add everyimpactai/ngo-toolkit
/plugin install ngo-toolkit@everyimpactai
If you already have it installed and auto-sync is on, the new scripts should appear on the next marketplace refresh.
v0.1.0 — first public release
First public release of the NGO Toolkit plugin for Claude Code.
What's in v0.1.0
Four namespaced commands for nonprofits and NGOs:
/ngo:setup— first-run helper: builds your org profile, scaffolds a workspace directory, generates a personalised data-pack checklist/ngo:grant-scout— scans RFP listing sites and priority funders for new opportunities; returns URL-cited go/no-go memos/ngo:donor-report— turns your quant + qual data into publication-quality HTML, PDF, and DOCX donor reports/ngo:proposal— drafts LOIs, concept notes, or full proposals for any funder or RFP
Anti-hallucination architecture
Every factual claim in every output traces to a source (CSV cell, document quote, budget line, URL) via a structured document.json. Three enforcement layers:
- Schema validator refuses to render if any claim is unmapped
- Provenance report shown pre-render — user approves
- Fact-checker subagent independently verifies claims against source files
Sections lacking source data become visible [NEEDS INPUT] markers — never plausible-sounding filler.
Design
- Typography: Inter (UI) + Source Serif 4 (body)
- HTML: single-file, inline SVG charts, print CSS
- PDF: Typst-based, publication quality, native
bar/grouped_bar/line/hbarcharts (pieandstacked_barfall back to HTML) - DOCX: python-docx pipeline, editable by funders
Included tools
- XLSX → CSV converter (multi-sheet, merged cells, ISO dates)
- Best-effort logo fetcher (Clearbit → Wikipedia → local; never fabricates)
- Workspace scaffolder with per-folder READMEs
- Participant consent form template (
templates/consent-form.md)
Install
/plugin marketplace add everyimpactai/ngo-toolkit
/plugin install ngo-toolkit@everyimpactai
System dependencies: brew install typst and pip install python-docx openpyxl.
Known limitations (v1.1 backlog)
pieandstacked_barcharts in PDF fall back to[NEEDS INPUT]- No in-plugin HEIC conversion or audio transcription
- Google Drive integration is documented but not yet verified end-to-end
fetch_logo.pyuntested against live Clearbit / Wikipedia APIs
Support
Bug reports and feature requests: https://github.com/everyimpactai/ngo-toolkit/issues
Other questions: dev@everyimpact.ai