Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Grant writing and proposal architecture: funder fit, proposal structure, budget design, and success-factor scoring. Use when writing a grant proposal, evaluating funder fit, auditing a draft for competitiveness, or planning a budget.
.claude/skills/borghei-grants/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-11 | ✗→✓ | ▲ Improved | 79% | 0% |
| case-12 | ✗→✓ | ▲ Improved | 76% | 0% |
| case-13 | ✗→✓ | ▲ Improved | 25% | 0% |
| case-14 | ✗→✓ | ▲ Improved | 15% | 0% |
| case-15 | ✗→✓ | ▲ Improved | 20% | 0% |
A skill for crafting competitive grant proposals across funder types: government (NIH, NSF, DOE, ARPA), foundation, corporate, philanthropic, and SBIR / STTR. Focuses on the architecture of a winning proposal: fit, structure, narrative, budget — not boilerplate templating.
Before generating the proposal, confirm these inputs. If any is unknown or vague, ASK — do not assume:
Stop rule: ask only the 2-3 that most change the output. If the user says "just draft it," proceed and list your assumptions at the top of the artifact.
funder_fit_scorer.py to grade fit on 7 dimensions.bashpython3 grants/scripts/funder_fit_scorer.py \ --input funder_fit.json --format markdown
proposal_structure_validator.py against funder type expectations.bashpython3 grants/scripts/proposal_structure_validator.py \ --input proposal_structure.json --funder-type nih --format markdown
budget_realism_checker.py against funder norms + project scope.bashpython3 grants/scripts/budget_realism_checker.py \ --input budget.json --format markdown
A score below 65 across these is usually a "skip this funder" signal.
| Funder type | Emphasizes | De-emphasizes | |-------------|-----------|---------------| | NIH | Significance + innovation + approach + investigator + environment (5 criteria) | Commercial outcome | | NSF | Intellectual merit + broader impacts | Direct commercial outcome | | ARPA / DARPA | Heilmeier catechism (defined moonshot question) | Incremental work | | SBIR / STTR | Commercial path + technical risk | Pure science | | Foundation | Mission fit + measurable outcomes | Pure academic novelty | | Corporate | Commercial relevance to sponsor | Independence from sponsor | | Crowdfunding | Story + community appeal | Technical rigor |
Write to the funder's mental model, not a generic "good grant."
A proposal that can't answer all seven crisply isn't ready.
references/funder-fit-and-research-strategy.md — fit dimensions, funder types, multi-funder strategyreferences/proposal-structure-and-narrative.md — per-funder structures, narrative disciplinereferences/budget-design-and-justification.md — budget categories, indirect costs, common errorsresearch/litreview — literature review for proposalsc-level-advisor/general-counsel-advisor — legal review of termsc-level-advisor/cfo-advisor — financial review| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 19,991 | 21,427 | +7% | 1 | 1 | 0% | 3,027 | 5,175 | +71% | 0 | 0 | — |
case-02 | fail→fail | 19,456 | 18,590 | -4% | 1 | 1 | 0% | 3,215 | 4,653 | +45% | 0 | 0 | — |
case-03 | fail→fail | 16,938 | 15,453 | -9% | 1 | 1 | 0% | 2,957 | 4,266 | +44% | 0 | 0 | — |
case-04 | fail→fail | 16,858 | 16,932 | +0% | 1 | 1 | 0% | 2,702 | 4,439 | +64% | 0 | 0 | — |
case-05 | pass→pass | 13,164 | 13,328 | +1% | 1 | 1 | 0% | 2,033 | 3,471 | +71% | 0 | 0 | — |
case-06 | pass→pass | 13,977 | 9,022 | -35% | 1 | 1 | 0% | 2,084 | 2,944 | +41% | 0 | 0 | — |
case-07 | pass→pass | 12,408 | 10,845 | -13% | 1 | 1 | 0% | 1,845 | 3,228 | +75% | 0 | 0 | — |
case-08 | pass→pass | 11,815 | 9,147 | -23% | 1 | 1 | 0% | 1,657 | 2,927 | +77% | 0 | 0 | — |
case-09 | fail→fail | 17,253 | 16,818 | -3% | 1 | 1 | 0% | 2,706 | 4,211 | +56% | 0 | 0 | — |
case-10 | pass→pass | 12,573 | 15,277 | +22% | 1 | 1 | 0% | 1,899 | 3,909 | +106% | 0 | 0 | — |
case-11 | fail→pass | 8,963 | 5,111 | -43% | 1 | 1 | 0% | 1,372 | 2,455 | +79% | 0 | 0 | — |
case-12 | fail→pass | 18,642 | 22,177 | +19% | 1 | 1 | 0% | 2,875 | 5,054 | +76% | 0 | 0 | — |
case-13 | fail→pass | 9,882 | 2,608 | -74% | 1 | 1 | 0% | 1,630 | 2,033 | +25% | 0 | 0 | — |
case-22 | pass→pass | 12,442 | 15,613 | +25% | 1 | 1 | 0% | 1,758 | 3,768 | +114% | 0 | 0 | — |
case-14 | fail→pass | 11,513 | 2,574 | -78% | 1 | 1 | 0% | 1,795 | 2,065 | +15% | 0 | 0 | — |
case-15 | fail→pass | 10,159 | 2,307 | -77% | 1 | 1 | 0% | 1,640 | 1,973 | +20% | 0 | 0 | — |
case-16 | pass→pass | 12,819 | 10,539 | -18% | 1 | 1 | 0% | 1,892 | 3,128 | +65% | 0 | 0 | — |
case-17 | pass→pass | 13,846 | 12,424 | -10% | 1 | 1 | 0% | 1,971 | 3,402 | +73% | 0 | 0 | — |
case-18 | pass→pass | 11,107 | 9,480 | -15% | 1 | 1 | 0% | 1,688 | 2,965 | +76% | 0 | 0 | — |
case-19 | pass→pass | 11,592 | 10,596 | -9% | 1 | 1 | 0% | 1,713 | 3,167 | +85% | 0 | 0 | — |
case-20 | pass→pass | 11,264 | 9,639 | -14% | 1 | 1 | 0% | 1,730 | 3,074 | +78% | 0 | 0 | — |
case-21 | pass→pass | 11,202 | 8,852 | -21% | 1 | 1 | 0% | 1,673 | 3,097 | +85% | 0 | 0 | — |
case-23 | pass→pass | 17,457 | 15,425 | -12% | 1 | 1 | 0% | 2,400 | 3,903 | +63% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 23 cases were attempted. The headline lift of +22 percentage points is the difference between those two pass rates over the 23 comparable cases. 1 case got worse with the skill loaded, and it is included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.