Skip to content

Releases: everyimpactai/ngo-toolkit

v0.1.1 — HEIC/audio helpers, stacked_bar HTML, fetch_logo repair

Choose a tag to compare

@everyimpactai everyimpactai released this 07 Aug 17:00

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 (macOS sips / Linux heif-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_bar to the grouped-bar renderer.
  • XLSX uncached-formula warnings — report-drafter subagent now captures stderr from xlsx_to_csv.py and 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 for logo.clearbit.com returns NXDOMAIN). Rewrote the priority order so logo-shaped sources come first:
    1. Local file
    2. Wikipedia infobox (best for well-known institutions)
    3. Apple touch icon (scraped from org homepage)
    4. Regular favicon
    5. Google favicon (256px)
    6. 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

Choose a tag to compare

@everyimpactai everyimpactai released this 07 Aug 16:47

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:

  1. Schema validator refuses to render if any claim is unmapped
  2. Provenance report shown pre-render — user approves
  3. 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 / hbar charts (pie and stacked_bar fall 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)

  • pie and stacked_bar charts 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.py untested against live Clearbit / Wikipedia APIs

Support

Bug reports and feature requests: https://github.com/everyimpactai/ngo-toolkit/issues
Other questions: dev@everyimpact.ai