---
name: funding-map
description: Builds a map of the funding that could pay for work at a named conservation place anywhere in the world, and keeps that map current. Works out the place's jurisdictions and designations, researches government, lottery, regional, multilateral, bilateral, trust fund, foundation, corporate, crowdfunding and earned-income routes, and writes a funding memory with one dated, source-linked note per funder and a plan for re-checking each one. Use when someone asks who might fund a reserve, park, marine area or landscape, asks for a funding watch, or asks what has opened or is closing since the last check.
license: MIT
---

# Funding map

You build and keep a **funding memory** for one place: a folder of plain markdown notes, one per funding source, each carrying its source link, the date you checked it and the date it is next due. The first run builds the memory. Every later run checks only what is due and reports what changed.

## Honesty rules

These apply to every step and every note.

- Write down only funds, amounts, deadlines and rules you read on a page during this run. If you remember a fund but cannot find its page, leave it out or put it on the "to confirm" list in the report.
- Every fact carries the URL you read it on and the date you checked it.
- Cite the funder's own page. Grant directories, news stories and aggregator sites are leads: follow them to the funder. A partner's or grantee's own page that names the funder is evidence of that relationship: cite it and set `verified: partly`. A funder you can only find in a lead, with no page of its own, goes on the "to confirm" list.
- Read the guidance and call documents, including PDFs, since the rules usually live there. If you cannot open one, name it in the note as "not read this run" and set `verified: partly`.
- Keep **open now** (you read an open call with a closing date or rolling intake) separate from **recurring** (a past round exists and you expect another). A recurring fund's next date is an expectation: write "expected, based on the 2025 round" and never a bare date.
- When the place or the applicant might fail an eligibility rule, say which rule and why in the note, and set `fit: doubtful`.
- When a page is silent on something (amount, deadline, who can apply), write "not stated". Leave the gap visible.
- When a funder's page is out of date (it says a round "will reopen in spring 2026" and spring has passed), quote it, keep the last status you can support, and add a question for the user: contact the funder.

## Where the memory lives

Ask once, at the start: "Where should I keep the funding notes?" The default is a folder called `funding/` inside the user's folder for the place. If the user has no folder, create `funding/` in the current working folder and tell them the full path.

In a chat app with no persistent folder (Claude.ai, ChatGPT and similar), write every note as a separate downloadable file with its folder path in the file name, or offer a single zip if the app can make one. Tell the user to keep the folder and upload it, or at least `index.md` and the notes it lists as due, at the start of the next run.

The memory format is in [references/memory-format.md](references/memory-format.md). Read it before writing any note.

## Which run is this?

Look for `funding/index.md` (or ask the user to upload it).

- **Not there**: a first run. Do steps 1 to 5.
- **There**: an update run. Go to "Update run" below.

## First run

### 1. Ask the user four things

Ask in one message, and carry on with whatever they answer:

1. The place, as precisely as they can name it.
2. The organisation that would apply for money: its name, legal form (government agency, registered charity or NGO, community association, company, individual) and country of registration.
3. What they want funded, if they know (patrols, research, community work, equipment, restoration, running costs).
4. Where to keep the notes (see above), and how deep to go: a quick pass of about 15 sources or a full map.

If they skip the applicant question, carry on and mark every eligibility rule that depends on it as a doubt. If the place is co-managed or has several possible applicants (a state agency, an NGO partner, a community association), list each one in `place.md` and say in every note which of them the funder accepts.

### 2. Build the place profile

Follow [references/place-profile.md](references/place-profile.md). Write `funding/place.md`.

Done when every layer in the profile table has an entry, "none found" or (on a quick pass only) "not checked, quick pass", each finding with a source link. A quick pass still fills the layers marked **core** in the table.

### 3. Research every channel

Follow [references/channels.md](references/channels.md). Work through all twelve channels in order and record the searches you ran for each.

Done when every channel has at least one source note or a line in `place.md` under "Channels searched" saying what you searched and that you found nothing that fits. On a quick pass, cover every channel with at least one search and stop at about 15 notes, favouring sources that are open now or have the best fit.

### 4. Write the memory

For each source, write one note in `funding/sources/` using the template in [references/memory-format.md](references/memory-format.md). Set `watch` and `next_check` using [references/watching.md](references/watching.md): look for an API and a feed on every funder's site before settling for `page`, since a feed makes every later check faster. Then write `funding/index.md` and add the first entry to `funding/log.md`.

Done when every source you found has a note with all frontmatter fields filled (use "not stated" where the page is silent), and the index lists every note.

If you can run Python, check the memory with the script in this skill's own folder (not the user's folder):

```
python3 <skill folder>/scripts/funding_memory.py check <path to funding folder>
```

and fix everything it reports. The script needs Python 3.8 or later and nothing else.

### 5. Report

Write `funding/reports/YYYY-MM-DD.md` with the report layout in [references/memory-format.md](references/memory-format.md), then give the user a short version in chat: what to act on first, what is coming up, and the questions you need them to answer.

## Update run

Follow [references/watching.md](references/watching.md) under "Update run". In short: read `index.md`, list the notes that are due, check only those, record what changed in each note and in `log.md`, rewrite the index, and write a new report ranked by fit and deadline.

If you can run Python, list what is due with:

```
python3 <skill folder>/scripts/funding_memory.py due <path to funding folder>
```

The user can also ask you to add a channel, a funder or a new need. Research only that, then add notes and log it as usual.

## Ranking

Rank sources the same way in every report:

1. Group by status: open now (`open` and `rolling`), then `recurring`, then `invitation` and `watch`. Leave `closed` out.
2. Within each group, `fit: good` before `possible` before `doubtful`. Leave `unfit` out of the report.
3. Within the same fit, the soonest closing date (or expected opening) first, then `rolling`, then `not stated`.

`invitation` sources with `fit: good` often matter most for a place that already has partners. The report lists them in their own section, "Conversations to start", so they are not buried at the bottom.

## Proposal help

If the user wants help writing an application, read [references/proposals.md](references/proposals.md). This is optional and separate from the map.

## Open Knowledge Format

The memory already follows the Open Knowledge Format (OKF, github.com/scaccogatto/okf-skills): every note has YAML frontmatter with a `type`, and `index.md` and `log.md` follow its layout. Users who keep other knowledge in OKF can drop the `funding/` folder into that bundle. Nothing here needs OKF tools.
