ResearchStudio is a collection of skills that helps researchers develop an initial research direction into a paper and its related publication materials. It is used with Claude Code and Codex to create outputs such as papers, posters, videos, blogs, and reels. The catalogue entries are its own workflow skills for different stages of the research lifecycle.
Getting it into your agent
It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.
git clone --depth 1 https://github.com/microsoft/ResearchStudionpx agentmods add skills/microsoft/researchstudio/paper2posterWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/microsoft/researchstudio/paper2poster)<a href="https://agentmods.dev/skills/microsoft/researchstudio/paper2poster"><img src="https://agentmods.dev/badge/skills/microsoft/researchstudio/paper2poster/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/microsoft/researchstudio/paper2poster"><img src="https://agentmods.dev/badge/skills/microsoft/researchstudio/paper2poster.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 5 findings, up to high
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- high Privilege Escalation · line 463 Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.Fix: Remove references to credential paths. Use environment variables or secrets managers. For docs, use placeholder paths (e.g., /path/to/config). Never load .env or token files in production code paths.
- high Anti-Refusal · line 543 Skill instructs the agent to omit warnings, disclaimers, or ethical commentary. Stripping safety caveats hides risk from the user and is a common jailbreak preamble.Fix: Remove instructions that suppress warnings, disclaimers, or ethical commentary. Let the agent surface safety-relevant caveats to the user.
- medium Rogue Agent · line 84 Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.Fix: Remove any persistence mechanisms (cron jobs, startup scripts, state files). Skills should not maintain state across sessions without explicit user consent.
- medium Rogue Agent · line 452 Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.Fix: Remove any persistence mechanisms (cron jobs, startup scripts, state files). Skills should not maintain state across sessions without explicit user consent.
- medium Agent Snooping · line 573 Skill enumerates or reads other installed skills. Access to other skills' SKILL.md files or the skills directory reveals prompt instructions, capabilities, and secrets that should be invisible to peer skills.Fix: Remove all code or instructions that list or read other skills' files or directories. Skills should operate independently; cross-skill access is a privilege escalation.
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00165 | $0.21281 |
| Opus 5.5 | $0.00066 | $0.08512 |
| Sonnet 5.5 | $0.00033 | $0.04256 |
| Haiku 4.5 | $0.00016 | $0.02128 |
Grade A, and why
paper2poster scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 652 lines — stays where its author put it; the contents beside it link to each section on GitHub.
paper2poster — paper_spec.md → HTML poster → PDF/PNG + editable PPTX
This skill is the rendering stage of a 3-skill pipeline. It assumes paper2assets has already produced the input <outdir>/. Given that outdir, it picks figures, renders an HTML poster, iteratively fills the layout to fit a fixed page (60×36in landscape or 33.1×46.8in A0 portrait), generates per-section narration audio, hands the HTML to the bundled html2pptx sub-skill (vendored at html2pptx/) for an editable .pptx, and exports PDF + PNG. The html2pptx handoff is a standard final step, not optional — one run yields poster.{html,pptx,pdf,png}, because users want the editable deck in the same pass and won't call html2pptx separately.
<outdir>/ (produced by paper2assets)
manifest.json assets/figures/ assets/logos/ assets/qr/ assets/meta/{paper_spec.md, text.txt, figures.json, metadata.json}
│
▼ Step 1 — verify prerequisites
▼ Step 2: select figures from upstream semantics
│ → assets/meta/figure_selection.json
│ (Method / high-confidence optional Motivation / Result)
▼ Step 2.5 — optional per-figure visual box cut (asymmetric noise the
│ paper2assets deterministic chain couldn't catch — most
│ figures need no further work here)
│
▼ Step 3 — compose (layout × style × header) + substitute (references/compose_poster.py → poster.html)
│ → <outdir>/poster.html (lean: 6 core sections, Necessary only)
│
▼ Step 4 — iterative fill loop (check_poster.py slack + polish)
│ → <outdir>/poster.html (every section FULL, every figure ≥90% on one axis)
│
▼ Step 5 — generate_audio.py → <outdir>/assets/audio/<id>.mp3 (free Edge TTS, from <outdir>/assets/meta/narration.json)
│ → the Listen buttons + Full Listen play these clips by id
│
▼ Step 5.9 — fit_logos.py → pack the header institution logos to fill their zone
│ (browser-measure + greedy shape-pack; baked into poster.html)
│
▼ Step 6 — render_poster.py → <outdir>/poster.pdf + <outdir>/poster.png (applies + bakes the expand into poster.html)
│
▼ Step 7 — html2pptx skill → <outdir>/poster.pptx (reads the baked poster.html; users want the editable pptx in one run)
│ (render FIRST — bakes the expand into poster.html; html2pptx then reads it, isolated under assets/_pptx_build/)
│ then check_poster.py verify-final
│
▼ Step 7.5 — check_poster.py deliverables (MANDATORY final gate)
│
└─→ Step 8 — Report absolute paths (html + pptx + pdf + png)
The canvas is fixed per orientation (landscape 60×36in 5:3 / portrait A0 33.1×46.8in 0.708) in the templates; do not change it.
What ships with it
60 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- assets/fonts/Arimo-Bold.ttf 471 KB
- assets/fonts/Arimo-LICENSE.txt 5.1 KB
- assets/fonts/Arimo-Regular.ttf 467 KB
- assets/fonts/Inter-Bold.ttf 405 KB
- assets/fonts/Inter-Bold.woff2 139 KB
- assets/fonts/Inter-BoldItalic.ttf 415 KB
- assets/fonts/Inter-ExtraBold.ttf 406 KB
- assets/fonts/Inter-ExtraBold.woff2 139 KB
- assets/fonts/Inter-Italic.ttf 408 KB
- assets/fonts/Inter-Regular.ttf 398 KB
- assets/fonts/Inter-Regular.woff2 135 KB
- assets/fonts/Inter-SemiBold.ttf 404 KB
- assets/fonts/Inter-SemiBold.woff2 138 KB
- assets/headers_portrait/pv1.html 1.6 KB
- assets/headers_portrait/pv2.html 2.9 KB
- assets/headers_portrait/pv3.html 2.5 KB
- assets/headers_portrait/pv4.html 2.0 KB
- assets/headers_portrait/pv5.html 2.5 KB
- assets/headers_portrait/pv6.html 1.9 KB
- assets/headers_portrait/pv7.html 2.0 KB
- assets/headers/v1.html 6.0 KB
- assets/headers/v2.html 5.1 KB
- assets/headers/v3.html 6.1 KB
- assets/headers/v4.html 6.7 KB
- assets/headers/v5.html 7.3 KB
- assets/headers/v6.html 1.6 KB
- assets/headers/v7.html 1.8 KB
- assets/katex/auto-render.min.js 3.4 KB runs code
- assets/katex/fonts/KaTeX_AMS-Regular.woff2 27 KB
- assets/katex/fonts/KaTeX_Caligraphic-Bold.woff2 6.8 KB
- assets/katex/fonts/KaTeX_Caligraphic-Regular.woff2 6.7 KB
- assets/katex/fonts/KaTeX_Fraktur-Bold.woff2 11 KB
- assets/katex/fonts/KaTeX_Fraktur-Regular.woff2 11 KB
- assets/katex/fonts/KaTeX_Main-Bold.woff2 25 KB
- assets/katex/fonts/KaTeX_Main-BoldItalic.woff2 16 KB
- assets/katex/fonts/KaTeX_Main-Italic.woff2 17 KB
- assets/katex/fonts/KaTeX_Main-Regular.woff2 26 KB
- assets/katex/fonts/KaTeX_Math-BoldItalic.woff2 16 KB
- assets/katex/fonts/KaTeX_Math-Italic.woff2 16 KB
- assets/katex/fonts/KaTeX_SansSerif-Bold.woff2 12 KB
- assets/katex/fonts/KaTeX_SansSerif-Italic.woff2 12 KB
- assets/katex/fonts/KaTeX_SansSerif-Regular.woff2 10 KB
- assets/katex/fonts/KaTeX_Script-Regular.woff2 9.4 KB
- assets/katex/fonts/KaTeX_Size1-Regular.woff2 5.3 KB
- assets/katex/fonts/KaTeX_Size2-Regular.woff2 5.1 KB
- assets/katex/fonts/KaTeX_Size3-Regular.woff2 3.5 KB
- assets/katex/fonts/KaTeX_Size4-Regular.woff2 4.8 KB
- assets/katex/fonts/KaTeX_Typewriter-Regular.woff2 13 KB
- assets/katex/katex.min.css 23 KB
- assets/katex/katex.min.js 271 KB runs code
- assets/katex/LICENSE 1.1 KB
- assets/layouts_portrait/full.html 112 KB
- assets/layouts_portrait/half.html 105 KB
- assets/layouts/3col.html 91 KB
- assets/layouts/full.html 108 KB
- assets/layouts/half.html 92 KB
- assets/layouts/methoddriven.html 116 KB
- assets/layouts/methoddriven4.html 115 KB
- assets/math/katex.html 1.4 KB
- assets/math/mathjax.html 1.5 KB
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 1mo ago Changed · +19 lines 40776d3bae10
- 1mo ago First seen · 633 lines · 165 tokens per session scan A 893969baf01e
paper2poster is a skill published in the GitHub repository microsoft/ResearchStudio (3,328 stars, last pushed 1mo ago), licensed MIT. It adds 165 tokens to every session and 21,281 once invoked, about $0.0007 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
ppt-master
AI-driven presentation workflow for generating editable PPTX decks and slides, reconstructing page visuals, creating reusable Brand/Style/Layout/Deck workspaces, filling native PPTX templates, and enhancing finished PPTX files. Use when the user asks to create, generate, reconstruct, regenerate, beautify, redesign…
slidev
Create and present web-based slidedecks for developers using Slidev with Markdown, Vue components, code highlighting, animations, and interactive features. Use when building technical presentations, conference talks, code walkthroughs, teaching materials, or developer decks.
pptagent
Create and revise editable PowerPoint presentations from a brief using HTML slide sources, rendering, and visual review. Use when the requested deliverable is a PPTX deck. The host authors the slides; text-only hosts can use an external visual reviewer.
ppt-keynote
A browser-based Keynote-style presentation template where each slide is a full-screen section with keyboard navigation and fade transitions.
Presentation Skills Index
Skills for creating presentations, slides, and visual documentation.
fin-arch-diagram
A tool for creating architecture diagrams, process flowcharts, and hierarchy trees. These show how system parts, business steps, decisions, or organizational levels relate to one another.