[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71HV37APDHNAPC89JJWJSVF":3,"skill-same:01M71HV37APDHNAPC89JJWJSVF":114},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":34,"publishedAt":54,"linkOnly":55,"markdownContent":56,"markdownBody":57,"frontMatter":58,"refName":64,"commitSha":65,"skillDirectory":66,"forksCount":14,"repositoryHtmlUrl":67,"repositoryHomepageUrl":6,"ownerHtmlUrl":68,"ownerBlogUrl":69,"ownerDescription":70,"updatedAt":71,"install":72,"resources":85},"01M71HV37APDHNAPC89JJWJSVF","grants",null,"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\u002FInnovation 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\u002Fscope-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.","agency-black\u002FSkills","agency-black","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F234862658?v=4","01M6HWVFPNGNR5N2CX9ECSAD57","agencia.black","01M719WF77BF3HN0N9FK1APEFY",0,"MIT","https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fresearch\u002Fgrants\u002Fskills\u002Fgrants\u002FSKILL.md",[18,23,26,29],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000002","文档处理","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000021","资料检索与研究",{"categoryNo":27,"categoryName":28,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":30,"categoryName":31,"taxonomyType":32,"taxonomyTypeDesc":33},"01JBSEEDCAT000000000000034","行政与办公人员","PROFESSION","适用职业",[5,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53],"only","audit","grill","me","maps","conversion","program","analysis","positioning","facet","grill-me","clinical","search","scope","consensus","foundations","out of scope","docx","funding","2026-11-10 10:12:30",false,"---\nname: grants\ndescription: \"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\u002FInnovation 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\u002Fscope-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.\"\nlicense: MIT\nmetadata:\n  source_spec: \"megaprompts\u002F08-grants-megaprompt.md\"\n  build_pattern: \"Path B (direct conversion)\"\n  research_pack_convention: \"Agent Integrity Rules verbatim per PR #657 audit\"\n  version: 1.0.0\n---\n\n# Grants — NIH Funding Intelligence\n\n> **Portability:** Requires `bash_tool` (for RePORTER POST via curl), Node.js with `docx` package, 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.\n\n> **Scope: NIH-only.** Non-NIH funders (PCORI, DOD CDMRP, VA, foundations) are out of scope and flagged at intake.\n\nFor a clinical researcher with a research idea, produce a strategic NIH funding overview as an editable `.docx`. Output covers research positioning analysis, institute mapping, targeted grant discovery, and strategic recommendations the researcher can edit, copy from, and share with their mentor.\n\n## Agent Integrity Rules (Research-Pack Convention)\n\nInherited; locked verbatim per PR #657 audit.\n\n- **Execution discipline.** A step isn't complete until result is confirmed received. Consensus calls **sequential with 1+ sec pause**. RePORTER calls sequential.\n- **Data sourcing.** Count only what tool calls returned this session. Never supplement with training knowledge. Training knowledge labeled `[Not from Consensus\u002FRePORTER — reference information]` and excluded from counts.\n- **Counts & attribution.** Queries sent \u002F results shown \u002F results cited — three separate numbers, never conflate. Every cited paper has retrievable URL from this session.\n- **Error handling.** On failure → wait 3s → retry once → log. After 3 consecutive failures across tools: stop, alert researcher, explain what's missing. Never silently skip.\n- **Transparency.** Audit Log section in the DOCX. Same standards in chat summary as in document.\n\nSee [`references\u002Freporter_post_patterns.md`](references\u002Freporter_post_patterns.md) for the RePORTER POST canon + plan-tier detection.\n\n## Phase 1: Grill-Me Intake (6 forcing questions, one at a time)\n\n### Q1 (root) — Research idea\n\n> **Describe 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.**\n>\n> *Why I'm asking:* Five Consensus searches (established \u002F stakes \u002F current approaches \u002F adjacent methods \u002F gaps) depend on a precise research idea. Vague ideas produce vague gap quotes and useless positioning narrative.\n\nRefuse mush. Re-ask once with examples if user is too broad.\n\n### Q2 (depends on Q1) — Career stage\n\n> **Career stage — pick one:**\n>\n> 1. Pre-doctoral (PhD student, T32 trainee)\n> 2. Postdoctoral fellow (F32, K99 candidate)\n> 3. Early career (K-award candidate, first R01)\n> 4. Independent investigator (multiple R01s, established lab)\n> 5. Senior PI (R35, P-series, U01 leadership)\n>\n> *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.\n\nForcing choice.\n\n### Q3 (depends on Q2) — Preliminary data status\n\n> **Preliminary data — pick one:**\n>\n> 1. None (de novo project, no pilot data yet)\n> 2. Pilot data (early findings, single-site)\n> 3. Strong preliminary (multi-experiment, ready for R01-scale)\n> 4. Validated and ready (multi-site, publication-ready)\n>\n> *Why I'm asking:* Prelim data status drives mechanism budget. No data → R03 \u002F R21 pilot scope. Strong prelim → R01 \u002F U01 multi-site scale. Mismatch produces uncompetitive applications.\n\n### Q4 (depends on Q2) — Environment\n\n> **Research environment — pick one:**\n>\n> 1. R01-eligible (research-intensive institution with NIH base funding)\n> 2. Mid-tier (regional academic medical center, modest NIH portfolio)\n> 3. Resource-constrained (smaller institution, minimal NIH base)\n> 4. Industry-collaborative (academic + industry partnership)\n>\n> *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).\n\n### Q5 (depends on Q1) — Submission posture\n\n> **Submission posture — pick one:**\n>\n> 1. New application (first submission, no prior reviews)\n> 2. Resubmission (A1 with reviewer responses needed)\n> 3. Exploring (haven't decided yet whether to submit)\n>\n> *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.\n\n### Q6 (depends on Q1) — Known institute targets\n\n> **Are you already considering specific NIH institutes? List names (NCI \u002F NHLBI \u002F NIMH \u002F NINDS \u002F NIDDK \u002F etc.) or say \"no preference — find the right ones\".**\n>\n> *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.\n\nAccept \"no preference\" as the common case.\n\n**Stop condition:** After Q6, commit and start Phase 2A. Never re-open intake after Phase 2A begins.\n\n## Phase 2A: Research Positioning (5 Consensus searches)\n\nRun sequentially at 1 q\u002Fsec. Each search corresponds to one positioning facet:\n\n1. **Established** — `\"\u003Cresearch idea>\" established evidence` — what's known\n2. **Stakes** — `\"\u003Ctopic>\" mortality OR burden OR cost OR prevalence` — why it matters\n3. **Current Approaches** — `\"\u003Ctopic>\" current treatment OR standard of care OR approach` — state of the art\n4. **Adjacent Methods** — `\"\u003Crelated technique>\" applied to \u003Ctopic>` — methodological possibilities\n5. **Gaps** — `\"\u003Ctopic>\" limitations OR unanswered OR future directions OR challenge` — gap signals\n\nUse `scripts\u002Fcitation_tracker.py --action record_consensus_search` for each. Plan-tier detected from first response.\n\n**Synthesis:** for each facet, extract 2-3 quotable findings (becomes Section 2 gap quotes). Draft Significance\u002FInnovation language using \"the field has established X (refs), but Y remains unanswered (refs)\" pattern.\n\n## Phase 2B: Institute Mapping + Grant Discovery (RePORTER POST)\n\nRePORTER is **POST-only**. Use `bash_tool` + `curl` — never `web_fetch`.\n\n### Dynamic fiscal year window\n\nCompute at runtime via `scripts\u002Ffiscal_year_calculator.py`. Default: current FY + 3 prior. Federal FY starts Oct 1, so:\n\n```bash\npython ..\u002Fscripts\u002Ffiscal_year_calculator.py --output json\n# Returns: {\"current_fy\": 2026, \"window\": [2023, 2024, 2025, 2026]}\n```\n\n### Narrow (AND) search — finds direct overlap\n\n```bash\ncurl -X POST 'https:\u002F\u002Fapi.reporter.nih.gov\u002Fv2\u002Fprojects\u002Fsearch' \\\n  -H 'Content-Type: application\u002Fjson' \\\n  -d '{\n    \"criteria\": {\n      \"fiscal_years\": [2023, 2024, 2025, 2026],\n      \"include_active_projects\": true,\n      \"advanced_text_search\": {\n        \"operator\": \"AND\",\n        \"search_field\": \"all\",\n        \"search_text\": \"\u003Ckey term 1> \u003Ckey term 2>\"\n      }\n    },\n    \"limit\": 50,\n    \"include_fields\": [\"project_num\", \"project_title\", \"agency_ic_admin\", \"study_section\", \"fiscal_year\", \"principal_investigators\", \"abstract_text\"]\n  }'\n```\n\n### Broad (OR) search — finds adjacent work\n\n```bash\ncurl -X POST 'https:\u002F\u002Fapi.reporter.nih.gov\u002Fv2\u002Fprojects\u002Fsearch' \\\n  -H 'Content-Type: application\u002Fjson' \\\n  -d '{\n    \"criteria\": {\n      \"fiscal_years\": [2023, 2024, 2025, 2026],\n      \"advanced_text_search\": {\n        \"operator\": \"OR\",\n        \"search_field\": \"all\",\n        \"search_text\": \"\u003Cterm> \u003Csynonym> \u003Crelated concept>\"\n      }\n    },\n    \"limit\": 50\n  }'\n```\n\n### Institute tally + study section ranking\n\nAfter RePORTER responses:\n- Tally `agency_ic_admin` (institute code: NCI, NHLBI, NIMH, etc.) → top-3 funding institutes\n- Tally `study_section` → top-2 study sections (where applications go for review)\n\n### NOSI discovery\n\nParse RePORTER responses for `NOT-*` opportunity numbers. For each:\n\n```bash\n# NOSIs live at predictable URLs:\n# https:\u002F\u002Fgrants.nih.gov\u002Fgrants\u002Fguide\u002Fnotice-files\u002FNOT-\u003CINSTITUTE>-\u003CYEAR>-\u003CNUMBER>.html\nweb_fetch \u003Curl>\n```\n\nIf fetch fails: log `[NOSI {number} — fetch failed, not included]`, continue.\n\n## Mechanism Matching (Scope-Aware)\n\nNOT career stage alone. Career stage **+** project scope **+** prelim data drive recommendation.\n\nUse `scripts\u002Fmechanism_matcher.py`:\n\n```bash\npython ..\u002Fscripts\u002Fmechanism_matcher.py \\\n  --career-stage \"early_career\" \\\n  --prelim-data \"pilot\" \\\n  --environment \"r01_eligible\" \\\n  --scope \"single_site\" \\\n  --output json\n# Returns mechanism shortlist with rationale\n```\n\nSee [`references\u002Fnih_mechanism_matching.md`](references\u002Fnih_mechanism_matching.md) for the full matrix.\n\n## Phase 3: DOCX Generation\n\n9 sections via Node.js + `docx` library. See [`references\u002Fdocx_9_sections.md`](references\u002Fdocx_9_sections.md) for full spec.\n\n1. **Executive Summary** — title + career stage + environment + 3-4 key findings bullets\n2. **Research Positioning** — 3-5 gap quotes (italicized, inline Consensus citations) + 2-3 paragraph positioning narrative + supporting evidence table\n3. **Target Institutes** — ranking table (institute, project count in window, % match to your idea) + 2-3 sentence interpretation\n4. **Grant Opportunities** — bold NOSI callout if any. Top-3 grants table with hyperlinked FOAs + per-grant scope\u002Fbudget fit paragraph\n5. **Funded Overlap** — top-5 projects table (PI, project_num, IC, year, hyperlinked to RePORTER) + differentiation paragraph\n6. **Study Sections** — ranking table + best-match interpretation\n7. **Strategic Recommendations & Next Steps** — 3-4 numbered recs + **mandatory program officer rec** + submission timeline note + (if resubmission Q5=2) reviewer-response guidance + closing paragraph\n8. **References** — numbered bibliography, hyperlinked to Consensus\n9. **Audit Log** — Consensus searches table, plan-tier note, RePORTER searches table, NOSI fetches table, summary stats, tool constraints note, failed steps\n\n### Styling\n\nArial 12pt body, navy headings (#1a3a5c), light blue table headers (#e8f0f8), amber NOSI callout. `ExternalHyperlink` patterns:\n- Paper citations: `https:\u002F\u002Fconsensus.app\u002Fpapers\u002F...`\n- FOA links: `https:\u002F\u002Fgrants.nih.gov\u002Fgrants\u002Fguide\u002F...`\n- RePORTER projects: `https:\u002F\u002Freporter.nih.gov\u002Fproject-details\u002F\u003Cid>`\n\n## Mandatory Program Officer Recommendation\n\nAlways include in Section 7:\n\n> **Recommended next step: contact program officer at {top institute}.** Find their staff page at https:\u002F\u002Fwww.nih.gov\u002Finstitutes-nih\u002Flist-nih-institutes-centers-offices → {institute} → Program Officers. Prepare: 1-page specific aims + your CV + 3 specific questions about fit. Email subject: \"Pre-application inquiry: \u003Ctopic>\".\n\nThis is the single most valuable advice for any applicant. Never skip.\n\n## Submission Timeline (Embedded in DOCX Section 7)\n\n| Mechanism | Standard receipt dates |\n|---|---|\n| R01, R21, R03 | Feb 5, Jun 5, Oct 5 |\n| K awards (K01, K08, K23, K99) | Feb 12, Jun 12, Oct 12 |\n| R34, R61\u002FR33 | Feb 16, Jun 16, Oct 16 |\n| F31, F32 | Apr 8, Aug 8, Dec 8 |\n\n## Phase 4: Deliver\n\n- Save DOCX to `\u003Coutput-dir>\u002Fgrants_\u003Ctopic-slug>_\u003CYYYY-MM-DD>.docx`\n- Chat summary: file path + audit counts + plan tier + verdict on institute targets\n- Validate: `python scripts\u002Foffice\u002Fvalidate.py \u003Cdocx>`\n\n## Tooling\n\n| Script | Role |\n|---|---|\n| `scripts\u002Fcitation_tracker.py` | Three-count audit (Consensus sent\u002Fshown\u002Fcited + RePORTER projects\u002Fcited) at `~\u002F.grants_sessions\u002F\u003Csession>.json` |\n| `scripts\u002Ffiscal_year_calculator.py` | Current FY + 3-prior window. Computed at runtime, never hardcoded. |\n| `scripts\u002Fmechanism_matcher.py` | Career stage × scope × prelim → mechanism recommendation shortlist |\n\n## References\n\n- [`references\u002Fnih_mechanism_matching.md`](references\u002Fnih_mechanism_matching.md) — career stage × scope × prelim → mechanism canon (7+ sources)\n- [`references\u002Freporter_post_patterns.md`](references\u002Freporter_post_patterns.md) — RePORTER curl POST templates + plan-tier detection (7+ sources)\n- [`references\u002Fdocx_9_sections.md`](references\u002Fdocx_9_sections.md) — 9-section .docx spec + technical requirements (7+ sources)\n\n## Error Handling\n\n| Failure | Behavior |\n|---|---|\n| Consensus rate-limit hit | Wait 3s, retry once, log; if still failing, alert researcher |\n| Consensus returns 0 for a facet | Surface explicitly; never fill with training knowledge |\n| Consensus plan-tier cap detected | Log tier, note in audit, surface to researcher |\n| RePORTER POST returns error | Retry once after 3s; if still failing, log and continue |\n| RePORTER returns \u003C5 on narrow | Document; broad OR should compensate; surface low count |\n| NOSI fetch fails | Log `[NOSI {n} — fetch failed]`, continue |\n| 3 consecutive tool failures | Stop, alert researcher with what's missing |\n| DOCX generation fails | Save raw data as JSON fallback so researcher doesn't lose work |\n\n## Anti-Patterns To Reject\n\n- Parallelizing Consensus calls (will hit rate limit)\n- Using `web_fetch` for RePORTER (POST-only — `web_fetch` is GET)\n- Hardcoded fiscal year values\n- Mechanism recommendations based on career stage alone (must consider scope too)\n- Silently filling thin facet results with training knowledge\n- Skipping the audit log\n- Skipping the program officer recommendation\n- Conflating \"papers found\" with \"papers shown\" with \"papers cited\"\n- Fabricating NOSI details when fetch fails\n\n---\n\n**Version:** 1.0.0\n**Source spec:** [`megaprompts\u002F08-grants-megaprompt.md`](..\u002F..\u002F..\u002F..\u002Fmegaprompts\u002F08-grants-megaprompt.md)\n**Build pattern:** Path B (direct conversion). Research-pack sibling of pulse + litreview.\n","# Grants — NIH Funding Intelligence\n\n> **Portability:** Requires `bash_tool` (for RePORTER POST via curl), Node.js with `docx` package, 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.\n\n> **Scope: NIH-only.** Non-NIH funders (PCORI, DOD CDMRP, VA, foundations) are out of scope and flagged at intake.\n\nFor a clinical researcher with a research idea, produce a strategic NIH funding overview as an editable `.docx`. Output covers research positioning analysis, institute mapping, targeted grant discovery, and strategic recommendations the researcher can edit, copy from, and share with their mentor.\n\n## Agent Integrity Rules (Research-Pack Convention)\n\nInherited; locked verbatim per PR #657 audit.\n\n- **Execution discipline.** A step isn't complete until result is confirmed received. Consensus calls **sequential with 1+ sec pause**. RePORTER calls sequential.\n- **Data sourcing.** Count only what tool calls returned this session. Never supplement with training knowledge. Training knowledge labeled `[Not from Consensus\u002FRePORTER — reference information]` and excluded from counts.\n- **Counts & attribution.** Queries sent \u002F results shown \u002F results cited — three separate numbers, never conflate. Every cited paper has retrievable URL from this session.\n- **Error handling.** On failure → wait 3s → retry once → log. After 3 consecutive failures across tools: stop, alert researcher, explain what's missing. Never silently skip.\n- **Transparency.** Audit Log section in the DOCX. Same standards in chat summary as in document.\n\nSee [`references\u002Freporter_post_patterns.md`](references\u002Freporter_post_patterns.md) for the RePORTER POST canon + plan-tier detection.\n\n## Phase 1: Grill-Me Intake (6 forcing questions, one at a time)\n\n### Q1 (root) — Research idea\n\n> **Describe 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.**\n>\n> *Why I'm asking:* Five Consensus searches (established \u002F stakes \u002F current approaches \u002F adjacent methods \u002F gaps) depend on a precise research idea. Vague ideas produce vague gap quotes and useless positioning narrative.\n\nRefuse mush. Re-ask once with examples if user is too broad.\n\n### Q2 (depends on Q1) — Career stage\n\n> **Career stage — pick one:**\n>\n> 1. Pre-doctoral (PhD student, T32 trainee)\n> 2. Postdoctoral fellow (F32, K99 candidate)\n> 3. Early career (K-award candidate, first R01)\n> 4. Independent investigator (multiple R01s, established lab)\n> 5. Senior PI (R35, P-series, U01 leadership)\n>\n> *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.\n\nForcing choice.\n\n### Q3 (depends on Q2) — Preliminary data status\n\n> **Preliminary data — pick one:**\n>\n> 1. None (de novo project, no pilot data yet)\n> 2. Pilot data (early findings, single-site)\n> 3. Strong preliminary (multi-experiment, ready for R01-scale)\n> 4. Validated and ready (multi-site, publication-ready)\n>\n> *Why I'm asking:* Prelim data status drives mechanism budget. No data → R03 \u002F R21 pilot scope. Strong prelim → R01 \u002F U01 multi-site scale. Mismatch produces uncompetitive applications.\n\n### Q4 (depends on Q2) — Environment\n\n> **Research environment — pick one:**\n>\n> 1. R01-eligible (research-intensive institution with NIH base funding)\n> 2. Mid-tier (regional academic medical center, modest NIH portfolio)\n> 3. Resource-constrained (smaller institution, minimal NIH base)\n> 4. Industry-collaborative (academic + industry partnership)\n>\n> *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).\n\n### Q5 (depends on Q1) — Submission posture\n\n> **Submission posture — pick one:**\n>\n> 1. New application (first submission, no prior reviews)\n> 2. Resubmission (A1 with reviewer responses needed)\n> 3. Exploring (haven't decided yet whether to submit)\n>\n> *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.\n\n### Q6 (depends on Q1) — Known institute targets\n\n> **Are you already considering specific NIH institutes? List names (NCI \u002F NHLBI \u002F NIMH \u002F NINDS \u002F NIDDK \u002F etc.) or say \"no preference — find the right ones\".**\n>\n> *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.\n\nAccept \"no preference\" as the common case.\n\n**Stop condition:** After Q6, commit and start Phase 2A. Never re-open intake after Phase 2A begins.\n\n## Phase 2A: Research Positioning (5 Consensus searches)\n\nRun sequentially at 1 q\u002Fsec. Each search corresponds to one positioning facet:\n\n1. **Established** — `\"\u003Cresearch idea>\" established evidence` — what's known\n2. **Stakes** — `\"\u003Ctopic>\" mortality OR burden OR cost OR prevalence` — why it matters\n3. **Current Approaches** — `\"\u003Ctopic>\" current treatment OR standard of care OR approach` — state of the art\n4. **Adjacent Methods** — `\"\u003Crelated technique>\" applied to \u003Ctopic>` — methodological possibilities\n5. **Gaps** — `\"\u003Ctopic>\" limitations OR unanswered OR future directions OR challenge` — gap signals\n\nUse `scripts\u002Fcitation_tracker.py --action record_consensus_search` for each. Plan-tier detected from first response.\n\n**Synthesis:** for each facet, extract 2-3 quotable findings (becomes Section 2 gap quotes). Draft Significance\u002FInnovation language using \"the field has established X (refs), but Y remains unanswered (refs)\" pattern.\n\n## Phase 2B: Institute Mapping + Grant Discovery (RePORTER POST)\n\nRePORTER is **POST-only**. Use `bash_tool` + `curl` — never `web_fetch`.\n\n### Dynamic fiscal year window\n\nCompute at runtime via `scripts\u002Ffiscal_year_calculator.py`. Default: current FY + 3 prior. Federal FY starts Oct 1, so:\n\n```bash\npython ..\u002Fscripts\u002Ffiscal_year_calculator.py --output json\n# Returns: {\"current_fy\": 2026, \"window\": [2023, 2024, 2025, 2026]}\n```\n\n### Narrow (AND) search — finds direct overlap\n\n```bash\ncurl -X POST 'https:\u002F\u002Fapi.reporter.nih.gov\u002Fv2\u002Fprojects\u002Fsearch' \\\n  -H 'Content-Type: application\u002Fjson' \\\n  -d '{\n    \"criteria\": {\n      \"fiscal_years\": [2023, 2024, 2025, 2026],\n      \"include_active_projects\": true,\n      \"advanced_text_search\": {\n        \"operator\": \"AND\",\n        \"search_field\": \"all\",\n        \"search_text\": \"\u003Ckey term 1> \u003Ckey term 2>\"\n      }\n    },\n    \"limit\": 50,\n    \"include_fields\": [\"project_num\", \"project_title\", \"agency_ic_admin\", \"study_section\", \"fiscal_year\", \"principal_investigators\", \"abstract_text\"]\n  }'\n```\n\n### Broad (OR) search — finds adjacent work\n\n```bash\ncurl -X POST 'https:\u002F\u002Fapi.reporter.nih.gov\u002Fv2\u002Fprojects\u002Fsearch' \\\n  -H 'Content-Type: application\u002Fjson' \\\n  -d '{\n    \"criteria\": {\n      \"fiscal_years\": [2023, 2024, 2025, 2026],\n      \"advanced_text_search\": {\n        \"operator\": \"OR\",\n        \"search_field\": \"all\",\n        \"search_text\": \"\u003Cterm> \u003Csynonym> \u003Crelated concept>\"\n      }\n    },\n    \"limit\": 50\n  }'\n```\n\n### Institute tally + study section ranking\n\nAfter RePORTER responses:\n- Tally `agency_ic_admin` (institute code: NCI, NHLBI, NIMH, etc.) → top-3 funding institutes\n- Tally `study_section` → top-2 study sections (where applications go for review)\n\n### NOSI discovery\n\nParse RePORTER responses for `NOT-*` opportunity numbers. For each:\n\n```bash\n# NOSIs live at predictable URLs:\n# https:\u002F\u002Fgrants.nih.gov\u002Fgrants\u002Fguide\u002Fnotice-files\u002FNOT-\u003CINSTITUTE>-\u003CYEAR>-\u003CNUMBER>.html\nweb_fetch \u003Curl>\n```\n\nIf fetch fails: log `[NOSI {number} — fetch failed, not included]`, continue.\n\n## Mechanism Matching (Scope-Aware)\n\nNOT career stage alone. Career stage **+** project scope **+** prelim data drive recommendation.\n\nUse `scripts\u002Fmechanism_matcher.py`:\n\n```bash\npython ..\u002Fscripts\u002Fmechanism_matcher.py \\\n  --career-stage \"early_career\" \\\n  --prelim-data \"pilot\" \\\n  --environment \"r01_eligible\" \\\n  --scope \"single_site\" \\\n  --output json\n# Returns mechanism shortlist with rationale\n```\n\nSee [`references\u002Fnih_mechanism_matching.md`](references\u002Fnih_mechanism_matching.md) for the full matrix.\n\n## Phase 3: DOCX Generation\n\n9 sections via Node.js + `docx` library. See [`references\u002Fdocx_9_sections.md`](references\u002Fdocx_9_sections.md) for full spec.\n\n1. **Executive Summary** — title + career stage + environment + 3-4 key findings bullets\n2. **Research Positioning** — 3-5 gap quotes (italicized, inline Consensus citations) + 2-3 paragraph positioning narrative + supporting evidence table\n3. **Target Institutes** — ranking table (institute, project count in window, % match to your idea) + 2-3 sentence interpretation\n4. **Grant Opportunities** — bold NOSI callout if any. Top-3 grants table with hyperlinked FOAs + per-grant scope\u002Fbudget fit paragraph\n5. **Funded Overlap** — top-5 projects table (PI, project_num, IC, year, hyperlinked to RePORTER) + differentiation paragraph\n6. **Study Sections** — ranking table + best-match interpretation\n7. **Strategic Recommendations & Next Steps** — 3-4 numbered recs + **mandatory program officer rec** + submission timeline note + (if resubmission Q5=2) reviewer-response guidance + closing paragraph\n8. **References** — numbered bibliography, hyperlinked to Consensus\n9. **Audit Log** — Consensus searches table, plan-tier note, RePORTER searches table, NOSI fetches table, summary stats, tool constraints note, failed steps\n\n### Styling\n\nArial 12pt body, navy headings (#1a3a5c), light blue table headers (#e8f0f8), amber NOSI callout. `ExternalHyperlink` patterns:\n- Paper citations: `https:\u002F\u002Fconsensus.app\u002Fpapers\u002F...`\n- FOA links: `https:\u002F\u002Fgrants.nih.gov\u002Fgrants\u002Fguide\u002F...`\n- RePORTER projects: `https:\u002F\u002Freporter.nih.gov\u002Fproject-details\u002F\u003Cid>`\n\n## Mandatory Program Officer Recommendation\n\nAlways include in Section 7:\n\n> **Recommended next step: contact program officer at {top institute}.** Find their staff page at https:\u002F\u002Fwww.nih.gov\u002Finstitutes-nih\u002Flist-nih-institutes-centers-offices → {institute} → Program Officers. Prepare: 1-page specific aims + your CV + 3 specific questions about fit. Email subject: \"Pre-application inquiry: \u003Ctopic>\".\n\nThis is the single most valuable advice for any applicant. Never skip.\n\n## Submission Timeline (Embedded in DOCX Section 7)\n\n| Mechanism | Standard receipt dates |\n|---|---|\n| R01, R21, R03 | Feb 5, Jun 5, Oct 5 |\n| K awards (K01, K08, K23, K99) | Feb 12, Jun 12, Oct 12 |\n| R34, R61\u002FR33 | Feb 16, Jun 16, Oct 16 |\n| F31, F32 | Apr 8, Aug 8, Dec 8 |\n\n## Phase 4: Deliver\n\n- Save DOCX to `\u003Coutput-dir>\u002Fgrants_\u003Ctopic-slug>_\u003CYYYY-MM-DD>.docx`\n- Chat summary: file path + audit counts + plan tier + verdict on institute targets\n- Validate: `python scripts\u002Foffice\u002Fvalidate.py \u003Cdocx>`\n\n## Tooling\n\n| Script | Role |\n|---|---|\n| `scripts\u002Fcitation_tracker.py` | Three-count audit (Consensus sent\u002Fshown\u002Fcited + RePORTER projects\u002Fcited) at `~\u002F.grants_sessions\u002F\u003Csession>.json` |\n| `scripts\u002Ffiscal_year_calculator.py` | Current FY + 3-prior window. Computed at runtime, never hardcoded. |\n| `scripts\u002Fmechanism_matcher.py` | Career stage × scope × prelim → mechanism recommendation shortlist |\n\n## References\n\n- [`references\u002Fnih_mechanism_matching.md`](references\u002Fnih_mechanism_matching.md) — career stage × scope × prelim → mechanism canon (7+ sources)\n- [`references\u002Freporter_post_patterns.md`](references\u002Freporter_post_patterns.md) — RePORTER curl POST templates + plan-tier detection (7+ sources)\n- [`references\u002Fdocx_9_sections.md`](references\u002Fdocx_9_sections.md) — 9-section .docx spec + technical requirements (7+ sources)\n\n## Error Handling\n\n| Failure | Behavior |\n|---|---|\n| Consensus rate-limit hit | Wait 3s, retry once, log; if still failing, alert researcher |\n| Consensus returns 0 for a facet | Surface explicitly; never fill with training knowledge |\n| Consensus plan-tier cap detected | Log tier, note in audit, surface to researcher |\n| RePORTER POST returns error | Retry once after 3s; if still failing, log and continue |\n| RePORTER returns \u003C5 on narrow | Document; broad OR should compensate; surface low count |\n| NOSI fetch fails | Log `[NOSI {n} — fetch failed]`, continue |\n| 3 consecutive tool failures | Stop, alert researcher with what's missing |\n| DOCX generation fails | Save raw data as JSON fallback so researcher doesn't lose work |\n\n## Anti-Patterns To Reject\n\n- Parallelizing Consensus calls (will hit rate limit)\n- Using `web_fetch` for RePORTER (POST-only — `web_fetch` is GET)\n- Hardcoded fiscal year values\n- Mechanism recommendations based on career stage alone (must consider scope too)\n- Silently filling thin facet results with training knowledge\n- Skipping the audit log\n- Skipping the program officer recommendation\n- Conflating \"papers found\" with \"papers shown\" with \"papers cited\"\n- Fabricating NOSI details when fetch fails\n\n---\n\n**Version:** 1.0.0\n**Source spec:** [`megaprompts\u002F08-grants-megaprompt.md`](..\u002F..\u002F..\u002F..\u002Fmegaprompts\u002F08-grants-megaprompt.md)\n**Build pattern:** Path B (direct conversion). Research-pack sibling of pulse + litreview.\n",{"name":5,"license":15,"metadata":59,"description":7},{"version":60,"source_spec":61,"build_pattern":62,"research_pack_convention":63},"1.0.0","megaprompts\u002F08-grants-megaprompt.md","Path B (direct conversion)","Agent Integrity Rules verbatim per PR #657 audit","main","681496e0662f4c45c4758fae9d4510ae87311bf2","research\u002Fgrants\u002Fskills\u002Fgrants","https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills","https:\u002F\u002Fgithub.com\u002Fagency-black","http:\u002F\u002Fwww.dogma.black","Las grandes ideas merecen una ejecución impecable. Construimos plataformas web, aplicaciones y ecosistemas digitales completos. Esta Trinidad es nuestro dogma.","2026-05-29 16:13:55",{"source":8,"skillName":5,"commands":73,"prompt":83,"zipAvailable":84},[74,77,80],{"tool":75,"command":76},"npx","npx skills add agency-black\u002FSkills --skill grants",{"tool":78,"command":79},"bunx","bunx skills add agency-black\u002FSkills --skill grants",{"tool":81,"command":82},"pnpm","pnpm dlx skills add agency-black\u002FSkills --skill grants","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fresearch\u002Fgrants\u002Fskills\u002Fgrants\u002FSKILL.md",true,[86,92,96,100,106,110],{"path":87,"resourceType":88,"resourceTypeDesc":89,"sizeBytes":90,"sourceHtmlUrl":91},"references\u002Fdocx_9_sections.md","REFERENCE","参考文档",10920,"https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fresearch\u002Fgrants\u002Fskills\u002Fgrants\u002Freferences\u002Fdocx_9_sections.md",{"path":93,"resourceType":88,"resourceTypeDesc":89,"sizeBytes":94,"sourceHtmlUrl":95},"references\u002Fnih_mechanism_matching.md",8507,"https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fresearch\u002Fgrants\u002Fskills\u002Fgrants\u002Freferences\u002Fnih_mechanism_matching.md",{"path":97,"resourceType":88,"resourceTypeDesc":89,"sizeBytes":98,"sourceHtmlUrl":99},"references\u002Freporter_post_patterns.md",7652,"https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fresearch\u002Fgrants\u002Fskills\u002Fgrants\u002Freferences\u002Freporter_post_patterns.md",{"path":101,"resourceType":102,"resourceTypeDesc":103,"sizeBytes":104,"sourceHtmlUrl":105},"scripts\u002Fcitation_tracker.py","SCRIPT","脚本",12072,"https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fresearch\u002Fgrants\u002Fskills\u002Fgrants\u002Fscripts\u002Fcitation_tracker.py",{"path":107,"resourceType":102,"resourceTypeDesc":103,"sizeBytes":108,"sourceHtmlUrl":109},"scripts\u002Ffiscal_year_calculator.py",3514,"https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fresearch\u002Fgrants\u002Fskills\u002Fgrants\u002Fscripts\u002Ffiscal_year_calculator.py",{"path":111,"resourceType":102,"resourceTypeDesc":103,"sizeBytes":112,"sourceHtmlUrl":113},"scripts\u002Fmechanism_matcher.py",12079,"https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fresearch\u002Fgrants\u002Fskills\u002Fgrants\u002Fscripts\u002Fmechanism_matcher.py",[115,142,168,198,223,248],{"skillNo":116,"name":117,"nameZh":6,"description":118,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":119,"categories":120,"keywords":121,"publishedAt":54},"01M71JZVZ0TVW7Z5DQBRWSBG8A","zarr-python","Chunked N-D arrays for cloud storage (Zarr-Python 3). Compressed arrays, parallel I\u002FO, S3\u002FGCS via fsspec, NumPy\u002FDask\u002FXarray compatible, for large-scale scientific computing pipelines.","https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fzarr-python\u002FSKILL.md",[],[122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141],"zarr python","python","zarr","arrays","Cloud Storage","remote","workflows","scientific","read","write","edit","parallel","dask","for","s3fs","use","numpy","s3","scientific computing","scale",{"skillNo":143,"name":144,"nameZh":6,"description":145,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":146,"sourceHtmlUrl":147,"categories":148,"keywords":150,"publishedAt":54},"01M71JYXC5VAEJT8KXN5GRK32S","xvary-stock-research","Thesis-driven equity analysis from public SEC EDGAR and market data; \u002Fanalyze, \u002Fscore, \u002Fcompare workflows with bundled Python tools (Claude Code, Cursor, Codex).","https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fxvary-stock-research\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fxvary-stock-research\u002FSKILL.md",[149],{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},[151,152,153,154,155,156,157,123,158,128,42,159,160,161,162,163,164,165,166,167],"xvary","stock","research","xvary stock research","sec edgar","community","equity","thesis","code","Market","compare","market data","analyze","with","codex","cursor","2026",{"skillNo":169,"name":170,"nameZh":6,"description":171,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":172,"licenseFileUrl":173,"sourceHtmlUrl":174,"categories":175,"keywords":182,"publishedAt":54},"01M71JVSDPDQ5040YBN6J1ASKY","webapp-testing","Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.","Apache-2.0","https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fwebapp-testing\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fwebapp-testing\u002FSKILL.md",[176,179],{"categoryNo":177,"categoryName":178,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量",{"categoryNo":180,"categoryName":181,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000009","前端开发",[183,184,185,135,186,187,188,189,190,191,192,164,193,194,195,196,197],"webapp","testing","webapp testing","applications","local","frontend","debugging","toolkit","logs","browser","playwright","web","behavior","ui","screenshots",{"skillNo":199,"name":200,"nameZh":6,"description":201,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":172,"licenseFileUrl":202,"sourceHtmlUrl":203,"categories":204,"keywords":206,"publishedAt":54},"01M71JV64CW7R6FYYK9JWWGW0X","web-artifacts-builder","Suite of tools for creating elaborate, multi-component claude.ai HTML artifacts using modern frontend web technologies (React, Tailwind CSS, shadcn\u002Fui). Use for complex artifacts requiring state management, routing, or shadcn\u002Fui components - not for simple single-file HTML\u002FJSX artifacts.","https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fweb-artifacts-builder\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fweb-artifacts-builder\u002FSKILL.md",[205],{"categoryNo":180,"categoryName":181,"taxonomyType":21,"taxonomyTypeDesc":22},[207,208,209,194,210,211,212,135,213,214,188,215,137,216,217,218,219,220,221,222],"builder","artifacts builder","artifacts","web artifacts builder","single-file","css","Tailwind","ui components","single","file","components","react","multi","state","routing","state management",{"skillNo":224,"name":225,"nameZh":6,"description":226,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":227,"categories":228,"keywords":230,"publishedAt":54},"01M71JS4X2FRY41DE84DEP06MN","vercel-react-view-transitions","Guide for implementing smooth, native-feeling animations using React's View Transition API (`\u003CViewTransition>` component, `addTransitionType`, and CSS view transition pseudo-elements). Use this skill whenever the user wants to add page transitions, animate route changes, create shared element animations, animate enter\u002Fexit of components, animate list reorder, implement directional (forward\u002Fback) navigation animations, or integrate view transitions in Next.js. Also use when the user mentions view transitions, `startViewTransition`, `ViewTransition`, transition types, or asks about animating between UI states in React without third-party animation libraries.","https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fvercel-react-view-transitions\u002FSKILL.md",[229],{"categoryNo":180,"categoryName":181,"taxonomyType":21,"taxonomyTypeDesc":22},[218,231,232,233,234,235,236,237,238,212,239,240,241,242,243,217,244,245,246,247],"vercel react view transitions","view","react view transitions","vercel","transitions","shared","back","Animation","types","states","element","implementing","when","api","route","create","libraries",{"skillNo":249,"name":250,"nameZh":6,"description":251,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":252,"categories":253,"keywords":255,"publishedAt":54},"01M71JS1WZ1J4F9YVC2203JBJW","vercel-react-native-skills","React Native and Expo best practices for building performant mobile apps. Use when building React Native components, optimizing list performance, implementing animations, or working with native modules. Triggers on tasks involving React Native, Expo, mobile performance, or native platform APIs.","https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fvercel-react-native-skills\u002FSKILL.md",[254],{"categoryNo":180,"categoryName":181,"taxonomyType":21,"taxonomyTypeDesc":22},[234,256,218,257,258,259,260,261,262,135,263,242,264,137,265,266,243,267,268,217],"vercel react native skills","react native","native","react native skills","modules","platform","animations","performance","triggers","react native components","apps","best practices","tasks"]