Install any skill in seconds. Free to start, no credit card required.
Get Started Free →IRB/ethics committee research protocol generator. Produces 4 core sections (Background, Study Design, Sample Size, Statistical Plan) with full prose, plus 6 skeleton sections with TODO markers for institution-specific content. Integrates outputs from design-study, calc-sample-size, and search-lit.
.claude/skills/aperivue-write-protocol/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-03 | ✗→✓ | ▲ Improved | 28% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 18% | 0% |
| case-05 | ✗→✓ | ▲ Improved | -12% | 0% |
| case-06 | ✗→✓ | ▲ Improved | -34% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 35% | 0% |
You are helping a medical researcher draft a research protocol for IRB/ethics committee submission. This skill generates the scientific core of the protocol while providing structured skeletons for institution-specific sections.
This skill generates 4 core sections with full prose:
The remaining 6 sections are provided as structured skeletons with [TODO] markers, because they vary significantly across institutions, countries, and regulatory frameworks.
Important: This protocol is a STARTING POINT. Every institution has its own IRB submission form and requirements. The generated protocol must be adapted to your institution's specific format before submission.
${CLAUDE_SKILL_DIR}/references/protocol_template.md -- complete 10-section structure with formatting guidance${CLAUDE_SKILL_DIR}/references/ethics_checklist.md -- jurisdiction-specific ethical requirementsRead both reference files before generating a protocol draft.
protocol/sample_size_justification.md (canonical IRB-ready prose) + protocol/sample_size_calc.{R,py} (reproducible code). Embed sample_size_justification.md VERBATIM into Methods §Sample Size — do not rephrase numbers (per ~/.claude/rules/numerical-safety.md).variable_operationalization.md — literature-grounded definitions, cutoffs, DB-variable mappings for the Methods section. Precondition: if the study is observational and no operationalization artifact exists, call /define-variables before drafting Methods. Do not invent phenotype/cutoff definitions from the data dictionary inside this skill.When prior skill outputs are available, incorporate them directly. When they are not, prompt the user or call the relevant skill.
Collect all required inputs before generating. Ask one question at a time if information is missing.
/design-study was already run, load its recommendations/calc-sample-size was already run, load its results and IRB textGenerate full prose covering:
/search-lit if key references are not provided; every citation must have a verified DOI or PMIDDo not use bullet points in the output. Write in full paragraphs with logical flow from clinical context through knowledge gap to research question.
Generate full prose plus structured criteria lists:
If design-study output is available, incorporate its recommendations on:
protocol/sample_size_justification.md exists (calc-sample-size output): embed VERBATIM. Do not rephrase numbers./calc-sample-size first; only fall back to a basic justification if the user explicitly declines.Generate full prose covering:
[TODO: Full study title]
[TODO: Short title / acronym]
[TODO: Clinical trial registry number if applicable (e.g., ClinicalTrials.gov, CRIS)]
[TODO: Protocol version number and date][TODO: List variables to be collected -- use your institution's case report form (CRF) template]
[TODO: Data collection method (chart review / prospective forms / electronic extraction)]
[TODO: Data storage and security measures (encrypted database, access controls)]
[TODO: Quality assurance procedures (double data entry, range checks)]
[TODO: Data retention period per institutional policy][TODO: IRB/Ethics committee name and expected submission date]
[TODO: Informed consent process -- or justification for waiver]
[TODO: Patient privacy and data protection measures]Include regulatory guidance by jurisdiction:
[TODO: Confirm applicable regulations with your IRB office]Refer to ${CLAUDE_SKILL_DIR}/references/ethics_checklist.md for the full checklist.
[TODO: Adapt to your project schedule]
| Phase | Activity | Duration | Target Date |
|-------|---------------------------------------|-------------|-------------|
| 1 | IRB approval | [X] weeks | [TODO] |
| 2 | Data collection / Patient enrollment | [X] months | [TODO] |
| 3 | Data cleaning and analysis | [X] months | [TODO] |
| 4 | Manuscript preparation | [X] months | [TODO] |
| 5 | Submission | -- | [TODO] |[TODO: Use your institution's budget template]
[TODO: Common cost categories below -- delete or add as needed]
- Personnel (research coordinator, statistician)
- Equipment and supplies
- Software licenses
- Statistical consultation
- Publication fees (open access APC)
- Patient compensation (if applicable)Generate a numbered reference list from:
All references must have verified DOIs or PMIDs. Mark any unverified references as [UNVERIFIED - NEEDS MANUAL CHECK].
Generate a single markdown file: protocol_draft.md
Requirements:
[TODO] markers clearly visibleAfter generating, inform the user:
[TODO] items require their inputBefore delivering the protocol:
[UNVERIFIED][TODO] markers/search-lit with confirmed DOI or PMID. Mark unverified references as [UNVERIFIED - NEEDS MANUAL CHECK].[VERIFY] and ask the user.Some passages in this skill cite a path of the form ~/.claude/rules/<name>.md. Those are the maintainer's personal global rules, kept outside this repository. They are not shipped with this skill and will not exist on your machine; they appear only as provenance for where a convention came from. If one of them looks like it is standing in for an instruction you actually need, that is a bug — please open an issue, because the instruction belongs here.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 49,029 | 39,326 | -20% | 1 | 1 | 0% | 8,353 | 9,136 | +9% | 0 | 0 | — |
case-02 | fail→fail | 50,369 | 45,702 | -9% | 1 | 1 | 0% | 8,353 | 10,898 | +30% | 0 | 0 | — |
case-03 | fail→pass | 44,669 | 44,486 | -0% | 1 | 1 | 0% | 8,337 | 10,660 | +28% | 0 | 0 | — |
case-04 | fail→pass | 20,842 | 10,428 | -50% | 1 | 1 | 0% | 3,618 | 4,272 | +18% | 0 | 0 | — |
case-05 | fail→pass | 28,409 | 11,617 | -59% | 1 | 1 | 0% | 5,052 | 4,443 | -12% | 0 | 0 | — |
case-06 | fail→pass | 43,129 | 17,422 | -60% | 1 | 1 | 0% | 8,238 | 5,419 | -34% | 0 | 0 | — |
case-07 | fail→pass | 16,224 | 5,418 | -67% | 1 | 1 | 0% | 2,612 | 3,519 | +35% | 0 | 0 | — |
case-08 | fail→fail | 12,130 | 4,520 | -63% | 1 | 1 | 0% | 2,059 | 3,341 | +62% | 0 | 0 | — |
case-09 | fail→fail | 10,040 | 7,234 | -28% | 1 | 1 | 0% | 1,608 | 3,867 | +140% | 0 | 0 | — |
case-10 | pass→pass | 14,829 | 20,076 | +35% | 1 | 1 | 0% | 2,518 | 5,837 | +132% | 0 | 0 | — |
case-11 | pass→pass | 16,535 | 13,698 | -17% | 1 | 1 | 0% | 2,958 | 5,047 | +71% | 0 | 0 | — |
case-12 | pass→pass | 18,860 | 19,143 | +2% | 1 | 1 | 0% | 3,465 | 5,032 | +45% | 0 | 0 | — |
case-13 | fail→pass | 12,895 | 4,349 | -66% | 1 | 1 | 0% | 1,826 | 3,305 | +81% | 0 | 0 | — |
case-14 | pass→pass | 16,805 | 8,741 | -48% | 1 | 1 | 0% | 2,620 | 3,808 | +45% | 0 | 0 | — |
case-15 | fail→pass | 12,146 | 5,159 | -58% | 1 | 1 | 0% | 2,003 | 3,373 | +68% | 0 | 0 | — |
case-16 | pass→pass | 10,674 | 7,173 | -33% | 1 | 1 | 0% | 1,861 | 3,778 | +103% | 0 | 0 | — |
case-17 | pass→pass | 15,491 | 17,505 | +13% | 1 | 1 | 0% | 2,669 | 5,508 | +106% | 0 | 0 | — |
case-18 | fail→pass | 9,107 | 6,489 | -29% | 1 | 1 | 0% | 1,642 | 3,598 | +119% | 0 | 0 | — |
case-19 | fail→fail | 20,526 | 5,487 | -73% | 1 | 1 | 0% | 3,521 | 3,498 | -1% | 0 | 0 | — |
case-20 | fail→fail | 10,278 | 1,731 | -83% | 1 | 1 | 0% | 941 | 2,757 | +193% | 0 | 0 | — |
case-21 | fail→pass | 13,305 | 4,290 | -68% | 1 | 1 | 0% | 2,255 | 3,332 | +48% | 0 | 0 | — |
case-22 | fail→fail | 7,207 | 2,665 | -63% | 1 | 1 | 0% | 1,081 | 2,948 | +173% | 0 | 0 | — |
case-23 | fail→pass | 11,508 | 6,205 | -46% | 1 | 1 | 0% | 1,892 | 3,695 | +95% | 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 +43 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.