Source profileQuality 92/100Review permissions

wanshuiyin/Auto-claude-code-research-in-sleep/skills/skills-codex-gemini-review/paper-slides/SKILL.md

paper-slides

Use it for design and operations tasks; the detail page covers purpose, installation, and practical steps.

Source repository stars
15,246
Declared platforms
0
Static risk flags
2
Last source update
2026-08-26
Source checked
2026-08-26

Decision brief

What it does: where it fits

Gemini overlay assurance: reviewindependence: cross-family and acceptancestatus: accepted.

Best for

  • Use when user says "做PPT", "做幻灯片", "make slides", "conference talk", "presentation slides", "生成slides", "写演讲稿", or wants beamer slides for a conference talk.

Not for

  • Tasks that require unconfirmed production actions or broad system permissions.
  • Environments where the pinned source and install steps cannot be inspected.

Compatibility matrix

Platform support, with evidence labels

PlatformStatusEvidenceWhat to check
CodexNot declaredNo explicit evidencePortability before use
Claude CodeNot declaredNo explicit evidencePortability before use
CursorNot declaredNo explicit evidencePortability before use
Gemini CLINot declaredNo explicit evidencePortability before use
Open the compatibility checker

Installation

Inspect first. Install second.

The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.

Source-detected install commandSource
npx skills add https://github.com/wanshuiyin/Auto-claude-code-research-in-sleep --skill "skills/skills-codex-gemini-review/paper-slides"
Safe inspection promptEditorial

Inspect the Agent Skill "paper-slides" from https://github.com/wanshuiyin/Auto-claude-code-research-in-sleep/blob/014c16e0e58198e4230fafd246b0e6203892422f/skills/skills-codex-gemini-review/paper-slides/SKILL.md at commit 014c16e0e58198e4230fafd246b0e6203892422f. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.

Workflow

What the source asks the agent to do

  1. 01

    Workflow

    3. Backup existing slides: if slides/ exists, copy to slides-backup-{timestamp}/

    Check prerequisites:Verify paper exists:Backup existing slides: if slides/ exists, copy to slides-backup-{timestamp}/
  2. 02

    Phase 0: Input Validation & Setup

    3. Backup existing slides: if slides/ exists, copy to slides-backup-{timestamp}/

    Check prerequisites:Verify paper exists:Backup existing slides: if slides/ exists, copy to slides-backup-{timestamp}/
  3. 03

    Phase 1: Content Extraction & Slide Outline

    Read paper/sections/.tex and build a slide-by-slide outline.

    Title (max 8 words)3-5 bullet points (max 8 words each)Figure reference (if any) from paper/figures/
  4. 04

    Phase 2: Slide-by-Slide Content Drafting

    For each slide in the outline, draft the actual content.

    \frametitle{}Content (itemize or figure + caption)\note{} with speaker text (if SPEAKERNOTES=true)
  5. 05

    Phase 3: Generate Slides LaTeX

    Create slides/main.tex using beamer.

    Title font: ≥28pt, venue primary colorBody font: ≥20ptFootnotes: ≥14pt

Permission review

Static risk signals and limitations

Writes files

medium · line 89

The documentation asks the agent to create, modify, or delete local files.

**Create output directory**: `mkdir -p slides/figures`

Runs scripts

medium · line 391

The documentation asks the agent to run terminal commands or scripts.

python3 -c "import pptx" 2>/dev/null || pip install python-pptx

Writes files

medium · line 544

The documentation asks the agent to create, modify, or delete local files.

- **[Output Versioning Protocol](../../shared-references/output-versioning.md)** — write timestamped file first, then copy to fixed name

Evidence record

Why each signal appears

EvidenceSourceComputedTestedEditorial
SignalValueEvidence typeMeaning
Quality score92/100ComputedDocumentation, specificity, maintenance, and trust rules
Repository stars15,246SourceRepository attention, not individual Skill quality
Compatibility0 platformsSourceDeclared in the catalog source record
Usage guideautomated source guideEditorialGenerated or reviewed according to the visible evidence level

Pinned source

Provenance and original SKILL.md

Repository
wanshuiyin/Auto-claude-code-research-in-sleep
Skill path
skills/skills-codex-gemini-review/paper-slides/SKILL.md
Commit
014c16e0e58198e4230fafd246b0e6203892422f
License
MIT
Collected
2026-08-26
Default branch
main
View the original SKILL.md

Override for Codex users who want Gemini, not a Codex-MCP reviewer, to act as the reviewer. Install this package after skills/skills-codex/*.

Paper Slides: From Paper to Conference Talk

Gemini overlay assurance: review_independence: cross-family and acceptance_status: accepted.

Generate conference presentation slides from: $ARGUMENTS

Context

This skill runs after Workflow 3 (/paper-writing). It takes a compiled paper and generates a presentation slide deck for conference oral talks, spotlight presentations, or poster lightning talks.

Unlike posters (single page, visual-first), slides tell a temporal story: each slide builds on the previous one, with progressive revelation of the research narrative. A good talk makes the audience understand why this matters before showing what was done.

Constants

  • VENUE = NeurIPS — Target venue, determines color scheme. Supported: NeurIPS, ICML, ICLR, AAAI, ACL, EMNLP, CVPR, ECCV, GENERIC. Override via argument.
  • TALK_TYPE = spotlight — Talk format. Options: oral (15-20 min), spotlight (5-8 min), poster-talk (3-5 min), invited (30-45 min). Determines slide count and content depth.
  • TALK_MINUTES = 15 — Talk duration in minutes. Auto-adjusts slide count (~1 slide/minute for oral, ~1.5 slides/minute for spotlight). Override explicitly if needed.
  • ASPECT_RATIO = 16:9 — Slide aspect ratio. Options: 16:9 (default, modern projectors), 4:3 (legacy).
  • SPEAKER_NOTES = true — Generate \note{} blocks in beamer and corresponding PPTX notes. Set false for clean slides without notes.
  • PAPER_DIR = paper/ — Directory containing the compiled paper.
  • OUTPUT_DIR = slides/ — Output directory for all slide files.
  • REVIEWER_MODEL = gemini-review — Gemini reviewer invoked through the local gemini-review MCP bridge for slide review.
  • AUTO_PROCEED = false — At each checkpoint, always wait for explicit user confirmation.
  • COMPILER = latexmk — LaTeX build tool.
  • ENGINE = pdflatex — LaTeX engine. Use xelatex for CJK text.

💡 Override: /paper-slides "paper/" — talk_type: oral, venue: ICML, minutes: 20, aspect: 4:3

Talk Type → Slide Count

Talk TypeDurationSlidesContent Depth
poster-talk3-5 min5-8Problem + 1 method slide + 1 result + conclusion
spotlight5-8 min8-12Problem + 2 method + 2 results + conclusion
oral15-20 min15-22Full story with motivation, method detail, experiments, analysis
invited30-45 min25-40Comprehensive: background, related work, deep method, extensive results, discussion

Venue Color Schemes

Same as /paper-poster-html:

VenuePrimaryAccentBackgroundText
NeurIPS#8B5CF6#2563EB#FFFFFF#1E1E1E
ICML#DC2626#1D4ED8#FFFFFF#1E1E1E
ICLR#059669#0284C7#FFFFFF#1E1E1E
CVPR#2563EB#7C3AED#FFFFFF#1E1E1E
GENERIC#334155#2563EB#FFFFFF#1E1E1E

State Persistence (Compact Recovery)

Persist state to slides/SLIDES_STATE.json after each phase:

{
  "phase": 3,
  "venue": "NeurIPS",
  "talk_type": "spotlight",
  "slide_count": 10,
  "codex_thread_id": "019cfcf4-...",
  "status": "in_progress",
  "timestamp": "2026-03-18T15:00:00"
}

On startup: if SLIDES_STATE.json exists with "status": "in_progress" and within 24h → resume. Otherwise → fresh start.

Workflow

Phase 0: Input Validation & Setup

  1. Check prerequisites:

    which pdflatex && which latexmk
    
  2. Verify paper exists:

    ls $PAPER_DIR/main.tex || ls $PAPER_DIR/main.pdf
    ls $PAPER_DIR/sections/*.tex
    ls $PAPER_DIR/figures/
    
  3. Backup existing slides: if slides/ exists, copy to slides-backup-{timestamp}/

  4. Create output directory: mkdir -p slides/figures

  5. Detect CJK: if paper contains Chinese/Japanese/Korean, set ENGINE to xelatex

  6. Determine slide count: from TALK_TYPE and TALK_MINUTES using the table above

  7. Check for resume: read slides/SLIDES_STATE.json if it exists

State: Write SLIDES_STATE.json with phase: 0.

Phase 1: Content Extraction & Slide Outline

Read paper/sections/*.tex and build a slide-by-slide outline.

Slide template by talk type:

Oral (15-22 slides)

SlidePurposeContent SourceFigure?
1TitlePaper metadataNo
2OutlineSection headersNo
3-4Motivation & ProblemIntroductionOptional
5Key InsightIntroduction (contribution)No
6-9MethodMethod sectionYes (hero figure)
10-14ResultsExperimentsYes (per slide)
15-16Analysis / AblationsExperimentsYes
17LimitationsConclusionNo
18Conclusion / TakeawayConclusionNo
19Thank You + QRQR code

Spotlight (8-12 slides)

SlidePurposeContent SourceFigure?
1TitlePaper metadataNo
2-3Problem + Why It MattersIntroductionOptional
4Key InsightContributionNo
5-6MethodMethod (condensed)Yes (hero)
7-9ResultsKey results onlyYes
10TakeawayConclusionNo
11Thank You + QRQR code

Poster-talk (5-8 slides)

SlidePurposeContent SourceFigure?
1TitlePaper metadataNo
2ProblemIntroduction (1 slide)No
3MethodMethod (1 slide)Yes
4-5ResultsKey result onlyYes
6Takeaway + QRConclusionQR

For each slide, specify:

  • Title (max 8 words)
  • 3-5 bullet points (max 8 words each)
  • Figure reference (if any) from paper/figures/
  • Speaker note (2-3 sentences of what to say)
  • Time allocation (in seconds)

Output: slides/SLIDE_OUTLINE.md

🚦 Checkpoint:

📊 Slide outline ready:
- Talk type: [TALK_TYPE] ([TALK_MINUTES] min)
- Slide count: [N] slides
- Figures used: [N] from paper/figures/
- Time budget: [breakdown]

Slide-by-slide outline:
1. [Title slide]
2. [Motivation — 1.5 min]
3. [Problem statement — 1 min]
...

Proceed to drafting? Or adjust the outline?

⛔ STOP HERE and wait for user response. This is the most critical checkpoint — the outline determines the entire talk flow.

Options:

  • "go" → proceed to Phase 2
  • adjustments (e.g., "merge slides 3-4", "add a demo slide", "cut the ablation") → revise
  • "stop" → save to slides/SLIDE_OUTLINE.md

State: Write SLIDES_STATE.json with phase: 1.

Phase 2: Slide-by-Slide Content Drafting

For each slide in the outline, draft the actual content.

Presentation rules (enforced strictly):

RuleRationale
One message per slideIf a slide has two ideas, split it
Max 6 lines per slideMore than 6 lines = wall of text
Max 8 words per lineAudience reads, not listens, if text is long
Sentence fragments, not sentences"Improves F1 by 3.2%" not "Our method improves the F1 score by 3.2 percentage points"
Figure slides: figure ≥60% areaThe figure IS the content; bullets are annotations
Bold key numbers"Achieves 94.3% accuracy"
Progressive disclosureUse \pause or \onslide for complex slides
No Related Work slideUnless invited talk (30+ min)

For each slide, produce:

  1. \frametitle{}
  2. Content (itemize or figure + caption)
  3. \note{} with speaker text (if SPEAKER_NOTES=true)

Phase 3: Generate Slides LaTeX

Create slides/main.tex using beamer.

Template structure:

\documentclass[aspectratio=169]{beamer}

% Venue theme
\usepackage{xcolor}
\definecolor{primary}{HTML}{VENUE_PRIMARY}
\definecolor{accent}{HTML}{VENUE_ACCENT}

% Clean theme
\usetheme{default}
\usecolortheme{default}
\setbeamercolor{frametitle}{fg=primary}
\setbeamercolor{title}{fg=primary}
\setbeamercolor{structure}{fg=accent}
\setbeamercolor{itemize item}{fg=primary}
\setbeamercolor{itemize subitem}{fg=accent}
\setbeamertemplate{navigation symbols}{}
\setbeamertemplate{footline}{
  \hfill\insertframenumber/\inserttotalframenumber\hspace{2mm}\vspace{2mm}
}

% Packages
\usepackage{graphicx,amsmath,booktabs}
\graphicspath{{figures/}}

% Speaker notes (if enabled)
% \setbeameroption{show notes on second screen=right}

% Metadata
\title{PAPER TITLE}
\author{Author 1 \and Author 2}
\institute{Affiliation}
\date{VENUE YEAR}

\begin{document}

\begin{frame}
\titlepage
\end{frame}

% Content slides follow...

\begin{frame}{Motivation}
\begin{itemize}
  \item Bullet point 1
  \item Bullet point 2
  \item \textbf{Key insight in bold}
\end{itemize}
\note{Speaker note: explain the motivation...}
\end{frame}

% Figure slide example
\begin{frame}{Method Overview}
\centering
\includegraphics[width=0.85\textwidth]{method_overview.pdf}
\vspace{0.5em}
\begin{itemize}
  \item Key annotation about the figure
\end{itemize}
\note{Walk through the figure left to right...}
\end{frame}

% ... more slides ...

\begin{frame}{Thank You}
\centering
{\Large Questions?}\\[2em]
Paper: [URL or QR placeholder]\\
Code: [URL or QR placeholder]
\end{frame}

\end{document}

Symlink figures:

ln -sf ../paper/figures/*.pdf slides/figures/ 2>/dev/null
ln -sf ../paper/figures/*.png slides/figures/ 2>/dev/null

Key formatting rules:

  • Title font: ≥28pt, venue primary color
  • Body font: ≥20pt
  • Footnotes: ≥14pt
  • No navigation symbols
  • Frame numbers in bottom-right
  • Clean white background (no gradients, no decorative elements)

Phase 4: Compile Slides

cd slides && latexmk -$ENGINE -interaction=nonstopmode main.tex

Error handling loop (max 3 attempts):

  1. Parse error log
  2. Fix: missing package, undefined command, file not found, overfull boxes
  3. Recompile

Verification:

# Check slide count matches outline
pdfinfo slides/main.pdf | grep Pages

If page count differs significantly from outline (>2 slides off), investigate.

State: Write SLIDES_STATE.json with phase: 4.

Phase 5: Gemini Review

Send the slide outline + selected LaTeX frames to Gemini:

mcp__gemini-review__review_start:
  prompt: |
    Review this [TALK_TYPE] presentation ([TALK_MINUTES] min) for [VENUE].

    Evaluate using these criteria (score 1-5 each):

    1. **Story arc** — Does the talk build a compelling narrative? (Problem → insight → method → evidence → takeaway)
    2. **Slide density** — Any slides with too much text? (Max 6 lines, 8 words/line)
    3. **Time budget** — Is [N] slides realistic for [TALK_MINUTES] minutes?
    4. **Figure visibility** — Will figures be readable on a projector?
    5. **Opening hook** — Do slides 2-3 grab attention? (Not "In this paper, we...")
    6. **Takeaway** — Is the final message clear and memorable?
    7. **Progressive build** — Are complex ideas revealed gradually?

    Slide outline:
    [PASTE SLIDE_OUTLINE.md]

    Selected frames (LaTeX):
    [PASTE KEY FRAMES]

    Provide:
    - Score for each criterion
    - Top 3 actionable fixes
    - Overall: Ready to present? (Yes / Needs revision / Major issues)

After this start call, immediately save the returned jobId and poll mcp__gemini-review__review_status with a bounded waitSeconds until done=true. Treat the completed status payload's response as the slide review.

Apply fixes. Recompile if LaTeX was changed.

⚠️ If gemini-review MCP is not available or Gemini credentials are missing, skip external review and proceed to Phase 6. Note the skip in SLIDES_STATE.json.

Save review to slides/SLIDES_REVIEW.md.

State: Write SLIDES_STATE.json with phase: 5.

Phase 6: Speaker Notes

For each slide, ensure a \note{} block exists with:

  1. What to say (2-3 complete sentences, conversational tone)
  2. Timing hint (e.g., "spend 1 minute here", "quick — 20 seconds")
  3. Transition phrase to the next slide (e.g., "So how do we actually implement this? Let me show you...")

Also generate slides/speaker_notes.md as a standalone backup:

# Speaker Notes

## Slide 1: Title
[No speaking — wait for introduction]

## Slide 2: Motivation
"Thank you. So let me start with the problem we're trying to solve..."
[Time: 1.5 min]

## Slide 3: Problem Statement
"Specifically, the challenge is..."
→ Transition: "To address this, our key insight is..."
[Time: 1 min]

...

State: Write SLIDES_STATE.json with phase: 6.

Phase 7: PowerPoint Export

Generate an editable PPTX using python-pptx:

python3 -c "import pptx" 2>/dev/null || pip install python-pptx

Write slides/generate_pptx.py that:

  1. Creates a PPTX with correct aspect ratio (16:9 → 13.33" x 7.5"; 4:3 → 10" x 7.5")
  2. For each beamer frame:
    • Creates a slide with matching layout
    • Title in venue primary color, bold
    • Bullet points with venue accent color markers
    • Figures embedded as images (from slides/figures/)
    • Speaker notes transferred to PPTX notes field
  3. Title slide with special formatting (centered, larger title)
  4. Thank You slide with centered text
  5. Applies venue color scheme throughout
cd slides && python3 generate_pptx.py
# Output: slides/presentation.pptx

⚠️ If python-pptx is not installed, skip with a note: "Install pip install python-pptx to enable PowerPoint export."

State: Write SLIDES_STATE.json with phase: 7.

Phase 8: Full Talk Script

Generate slides/TALK_SCRIPT.md — a complete, word-for-word script for the talk.

This is different from speaker notes (brief reminders). The talk script is a full manuscript that can be read aloud or used for practice.

# Talk Script: [Paper Title]

**Venue**: [VENUE] [YEAR]
**Talk type**: [TALK_TYPE] ([TALK_MINUTES] min)
**Total slides**: [N]

---

## Slide 1: Title [0:00 - 0:15]

*[Wait for chair introduction]*

"Thank you [chair name]. I'm [author] from [affiliation], and today I'll be talking about [short title]."

---

## Slide 2: Motivation [0:15 - 1:30]

"Let me start with the problem. [Describe the real-world motivation in accessible terms]. This matters because [impact statement].

The current state of the art approaches this with [brief existing approach]. But there's a fundamental limitation: [gap statement]."

→ *Transition*: "So what's our key insight?"

---

## Slide 3: Key Insight [1:30 - 2:30]

"Our key observation is that [core insight in one sentence].

This leads us to propose [method name], which [one-sentence description]."

→ *Transition*: "Let me walk you through how this works."

---

## Slide 4-N: [Continue for each slide...]

...

---

## Slide [N]: Thank You [TALK_MINUTES:00]

"To summarize: we've shown that [main result]. The key takeaway is [memorable final message].

The paper and code are available at the QR code on screen. I'm happy to take questions."

---

## Time Budget Summary

| Slide | Topic | Duration | Cumulative |
|:-----:|-------|:--------:|:----------:|
| 1 | Title | 0:15 | 0:15 |
| 2 | Motivation | 1:15 | 1:30 |
| 3 | Key Insight | 1:00 | 2:30 |
| ... | ... | ... | ... |
| N | Thank You | 0:15 | [TALK_MINUTES]:00 |

**Total**: [sum] min (target: [TALK_MINUTES] min)

---

## Anticipated Q&A

### Q1: How does this compare to [strongest baseline]?
**A**: "[Specific comparison with numbers]. Our advantage is particularly clear in [specific scenario], where we see [X%] improvement."

### Q2: What are the main limitations?
**A**: "[Honest answer]. We see this as [future work direction]."

### Q3: How computationally expensive is this?
**A**: "[Training/inference cost]. Compared to [baseline], our method requires [comparison]."

### Q4: Does this generalize to [related domain]?
**A**: "[Answer based on paper's discussion section]."

### Q5: What's the most surprising finding?
**A**: "[Interesting insight from the experiments]."

### Q6: How sensitive is the method to [hyperparameter/design choice]?
**A**: "[Reference ablation study if available]."

### Q7: What's the next step for this research?
**A**: "[Future work from conclusion]."

### Q8: [Domain-specific question]
**A**: "[Answer]."

Final Output Summary

📊 Slide generation complete:
- Talk type: [TALK_TYPE] ([TALK_MINUTES] min) for [VENUE]
- Files:
  slides/
  ├── main.tex              # Beamer LaTeX source
  ├── main.pdf              # Compiled slides (primary output)
  ├── presentation.pptx     # Editable PowerPoint
  ├── SLIDE_OUTLINE.md      # Slide-by-slide outline
  ├── SLIDES_REVIEW.md      # Gemini review feedback
  ├── speaker_notes.md      # Per-slide speaker notes
  ├── TALK_SCRIPT.md        # Full word-for-word talk script + Q&A
  ├── SLIDES_STATE.json     # State persistence
  ├── generate_pptx.py      # PPTX generation script
  └── figures/              # Symlinked from paper/figures/

Next steps:
1. Practice with TALK_SCRIPT.md (read aloud, time yourself)
2. Edit presentation.pptx for visual tweaks (animations, custom graphics)
3. Review Anticipated Q&A section before the talk
4. Do a dry run with a colleague

State: Write SLIDES_STATE.json with phase: 8, status: "completed".

Output Protocols

Follow these shared protocols for all output files:

Key Rules

  • Large file handling: If the Write tool fails due to file size, immediately retry using Bash (cat << 'EOF' > file) to write in chunks. Do NOT ask the user for permission — just do it silently.
  • One message per slide. If a slide has two ideas, split it into two slides.
  • Do NOT fabricate data. All numbers must come from paper/sections/*.tex.
  • Bullet points only — never full sentences on slides. Sentence fragments are fine.
  • Figure slides: figure ≥60% of slide area. The figure IS the content.
  • Progressive disclosure: Use \pause or \onslide for complex method slides.
  • De-AI polish: Remove watch words from all slide text and talk script.
  • Do NOT hallucinate citations. Reference only papers cited in the paper.
  • Opening hook matters: Never start with "In this paper, we..." — start with the problem or a provocative question.
  • Font size minimums: Title ≥28pt, body ≥20pt, footnotes ≥14pt.
  • Feishu notifications are optional. If ~/.claude/feishu.json exists, send notifications. If absent, skip.

Parameter Pass-Through

/paper-slides "paper/" — talk_type: oral, venue: ICML, minutes: 20, aspect: 4:3, notes: false
ParameterDefaultDescription
venueNeurIPSConference for color scheme
talk_typespotlightoral/spotlight/poster-talk/invited
minutes15Talk duration
aspect16:9Aspect ratio (16:9 / 4:3)
notestrueGenerate speaker notes
enginepdflatexLaTeX engine
auto proceedfalseSkip checkpoints

Frequently asked questions

What to verify before installation and use

What does the paper-slides source document cover?

Gemini overlay assurance: reviewindependence: cross-family and acceptancestatus: accepted.

How do I install paper-slides?

The source record exposes this install command: npx skills add https://github.com/wanshuiyin/Auto-claude-code-research-in-sleep --skill "skills/skills-codex-gemini-review/paper-slides". Inspect the command and pinned source before running it.

Which permission-related actions were detected?

Static rules flagged write-files, exec-script in the source; the page lists the matching lines and excerpts.

Alternatives

Compare before choosing

Computed 10014,678

prowler-cloud/prowler

postgresql-indexing

PostgreSQL indexing best practices for Prowler: index design, partial indexes, partitioned table indexing, EXPLAIN ANALYZE validation, concurrent operations, monitoring, and maintenance. Trigger: When creating or modifying PostgreSQL indexes, analyzing query performance with EXPLAIN, debugging slow queries, reviewing index usage statistics, reindexing, dropping indexes, or working with partitioned table indexes. Also trigger when discussing index strategies, partial indexes, or index maintenance

Computed 9965

brucesongs/kali-claw

insecure-design

Insecure Design (OWASP A06:2025) focuses on security flaws in system architecture and design phases, rather than code implementation-level bugs.

Computed 9916

NintendaDev/unikit-ai

unikit-docs

Generate and maintain the project's TECHNICAL documentation from its codebase — scans the project structure, tech stack, and module boundaries, then writes a lean README landing page plus detailed topic pages (architecture, modules, setup, build, APIs), only the docs that are relevant. Use whenever the user wants to create, update, or validate documentation of the CODE or the project itself, e.g. "generate documentation", "create docs", "write the README", "update the project docs", "document th

Computed 98269

Aperivue/medsci-skills

make-figures

Generate publication-ready figures and visual abstracts for medical research papers. Supports ROC curves, forest plots, CONSORT/STARD/PRISMA flow diagrams, calibration plots, Kaplan-Meier curves, Bland-Altman plots, confusion matrices, pipeline diagrams, and journal-specific visual/graphical abstracts (python-pptx template-based).