Pro Research Grants
Production-ready skill that handles write, competitive, research, proposals. Includes structured workflows, validation checks, and reusable patterns for scientific.
Pro Research Grants
Write competitive research grant proposals targeting federal agencies (NIH, NSF, DOE) and private foundations. This skill covers proposal structure, specific aims development, budget justification, review criteria alignment, and project management for grant submission.
When to Use This Skill
Choose Pro Research Grants when you need to:
- Develop NIH R01/R21/R03 or NSF proposals following agency-specific guidelines
- Write compelling specific aims pages that frame significance and innovation
- Create detailed budgets with proper justification and cost sharing
- Manage the multi-month process from concept to submission
Consider alternatives when:
- You need to find grant opportunities (use grants.gov or NIH Reporter search)
- You need statistical analysis for preliminary data (use statistical analysis tools)
- You need to manage funded project reporting (use institutional research admin systems)
Quick Start
pip install python-docx pandas jinja2
from docx import Document from docx.shared import Pt, Inches from docx.enum.text import WD_ALIGN_PARAGRAPH def create_specific_aims(title, pi_name, aims_data, output_path): """Generate an NIH-style Specific Aims page.""" doc = Document() # Set margins (NIH requires 0.5" minimum) for section in doc.sections: section.top_margin = Inches(0.5) section.bottom_margin = Inches(0.5) section.left_margin = Inches(0.5) section.right_margin = Inches(0.5) # Title p = doc.add_paragraph() run = p.add_run(title) run.bold = True run.font.size = Pt(12) p.alignment = WD_ALIGN_PARAGRAPH.CENTER # Opening paragraph (the hook) doc.add_paragraph(aims_data["opening"]) # Gap statement p = doc.add_paragraph() run = p.add_run(aims_data["gap"]) run.italic = True # Long-term goal and objective doc.add_paragraph(aims_data["objective"]) # Central hypothesis p = doc.add_paragraph() run = p.add_run("Central Hypothesis: ") run.bold = True p.add_run(aims_data["hypothesis"]) # Specific aims for i, aim in enumerate(aims_data["aims"], 1): p = doc.add_paragraph() run = p.add_run(f"Aim {i}: {aim['title']}. ") run.bold = True p.add_run(aim["description"]) # Impact statement doc.add_paragraph(aims_data["impact"]) doc.save(output_path) print(f"Specific Aims saved to {output_path}") # Example aims = { "opening": "Cancer remains the second leading cause of death worldwide, " "with drug resistance responsible for over 90% of treatment failures.", "gap": "Despite advances in targeted therapy, the molecular mechanisms " "driving adaptive resistance remain poorly understood.", "objective": "The long-term goal of this research is to identify actionable " "resistance mechanisms. The objective of this application is to " "characterize the epigenetic rewiring that drives resistance.", "hypothesis": "Adaptive drug resistance is driven by reversible epigenetic " "changes that can be targeted with combination therapy.", "aims": [ { "title": "Map epigenetic changes during resistance development", "description": "We will use ATAC-seq and ChIP-seq to profile " "chromatin changes across a time course of resistance." }, { "title": "Identify druggable epigenetic targets", "description": "We will screen epigenetic inhibitors against " "resistant cell lines and validate hits in vivo." }, { "title": "Test combination strategies in preclinical models", "description": "We will evaluate the most promising combinations " "in patient-derived xenograft models." } ], "impact": "Successful completion of these aims will provide a framework " "for predicting and overcoming drug resistance through " "epigenetic intervention." } create_specific_aims( "Epigenetic Mechanisms of Adaptive Drug Resistance", "Dr. Jane Smith", aims, "specific_aims.docx" )
Core Concepts
NIH Proposal Structure
| Section | Page Limit | Purpose |
|---|---|---|
| Specific Aims | 1 page | Frame the problem and proposed solution |
| Significance | 1-2 pages | Why the problem matters |
| Innovation | 0.5-1 page | What's new about your approach |
| Approach | 6-8 pages | Detailed methods, timeline, pitfalls |
| Budget | Variable | Costs and justification |
| Biosketch | 5 pages | PI qualifications and contributions |
| Facilities | Variable | Available resources and equipment |
Budget Planning
import pandas as pd def create_nih_budget(years=5, pi_effort=3, postdoc=True, grad_students=1): """Generate a multi-year NIH budget estimate.""" budget = [] for year in range(1, years + 1): annual_increase = 1.03 ** (year - 1) # 3% annual increase # Personnel pi_salary = 200000 * (pi_effort / 12) * annual_increase pi_fringe = pi_salary * 0.30 if postdoc: pd_salary = 56484 * annual_increase # NIH NRSA scale pd_fringe = pd_salary * 0.25 else: pd_salary = pd_fringe = 0 grad_salary = 35000 * grad_students * annual_increase grad_fringe = grad_salary * 0.15 # tuition remission # Other costs supplies = 25000 * annual_increase travel = 3000 publication = 5000 other = 10000 total_direct = (pi_salary + pi_fringe + pd_salary + pd_fringe + grad_salary + grad_fringe + supplies + travel + publication + other) indirect = total_direct * 0.55 # typical F&A rate total = total_direct + indirect budget.append({ "Year": year, "PI Salary+Fringe": pi_salary + pi_fringe, "Postdoc": pd_salary + pd_fringe, "Grad Students": grad_salary + grad_fringe, "Supplies": supplies, "Travel": travel, "Other": publication + other, "Total Direct": total_direct, "F&A (55%)": indirect, "Total": total }) df = pd.DataFrame(budget) print(df.to_string(index=False, float_format="${:,.0f}".format)) print(f"\nTotal project cost: ${df['Total'].sum():,.0f}") return df create_nih_budget(years=5, pi_effort=3, postdoc=True, grad_students=2)
Configuration
| Parameter | Description | Default |
|---|---|---|
agency | Funding agency (NIH, NSF, DOE, DOD) | "NIH" |
mechanism | Grant type (R01, R21, R03, CAREER) | "R01" |
duration_years | Project period | 5 |
budget_cap | Annual direct cost limit | $500,000 (R01) |
fa_rate | Facilities & administrative rate | Institution-specific |
font | Required document font | "Arial 11pt" |
Best Practices
-
Write the Specific Aims page first and iterate — The one-page Specific Aims is the most read section and sets up everything else. Write it first, get feedback from colleagues, revise multiple times. Every word matters in that single page — eliminate filler and jargon.
-
Align with review criteria explicitly — NIH uses Significance, Innovation, Investigators, Approach, and Environment. Address each criterion clearly with section headers that match. Make reviewers' jobs easy by organizing your proposal around their scoring rubric.
-
Include preliminary data strategically — Reviewers want evidence of feasibility, not a completed project. Include enough preliminary data to show your approach works (1-3 key figures), but frame it as "promising initial findings that motivate a larger study" rather than presenting a done deal.
-
Address potential problems and alternative approaches — Proactively discuss what could go wrong with each aim and what you'll do about it. This demonstrates expertise and planning. Reviewers penalize proposals that ignore risks more than ones that acknowledge and plan for them.
-
Budget realistically — don't underbudget to appear economical — Reviewers see through artificially low budgets and question feasibility. Request what you actually need for personnel, supplies, and services. An underfunded project that can't deliver is worse than a well-budgeted one.
Common Issues
Proposal rejected for "lack of innovation" — Reviewers see the same approaches repeatedly. Clearly articulate what is new: a novel method, an unexplored biological question, a new combination of techniques, or application to an understudied population. Don't just claim innovation — demonstrate it with specific contrasts to existing approaches.
Budget doesn't match proposed work — Reviewers cross-check the budget against the research plan. If you propose three aims with animal studies and sequencing but budget only for supplies, the disconnect undermines credibility. Ensure every proposed experiment has corresponding budget line items.
Specific Aims page is too dense or unfocused — A common mistake is cramming too much technical detail into the Aims page. This page should tell a compelling story: problem → gap → hypothesis → approach → impact. Save methods details for the Approach section. If a colleague outside your subfield can't understand the Aims page, simplify it.
Reviews
No reviews yet. Be the first to review this template!
Similar Templates
Full-Stack Code Reviewer
Comprehensive code review skill that checks for security vulnerabilities, performance issues, accessibility, and best practices across frontend and backend code.
Test Suite Generator
Generates comprehensive test suites with unit tests, integration tests, and edge cases. Supports Jest, Vitest, Pytest, and Go testing.
Pro Architecture Workspace
Battle-tested skill for architectural, decision, making, framework. Includes structured workflows, validation checks, and reusable patterns for development.