Medsci-skills present-paper

install
source · Clone the upstream repo
git clone https://github.com/Aperivue/medsci-skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/Aperivue/medsci-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/present-paper" ~/.claude/skills/aperivue-medsci-skills-present-paper && rm -rf "$T"
manifest: skills/present-paper/SKILL.md
source content

Present-Paper Skill

Purpose

Prepare a polished academic presentation from a research paper. The skill walks through a 5-phase pipeline: paper analysis, supporting research, script writing, slide note injection, and Q&A preparation.

Use it when:

  • preparing a journal club or seminar presentation
  • presenting a paper for a graduate course
  • preparing grand rounds or conference talks based on a published paper
  • building speaker notes for an existing slide deck

Communication Rules

  • Communicate with the user in their preferred language.
  • Use English for medical, statistical, and methodological terminology.
  • Add pronunciation guides for drug names and technical abbreviations in the user's language.
  • Be direct about paper limitations, but frame them constructively.

Phase 0: Init & Outline

Required Inputs

Before starting, collect these from the user:

InputWhy
PaperPDF path, DOI, or PMID
Presentation timeDetermines depth and slide count
Target audienceSpecialty mix, knowledge level — controls terminology depth
ContextCourse name, conference, journal club format, prior session topics
Extension sectionOptional topic to include (e.g., AI directions, clinical implications). Default: none

Paper Analysis

Read the paper and produce a structured analysis:

## Paper Analysis

### Citation
[Full citation with DOI]

### Background
- What gap does this paper address?
- What was known vs. unknown before this study?

### Study Design
- Type: [RCT / cohort / case series / meta-analysis / etc.]
- Subjects: [n, inclusion/exclusion]
- Methods: [key methodological choices]
- Primary outcome: [what was measured]

### Key Results
1. [Finding 1 with effect size and CI/p-value]
2. [Finding 2]
3. [Finding 3]

### Patient/Case Summary Table
[If applicable — structured table of individual cases or subgroups]

### Limitations
1. [Limitation 1]
2. [Limitation 2]

### Significance
- Why does this matter?
- What changes because of this paper?

Slide Outline

Create a slide-by-slide outline with time allocation:

## Slide Outline ([N] slides, [M] minutes)

| # | Title | Time | Key Content |
|---|-------|------|-------------|
| 1 | Title slide | 0:30 | Paper citation, presenter |
| 2 | Context / Prior sessions | 1:00 | How this connects to prior knowledge |
| 3 | Background | 1:30 | The gap this paper fills |
| ... | ... | ... | ... |
| N | Take-home messages | 0:30 | 3-5 key points |

Gate: User approves outline before proceeding.


Phase 1: Supporting Research

Search Strategy

Find references that strengthen the presentation:

  1. Follow-up studies — Has the main finding been replicated or extended?
  2. Clinical trial data — Large-scale data that contextualizes the findings
  3. Review articles — Authoritative summaries that frame the topic
  4. Contradicting evidence — Important for balanced Q&A preparation

Efficiency rule: Limit supporting references to 5-8 total. Only search categories that the approved outline (Phase 0) actually requires. Skip categories not needed for the presentation type (e.g., skip clinical trials for a methods-focused paper).

Selection Criteria

Do NOT summarize every paper found. Extract only:

  • Specific data points needed for slides (incidence rates, OR/HR, AUC values)
  • Findings that directly support or challenge the main paper
  • Context that helps the audience understand significance

Output

## Verified References

### Main Paper
1. [Citation] — PMID: XXXXX, DOI: XX.XXXX/XXXXX

### Supporting References
2. [Citation] — PMID: XXXXX
   → Used for: [specific data point or context]
3. [Citation] — PMID: XXXXX
   → Used for: [specific data point or context]

### Key Data for Slides
- [Statistic 1]: [value] — Source: [Ref #]
- [Statistic 2]: [value] — Source: [Ref #]

Every reference must have a verified DOI or PMID. Mark unverified references with [UNVERIFIED].


Phase 2: Script & Content

Speaker Script

Draft a complete speaker script with these requirements:

  1. Language: User's preferred language for narration; English for technical terms
  2. Audience adaptation: Adjust explanation depth based on Phase 0 audience profile
    • For mixed audiences: add one-line plain-language explanations for specialty-specific terms
    • Example: "FLAIR sequence — an MRI technique that suppresses fluid signal to highlight edema"
  3. Pronunciation guide: Include native-language pronunciation for drug names, abbreviations
    • Example: "lecanemab (leh-KAN-eh-mab)" or local equivalent
  4. Timing markers: Note approximate time per slide
  5. Transition phrases: Connect each slide to the narrative arc

Structure

## Speaker Script

### Slide 1: Title (0:30)
"[Opening — introduce yourself and the paper]"

### Slide 2: Context (1:00)
"[Connect to prior knowledge or clinical relevance]"

...

### Slide N: Take-home Messages (0:30)
"[Summarize 3-5 key points. Thank audience. Invite questions.]"

Extension Section (Optional)

Only include if user requested in Phase 0. Examples:

  • AI/computational research directions stemming from the paper
  • Clinical practice implications
  • Policy or guideline implications
  • Connections to the user's own research

Gate: User reviews script before proceeding.


Phase 3: Slides & Notes

Two Modes

Mode A: Generate new slide deck

Create a PPTX presentation using

python-pptx
. Structure:

  1. Write a self-contained Python script that generates slides programmatically
  2. Use 16:9 widescreen format (13.333" x 7.5")
  3. Use blank layout for full design control
  4. Color scheme: navy headers (#1B2A4A), teal accents (#0072B2), white backgrounds

Standard slide structure (10-15 min talk):

  1. Title slide (paper title, authors, date)
  2. Background (1-2 slides)
  3. Study design / Methods
  4. Key results with embedded figures (2-3 slides)
  5. Discussion highlights
  6. Limitations
  7. Conclusions / Take-home messages

Figure embedding: Scan

figures/
directory for PNG files. Embed using
slide.shapes.add_picture(path, left, top, width, height)
.

Speaker notes: Add Phase 2 script text to each slide's notes pane via

slide.notes_slide.notes_text_frame.text
.

Save to

output/presentation.pptx
.

Mode B: Add notes to existing slides (more common)

  • Read existing PPTX to understand slide structure and count
  • Map speaker script sections to corresponding slides
  • Generate
    inject_notes.py
    script tailored to the specific presentation

Note Injection Script

Generate a tailored

inject_notes.py
following the pattern in
${CLAUDE_SKILL_DIR}/references/inject_speaker_notes.py
. The generated script should contain only the
notes
dictionary customized for this presentation and the main injection loop from the template.

Critical Rule

Speaker notes are injected without modifying slide design, layout, text, or images. The script only touches the notes pane. Verify by comparing slide content before and after.


Phase 4: Q&A Preparation

Question Generation

Generate questions from multiple perspectives:

  1. Methodology critics: "Why this design? Why not...?"
  2. Domain experts: Deep technical questions about the specific field
  3. Generalists: "What does this mean for clinical practice?"
  4. Students/trainees: Clarification questions about unfamiliar concepts

Answer Structure

Every answer should follow the pattern:

Acknowledge → Evidence → Conclude

"That's an important limitation. [Acknowledge the concern honestly.]
However, [cite specific supporting evidence — author, year, finding].
So while [restate limitation], [conclude with the paper's contribution despite it]."

Quick Review Sheet

A single-page reference for last-minute review:

## Quick Review

### Must-Know Numbers
| Metric | Value | Source |
|--------|-------|--------|
| [Key stat 1] | [value] | [Ref] |
| [Key stat 2] | [value] | [Ref] |

### Common Pitfalls
- Don't confuse [X] with [Y]
- [Classification A] and [Classification B] are independent frameworks
- Slide says [rounded value], precise value is [exact value]

### Key Takeaways (memorize these)
1. [Point 1]
2. [Point 2]
3. [Point 3]

Output File Structure

All outputs go in the user's presentation directory:

{presentation_dir}/
├── _analysis.md              # Phase 0: Paper analysis + outline
├── _references.md            # Phase 1: Verified references + key data
├── _script.md                # Phase 2: Speaker script
├── _qa_prep.md               # Phase 4: Expected Q&A
├── _quick_review.md          # Phase 4: Pre-presentation review sheet
├── inject_notes.py           # Phase 3: Tailored note injection script
├── figures/                  # Extracted paper figures (if needed)
└── reference/                # Supporting paper PDFs (if downloaded)

Constraints

  • Never fabricate references. Every citation must be verified against PubMed, DOI, or the PDF itself.
  • Never modify slide design when injecting notes. Notes and slides are separate concerns.
  • Always ask audience first. Do not start drafting until the target audience is defined.
  • Extension sections are opt-in. Do not add AI/clinical/policy sections unless explicitly requested.
  • Respect presentation time. Script length must match allocated time (roughly 130-150 words per minute for academic presentations).

Anti-Hallucination

  • Never fabricate references. All citations must be verified via
    /search-lit
    with confirmed DOI or PMID. Mark unverified references as
    [UNVERIFIED - NEEDS MANUAL CHECK]
    .
  • Never invent clinical definitions, diagnostic criteria, or guideline recommendations. If uncertain, flag with
    [VERIFY]
    and ask the user.
  • Never fabricate numerical results — compliance percentages, scores, effect sizes, or sample sizes must come from actual data or analysis output.
  • If a reporting guideline item, journal policy, or clinical standard is uncertain, state the uncertainty rather than guessing.