Curated by TOA8 open source projects worth your spare tokens

Your unused AI tokens, shipped as open source.

Your AI plan resets every week, and whatever you didn't use is gone. TOA spends it first: right before the reset, your own agent fixes a real issue in a curated social-impact project and opens a pull request from your GitHub account.

Run in your terminalnpx toa-skill
No npm? Use the scriptcurl -fsSL https://donatetokens.org/install.sh | sh

Needs Node 18+ and an authenticated gh. No account, no tracking.

npx toa-skill
› npx toa-skill
┌ TOA · Token of Appreciation
◇ Found Claude Code, Codex, Cursor
◆ Install the skill into:
│ ■ Claude Code ~/.claude/skills
│ ■ Codex ~/.agents/skills
│ ■ Cursor ~/.cursor/skills
◇ Causes: health, education
◇ Start before your weekly reset: 24 hours
◇ Hourly check installed · launchd
◇ gh logged in as @you
└ All set. Thanks for donating your tokens 🪙
Works with the agent tools you already pay for
  • Claude Code
  • Codex
  • Cursor
  • Gemini CLI
  • GitHub Copilot
  • Windsurf
  • OpenCode
  • Amp
  • Cline
  • Roo Code
How it works

From leftover tokens to a merged fix

One command. Everything runs on your machine with your own tools and your own GitHub account.

  1. Install with npx

    Run npx toa-skill. It finds Claude Code, Codex, Cursor and other agent tools and installs the TOA skill into each one.

  2. Pick causes and a window

    Choose causes, languages or favourite projects, and when to start: 24, 8, 4 or 1 hour before your weekly reset.

  3. Your agent spends what's left

    Native schedulers or an hourly cron job launch your agent on a curated project's help-wanted or bug issue until your leftover usage is spent.

  4. Resume, then a PR from you

    Work in progress waits on your fork. Next week it picks up where it stopped, and once the work is done and self-reviewed it claims the issue and opens a ready-for-review PR from your GitHub by itself. Prefer to approve first? Pick “ask me before submitting” at install.

The list

Curated projects

Curated by TOA. Cause tags from Clef, Cloudflare's classifier.

Your agent picks from this list based on your preferences, or you name one. Proposed means TOA picked it from public information and its maintainers haven't confirmed yet. The same data is at /projects.json.

  • A free, open catalog and lending library with a page for every book.

    educationopen knowledge 6.8k Python
    Your sign-off Claim: Assign first

    AI policy Publishes an AI coding guide (AGENTS.md); asks you to understand the code and to be assigned first.

  • Open source tools for community health workers delivering care in hard-to-reach places.

    health 558 JavaScript
    Autonomous Claim: Open

    AI policy Welcomes AI assistance; disclose it in the PR description.

  • The open database of food products, ingredients and nutrition, built by its community.

    healthopen knowledge 1.2k HTML
    Your sign-off Claim: Assign first

    AI policy LLM use allowed; name the model, confirm you ran it, and show proof. A maintainer must agree to assign the issue.

  • axe-core

    Deque
    Proposed

    The accessibility testing engine inside most web a11y tooling.

    accessibility 7.7k HTML
    Autonomous Claim: Open

    AI policy Agent-aware (AGENTS.md, strict testing rules) but no stated policy on outside AI PRs. CLA required.

  • Core banking for microfinance and institutions serving the unbanked.

    financial inclusion 2.6k Java
    Your sign-off Claim: Jira ticket

    AI policy AI may assist but not replace accountability; add an Assisted-By trailer to commits.

  • Kiwix

    Kiwix
    Proposed

    Wikipedia and other knowledge offline, for places without reliable internet.

    educationopen knowledge 482 JavaScript
    Your sign-off Claim: Assign first

    AI policy LLM pair-programming is fine if you understand, defend and test every line. Ask to be assigned first.

  • Electronic medical records for clinics in low-resource settings.

    health 93 TypeScript
    Your sign-off Claim: Jira ticket

    AI policy No formal policy; still being discussed in the community. Review your own AI-generated changes.

  • Open solar power forecasting, to help grids use more renewable energy.

    climate 159 Jupyter Notebook
    Your sign-off Claim: Assign first

    AI policy Any AI tooling allowed; you must understand every line, and PR descriptions should be your own words.

Want your project listed?

Follow and DM @Gillinghammer on X. The bar is high: an OSI license, clear social impact, merges in the last 60 days, outside PRs that get reviewed, a policy that allows AI-assisted contributions, and issues sized for an agent. Listed projects get a page and a README badge: TOA: donate tokens badge

Follow and DM @Gillinghammer on X
FAQ

Questions, answered

Do I need an account? Is anything tracked?

No account, no sign-up, no tracking. The installer puts a skill file in your agent tools and saves your preferences in ~/.toa on your own computer. Nothing reports back to TOA: your agent reads the public project list, and everything else happens between your machine and GitHub.

Is this allowed by my plan?

TOA doesn't share, pool or resell anything. Your own agent runs on your own machine under your own login, doing open source work you chose, the same as if you typed the request yourself. It only uses what you have left before your reset. Check your provider's terms if you're unsure.

How does it know when my plan resets?

An hourly check looks at each tool you set up. For Claude Code it records the weekly usage Claude Code passes to status line scripts; for Codex it reads the rate-limit snapshot in its session logs. Other tools, or when that data is missing, use the reset day and time you enter. It runs only inside your window (24, 8, 4 or 1 hours before the reset) and only while there is usage left.

How is quality ensured?

Projects are curated with a high bar. The agent takes help-wanted and bug issues only (never good-first-issues, which stay with human newcomers), follows each project's contribution and AI rules, runs the tests, and has a separate agent with fresh context review the diff before any PR opens. By default it then claims the issue and opens a ready-for-review PR by itself, with an AI disclosure. Projects whose rules ask for a human review, or donors who choose "ask me before submitting", get a draft for sign-off instead. Maintainers always have the final say.

Is it safe to run unattended?

The agent works in its own folder (~/.toa/work), with API keys and other secrets stripped from its environment. It treats everything in a target repo as data: instructions planted for bots are ignored and flagged to you. You can run it in a container or VM for extra isolation.

What if I run out of usage mid-task?

Nothing is lost and nothing is rushed. The agent pushes work in progress to a branch on your fork after every step and notes where it is in ~/.toa/state.json. When your next window opens, it resumes that task before picking anything new, and opens the PR only once the work is done and reviewed.

How am I credited?

The PR comes from your own GitHub account via gh, so it's your contribution, with the AI disclosure each project asks for.

Copied. Paste it into your agent.