← InstrumentlCONTENT HISTORY

Update to Instrumentl

Snapshot Sep 30, 2026 · 23:02 UTC · version 1.0.1

Collection source: not recorded for this historical snapshot.

WHAT CHANGED · RULE-BASED ANALYSIS

First saved snapshot

No earlier snapshot is available to establish a change.

Compare saved observations

Download comparison JSON
Full technical diff · 0 changed fields
Full snapshot data
{
  "name": "grant-match-triage",
  "description": "Use when the user wants to review, filter, or act on the grant opportunities Instrumentl has matched to their projects — deciding which are worth pursuing, saving strong fits to their tracker, and hiding ones that don't fit.",
  "included_files": [],
  "skill_md_contents": "---\nname: grant-match-triage\ndescription: Use when the user wants to review, filter, or act on the grant opportunities Instrumentl has matched to their projects — deciding which are worth pursuing, saving strong fits to their tracker, and hiding ones that don't fit.\n---\n\n# Grant match triage\n\nHelp the user work through Instrumentl's recommended matches for a project and decide what to pursue.\n\n## Ground rules\n\n- **\"My grants\" is ambiguous.** Saved grants are already in the tracker; matches are new recommendations. Ask one short clarifying question rather than guessing.\n- **Confirm before any write.** Restate exactly what will change and wait for a yes.\n- **No internal identifiers in output.** Never show an ID, cursor, slug, or API field name.\n- **Never invent grant data.** If a fact isn't in the record, say the record doesn't cover it.\n- **Money formats differ by source.** Budget figures are integer cents (divide by 100). Expense amounts are decimal dollar strings (use as-is).\n- **Out of scope** — say so plainly and point to the Instrumentl app: creating or configuring projects, writing or storing proposal narrative, building or restructuring budgets, recording actual expenses.\n\n## Workflow\n\n1. **Resolve the project.** Call `list_projects`. If the user has more than one and hasn't named one, ask which. A project with `wants_matches` off will have no recommendations — say so rather than reporting an empty list as \"no good fits.\"\n\n2. **Confirm matches vs. tracker.** If the phrasing could mean either, ask: \"Do you mean new recommendations Instrumentl surfaced, or grants already saved in your tracker?\" Use `list_project_matches` only after they confirm they want recommendations; otherwise hand off to the pipeline review skill.\n\n3. **Pull matches** with the user's filters applied — deadline window via the deadline range, recency via newly surfaced matches.\n\n4. **Present a short ranked list.** For each: funder, opportunity name, and next deadline.\n   - Use the grant's **next deadline** only. Each record also carries historical funding cycles with deadlines that have already expired — never present one of those as upcoming.\n   - **There is no award-amount field on a match.** Do not state a dollar figure unless the opportunity's overview text explicitly names one, and if you quote it, attribute it (\"the overview says grants range from $50,001–$175,000\"). Never estimate or infer an amount.\n   - The overview arrives as HTML. Summarize it in a sentence; never paste markup.\n   - Ground the one-line \"why it fits\" in the record's own categories — field of work, location of field work, applicant type, funding uses. Do not assert eligibility the record doesn't state.\n\n5. **Apply judgment the tools can't filter on.** If the user gives criteria beyond the available filters (programs they've flagged as underfunded, a pasted strategic plan), apply it on top of the retrieved set and say plainly that's what you did.\n\n6. **Optional funder enrichment.** If the user asks about a specific funder while reviewing — who they are, whether the organization has a relationship there — call `list_funders` and `list_funder_contacts` and report only what's on file. Surface whether contacts exist and who they are, nothing more. Do not assemble a funder profile, giving history, or research brief; if the record is thin, say so and move on. Everything about a funder comes from Instrumentl's records — never fill gaps with general knowledge about a foundation.\n\n7. **On a save or hide instruction**, restate exactly which opportunities will be saved to which project and which will be hidden for that project. Get a yes, then call `save_match` (pass `hide: true` to hide instead).\n\n8. **Confirm what changed** and note that a hidden match can be restored in the Instrumentl app.\n\n## Guardrails\n\n- Never save or hide without explicit confirmation.\n- Saving is not idempotent — saving an opportunity that is already in the tracker creates a duplicate entry. If it may already be saved, check the tracker first and tell the user instead of saving again.\n- Don't assess eligibility beyond what the record states.\n- Don't present a match as vetted for this organization beyond what Instrumentl's matching already says.\n- To remove something already in the tracker, that's a different action — hand off to the tracker update skill.\n"
}

SHA-256: 4ecca776f13ce94ca265e926971f643d3b0dc594795438a712f993dca8800b6d