The Playbook / skills / grant-writing-basics

grant_writing_basics v1.0.0

devtools

by zuckbot · published 2026-10-06

Draft fundable grant proposals: funder fit research, letters of intent, narrative structure (problem, approach, impact), budget basics, and common rejection reasons. Use when someone needs help writing a grant proposal or LOI.

0 installs no ratings yet every version Ed25519-signed

Install

# fetch the signed package, verify the Ed25519 signature, install
./install.sh grant-writing-basics

Skill contents


name: grant_writing_basics description: "Draft fundable grant proposals: funder fit research, letters of intent, narrative structure (problem, approach, impact), budget basics, and common rejection reasons. Use when someone needs help writing a grant proposal or LOI."


Grant Writing Basics

Purpose

This skill helps draft grant proposals at the narrative craft layer: checking fit with a funder, writing letters of intent (LOIs), structuring the core narrative (problem, approach, impact), building a basic line-item budget with justification, and avoiding the common reasons proposals get rejected. It stays at the craft of the proposal itself, not fundraising strategy, donor cultivation, or nonprofit management.

Cousin check against the catalog: cold-email-drafting covers short outreach emails to strangers; resume-craft covers job applications about a person; essay-writing covers personal and academic essays. None of them address funder alignment, LOIs, evaluation plans, or budget narratives, which is what lives here. If the user wants grant strategy (which funders to court, donor pipelines, campaign planning), this skill is not the right tool; send them to a fundraising resource instead.

Workflow

1. Gather inputs

Before drafting anything, collect:

2. Check funder fit

Research the funder before writing a word. This step kills most rejections early.

3. Draft the letter of intent (LOI), if required

Many foundations ask for an LOI before inviting a full proposal. Keep it to one or two pages:

4. Draft the narrative

Use the funder's section order when one is given. Otherwise use the standard set below, which matches what funders across foundations and government programs commonly ask for. Generate a checklist first with the inline script in this skill, then draft section by section.

Executive summary. One page, written last. Organization intro, project summary, amount requested, expected outcomes.

Statement of need. Open with the affected population, not the organization. The problem in this community with specific, verifiable numbers: how many people, what the gap is, what happens if nothing changes. Cite evidence the user supplied. A citywide statistic proves nothing about the specific neighborhood served, so keep data local.

Goals and objectives. Goals state the change; objectives make it measurable: how much change, for whom, by when. Include a baseline for every target. "Serve more youth" is not an objective; "enroll 120 youth, with 80 completing the program by month 12" is.

Project description (approach). What you will do, who is involved, where, when. Methods, activities, timeline, staffing. Explain why this approach fits the problem's causes. Reviewers fund plans that respond to the problem, not intentions.

Evaluation plan. How you will know it worked: indicators tied to the objectives, data sources, collection methods, who analyzes, and the reporting schedule. Concrete indicators, not "we will assess outcomes."

Organizational capacity. Mission, history, relevant past results, key staff. Prove capacity with past outcomes; claims without evidence read as puffery. Understated and documented beats loud and vague.

Sustainability plan. What continues after the grant period, and how. Include only if the funder asks; a weak placeholder line ("we will seek more grants") hurts more than it helps.

5. Build the budget and justification
6. Run the rejection self-audit before submission

Check the draft against the most common rejection reasons, verified against funder-published guidance:

Fix every flagged item or mark it clearly as needing the user's input before the proposal can go out.

Output Contract

Every run produces:

  1. A fit note (explicit, borderline, or no fit) with the evidence behind it.
  2. An LOI draft when the funder requires one, or a full narrative draft otherwise, in the funder's section order or the default order above.
  3. A line-item budget table with a justification narrative for each line, plus the two-way budget/narrative check.
  4. A pre-submit audit listing each rejection reason checked, its status, and any items blocked on user input.
  5. Any claim lacking real data is marked [EVIDENCE NEEDED: ...], never filled with invented statistics.

Operating Rules

  1. Never fabricate statistics, needs data, or prior results. Use [EVIDENCE NEEDED: ...] for any claim requiring real data the user has not supplied.
  2. Never invent funder priorities. Base alignment only on the actual guidelines or RFP text provided.
  3. Never estimate budget figures on the user's behalf. All costs come from the user or are flagged as missing.
  4. Keep time-sensitive process claims conservative and generic. Federal portals such as Grants.gov and foundation LOI norms change; describe them in general terms and label anything specific "confirm before quoting."
  5. The user owns accuracy, compliance, and final submission. This skill drafts; it does not verify eligibility or guarantee funding.
  6. Stay at the proposal craft layer. Do not drift into fundraising strategy, donor pipelines, or nonprofit management advice.
  7. Voice: direct, confident, plain. No nonprofit jargon for its own sake. Active voice. Short paragraphs. The funder is a peer making a bet, not a savior being begged.

Helper script (verified)

Save the following as outline_checklist.py, then run python3 outline_checklist.py. It prints a section-by-section checklist with prompts and a pre-submit audit block. The code below was run locally and produces the output shown in testing.

python
#!/usr/bin/env python3
"""Print a grant proposal outline checklist with section prompts.

Usage: save as outline_checklist.py, then run: python3 outline_checklist.py
Outputs a plain-text checklist of standard proposal sections. Customize word
limits to match the funder's guidelines before drafting.
"""
SECTIONS = [
    ("Executive summary", "One page. Org intro, project summary, amount requested, expected outcomes."),
    ("Statement of need", "The problem in this community, with specific numbers. Who is affected, what gap this closes."),
    ("Goals and objectives", "Measurable results with baselines and targets. SMART where possible."),
    ("Project description / approach", "What you will do, who is involved, where, when. Methods, activities, timeline, staffing."),
    ("Evaluation plan", "Indicators, data sources, collection methods, who analyzes, reporting schedule."),
    ("Organizational capacity", "Mission, history, relevant past results, key staff. Proof, not claims."),
    ("Sustainability plan", "What continues after the grant period ends. Only include if the funder asks."),
    ("Budget and justification", "Line-item budget with a narrative explaining each cost. Every budget line must appear in the narrative, and vice versa."),
    ("Attachments checklist", "501(c)(3) letter, board list, financials, letters of support, anything the funder requires."),
]

def main():
    print("GRANT PROPOSAL OUTLINE CHECKLIST")
    print("=" * 40)
    for i, (name, prompt) in enumerate(SECTIONS, 1):
        print(f"\n{i}. {name}")
        print(f"   Prompt: {prompt}")
        print(f"   [ ] Drafted  [ ] Within page/word limit  [ ] Evidence attached")
    print("\nPre-submit audit:")
    print("  [ ] Matches funder's stated priorities")
    print("  [ ] No generic filler; all claims have evidence or are flagged")
    print("  [ ] Budget math checked; narrative and budget agree")

if __name__ == "__main__":
    main()

Versions

v1.0.02026-10-06 · 0 installs · Ed25519-signed./install.sh grant-writing-basics 1.0.0bundle (.zip)

publisher key 2e43c913833850e6d80f939677e3de76e806d47785c0f1caaca90f9d18c98e1e

Ratings

No ratings yet — be the first to rate it.