Loading...
Loading...
NIH grant research skill for clinical researchers. Grill-me intake (research idea + career stage + preliminary data + environment + submission posture + known institute targets) locks down the funding strategy before any search runs. Runs a 5-facet Consensus positioning analysis (with draft Significance/Innovation language), maps the research to the right NIH institutes and study sections via RePORTER, finds NOSIs and funded overlap, and produces an editable Word document (.docx) with budget/scope-aware mechanism recommendations, submission timelines, and a mandatory program officer recommendation. Triggers: 'grants for [topic]', 'find grants for my research idea', 'what grants match my research', 'help me find NIH funding', 'grant opportunities for my research', or any grant-related request. NIH-only scope — non-NIH funders (PCORI, DOD CDMRP, VA, foundations) are out of scope and flagged at intake.
npx skill4agent add alirezarezvani/claude-skills grantsPortability: Requires(for RePORTER POST via curl), Node.js withbash_toolpackage, and a Consensus MCP connection. Works in Claude Code CLI natively. In Claude.ai with Code Execution + Consensus MCP, the workflow is supported but slower.docx
Scope: NIH-only. Non-NIH funders (PCORI, DOD CDMRP, VA, foundations) are out of scope and flagged at intake.
.docx[Not from Consensus/RePORTER — reference information]references/reporter_post_patterns.mdDescribe the research idea in 2–3 sentences. What's the question, what's new, and what's the clinical relevance? Vague answers ("AI for healthcare", "biomarkers for disease X") will be rejected — push for specificity.Why I'm asking: Five Consensus searches (established / stakes / current approaches / adjacent methods / gaps) depend on a precise research idea. Vague ideas produce vague gap quotes and useless positioning narrative.
Career stage — pick one:
- Pre-doctoral (PhD student, T32 trainee)
- Postdoctoral fellow (F32, K99 candidate)
- Early career (K-award candidate, first R01)
- Independent investigator (multiple R01s, established lab)
- Senior PI (R35, P-series, U01 leadership)
Why I'm asking: Career stage filters mechanism recommendations. F-series for trainees, K-series for early career, R-series for independent. Picking the wrong stage produces unfundable mechanism suggestions.
Preliminary data — pick one:
- None (de novo project, no pilot data yet)
- Pilot data (early findings, single-site)
- Strong preliminary (multi-experiment, ready for R01-scale)
- Validated and ready (multi-site, publication-ready)
Why I'm asking: Prelim data status drives mechanism budget. No data → R03 / R21 pilot scope. Strong prelim → R01 / U01 multi-site scale. Mismatch produces uncompetitive applications.
Research environment — pick one:
- R01-eligible (research-intensive institution with NIH base funding)
- Mid-tier (regional academic medical center, modest NIH portfolio)
- Resource-constrained (smaller institution, minimal NIH base)
- Industry-collaborative (academic + industry partnership)
Why I'm asking: Environment affects scope realism (multi-site U01 requires R01-eligible) and which mechanism categories are competitive (R15 specifically targets resource-constrained).
Submission posture — pick one:
- New application (first submission, no prior reviews)
- Resubmission (A1 with reviewer responses needed)
- Exploring (haven't decided yet whether to submit)
Why I'm asking: Resubmissions need reviewer-response guidance in the DOCX (Section 7). New applications skip that. Exploring shifts emphasis to landscape over strategy.
Are you already considering specific NIH institutes? List names (NCI / NHLBI / NIMH / NINDS / NIDDK / etc.) or say "no preference — find the right ones".Why I'm asking: If you have an institute hypothesis, I'll validate it against RePORTER data. If not, I'll surface the top-3 institutes funding adjacent work from the institute-tally.
"<research idea>" established evidence"<topic>" mortality OR burden OR cost OR prevalence"<topic>" current treatment OR standard of care OR approach"<related technique>" applied to <topic>"<topic>" limitations OR unanswered OR future directions OR challengescripts/citation_tracker.py --action record_consensus_searchbash_toolcurlweb_fetchscripts/fiscal_year_calculator.pypython ../scripts/fiscal_year_calculator.py --output json
# Returns: {"current_fy": 2026, "window": [2023, 2024, 2025, 2026]}curl -X POST 'https://api.reporter.nih.gov/v2/projects/search' \
-H 'Content-Type: application/json' \
-d '{
"criteria": {
"fiscal_years": [2023, 2024, 2025, 2026],
"include_active_projects": true,
"advanced_text_search": {
"operator": "AND",
"search_field": "all",
"search_text": "<key term 1> <key term 2>"
}
},
"limit": 50,
"include_fields": ["project_num", "project_title", "agency_ic_admin", "study_section", "fiscal_year", "principal_investigators", "abstract_text"]
}'curl -X POST 'https://api.reporter.nih.gov/v2/projects/search' \
-H 'Content-Type: application/json' \
-d '{
"criteria": {
"fiscal_years": [2023, 2024, 2025, 2026],
"advanced_text_search": {
"operator": "OR",
"search_field": "all",
"search_text": "<term> <synonym> <related concept>"
}
},
"limit": 50
}'agency_ic_adminstudy_sectionNOT-*# NOSIs live at predictable URLs:
# https://grants.nih.gov/grants/guide/notice-files/NOT-<INSTITUTE>-<YEAR>-<NUMBER>.html
web_fetch <url>[NOSI {number} — fetch failed, not included]scripts/mechanism_matcher.pypython ../scripts/mechanism_matcher.py \
--career-stage "early_career" \
--prelim-data "pilot" \
--environment "r01_eligible" \
--scope "single_site" \
--output json
# Returns mechanism shortlist with rationalereferences/nih_mechanism_matching.mddocxreferences/docx_9_sections.mdExternalHyperlinkhttps://consensus.app/papers/...https://grants.nih.gov/grants/guide/...https://reporter.nih.gov/project-details/<id>Recommended next step: contact program officer at {top institute}. Find their staff page at https://www.nih.gov/institutes-nih/list-nih-institutes-centers-offices → {institute} → Program Officers. Prepare: 1-page specific aims + your CV + 3 specific questions about fit. Email subject: "Pre-application inquiry: <topic>".
| Mechanism | Standard receipt dates |
|---|---|
| R01, R21, R03 | Feb 5, Jun 5, Oct 5 |
| K awards (K01, K08, K23, K99) | Feb 12, Jun 12, Oct 12 |
| R34, R61/R33 | Feb 16, Jun 16, Oct 16 |
| F31, F32 | Apr 8, Aug 8, Dec 8 |
<output-dir>/grants_<topic-slug>_<YYYY-MM-DD>.docxpython scripts/office/validate.py <docx>| Script | Role |
|---|---|
| Three-count audit (Consensus sent/shown/cited + RePORTER projects/cited) at |
| Current FY + 3-prior window. Computed at runtime, never hardcoded. |
| Career stage × scope × prelim → mechanism recommendation shortlist |
references/nih_mechanism_matching.mdreferences/reporter_post_patterns.mdreferences/docx_9_sections.md| Failure | Behavior |
|---|---|
| Consensus rate-limit hit | Wait 3s, retry once, log; if still failing, alert researcher |
| Consensus returns 0 for a facet | Surface explicitly; never fill with training knowledge |
| Consensus plan-tier cap detected | Log tier, note in audit, surface to researcher |
| RePORTER POST returns error | Retry once after 3s; if still failing, log and continue |
| RePORTER returns <5 on narrow | Document; broad OR should compensate; surface low count |
| NOSI fetch fails | Log |
| 3 consecutive tool failures | Stop, alert researcher with what's missing |
| DOCX generation fails | Save raw data as JSON fallback so researcher doesn't lose work |
web_fetchweb_fetchmegaprompts/08-grants-megaprompt.md