paper-poster-html
DEFAULT poster pipeline — build an academic conference poster (ICML/NeurIPS/ICLR/CVPR/...) as a single HTML/CSS file with measurement-driven hard gates, real…
Skill by wanshuiyin
Install
Works with Claude Code. Read the repository before you give any tool access to your data.
npx agentmarket install skill/wanshuiyin-paper-poster-html
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: documents, design, frontend, data
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Python package
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/paper-poster-html
Tools it pre-approves 19
From allowed-tools in SKILL.md: the agent may use these without asking you each time.
Bash(*),Read,Write,Edit,Grep,Glob,WebFetch,WebSearch,AskUserQuestion,mcp__codex__codex,mcp__antigravity__antigravity,mcp__antigravity__antigravity-reply,
Show 7 more
mcp__grok__grok,mcp__grok__grok-reply,mcp__claude-review__review,mcp__claude-review__review_reply,mcp__claude-review__review_start,mcp__claude-review__review_reply_start,mcp__claude-review__review_status
What's inside
- Skill name
paper-poster-html- Description
- DEFAULT poster pipeline — build an academic conference poster (ICML/NeurIPS/ICLR/CVPR/...) as a single HTML/CSS file with measurement-driven hard gates, real paper figures, a two-hue design-token system, and print-ready PDF via headless Chromium. Use when the user says "做海报", "poster", "conference poster", "paper poster", or asks to design/redo a research poster. Supersedes the retired LaTeX /paper-poster.
- License
- MIT
- Allowed tools
- Bash(*),, Read,, Write,, Edit,, Grep,, Glob,, WebFetch,, WebSearch,, AskUserQuestion,, mcp__codex__codex,, mcp__antigravity__antigravity,, mcp__antigravity__antigravity-reply,, mcp__grok__grok,, mcp__grok__grok-reply,, mcp__claude-review__review,, mcp__claude-review__review_reply,, mcp__claude-review__review_start,, mcp__claude-review__review_reply_start,, mcp__claude-review__review_status
- Instructions
- 329 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
- Pre-approves some shell commands
Files (31)
- DESIGN_FINAL.md
- IMPLEMENTATION_CONVENTIONS.md
- posterly-MIT.txt · LICENSES/
- NOTICE.md
- SKILL.md
- __init__.py · scripts/_posterly/
- canvas.py · scripts/_posterly/
- measure.py · scripts/_posterly/
- polish.py · scripts/_posterly/
- preflight.py · scripts/_posterly/
- render.py · scripts/_posterly/
- textutil.py · scripts/_posterly/
- verify_final.py · scripts/_posterly/
- asset_check.py · scripts/
- extract_pdf_figures.py · scripts/
- poster_check.py · scripts/
- preprocess_figures.py · scripts/
- render_preview.py · scripts/
- run_gates.py · scripts/
- style_check.py · scripts/
- COMPONENTS.md · templates/
- README.md · templates/
- landscape_4col.html · templates/
- landscape_hero.html · templates/
- portrait_2col.html · templates/
- acl.json · templates/tokens/
- cvpr.json · templates/tokens/
- generic.json · templates/tokens/
- iclr.json · templates/tokens/
- icml.json · templates/tokens/
- neurips.json · templates/tokens/
SKILL.md (first lines)
# Paper Poster (HTML): measurement-gated poster generation
> **Before each reviewer slot**, follow [Selectable Reviewers](../shared-references/reviewer-backends.md):
> resolve invocation → `.aris/reviewer.json` → Claude Code default (Codex MCP)
> with `reviewer_route.py` through the canonical helper resolver, preserving this
> slot's tier, fresh contexts, source/image inputs and deterministic gates.
> Codex examples/pins below apply only to `backend=codex`; other routes use their
> own first-call/reply contract. Save the route and actual returned identity;
> unavailable selections are `REVIEW_UNAVAILABLE`. Classify acceptance from actual
> families/completion/scope. Forward invocation reviewer/model/effort overrides
> to reviewer-bearing children. Generation workers are unchanged.
One HTML file styled for an exact print canvas (`@page { size: W H }`), rendered to PDF
via Playwright print emulation. **Iterate by measuring, not eyeballing** — the screen
preview lies; only print emulation at the correct viewport tells the truth. Core gate
machinery is adapted from [posterly](https://github.com/Chenruishuo/posterly) (MIT, ©
2026 Ruishuo Chen — see `NOTICE.md` and `LICENSES/posterly-MIT.txt`); ARIS adds style
discipline gates, figure-provenance gates, the cross-model review loop, and the
anti-patch-loop fix vocabulary.
## Why this skill exists (the failure it prevents)
A predecessor pipeline produced a poster with **30+ colors, zero real paper figures, a
screen-pixel canvas, and tiny formulas floating in oversized boxes**, then spent 12+
review rounds making it *worse* — each round added a new badge color or bespoke SVG
patch. The cure is structural, not exhortative:
1. **Hard gates run before any aesthetic opinion** (alignment, style, assets must PASS
first — a reviewer never sees an unmeasured poster).
2. **A closed fix vocabulary** — visual-review fixes can only touch design tokens,
whole catalogued components, content rebalance, assets, or canvas choice. New inline
styles / new hex values / bespoke decorations are structurally forbidden.
3. **Two-hue discipline as a machine check**, not a style suggestion.
4. **Real paper figures with provenance manifest**, or the gate fails.
## Mental model
```
paper (.tex / PDF) ──► content plan + claim→evidence audit (codex, fresh)
│
figures extracted ─────────┤ FIGURE_MANIFEST.json (provenance, sha256)
(real paper figures ONLY) ▼
template scaffold ──► fill ──► run_gates.py ◄─── HARD, loop here
preflight → style → asset → measure → polish
│ all hard gates PASS
▼
Claude visual review (≤3 issues × ≤3 rounds, fix-vocabulary only)
│ score ≥ 9
▼
codex final cross-model review (fresh thread, full HTML+PDF)
│ pass
▼
verify-final → poster.pdf + GATE_REPORT.json
```
## Constants
- **SKILL_SCRIPTS** = `${CLAUDE_SKILL_DIR}/scripts` — all helpers are single-owner and
ship inside this skill (Arch C). If the directory is missing the install is broken:
abort and tell the user to re-install the skill (Policy A — the gates ARE the skill;
never improvise replacements).
- **REVIEWER_MODEL** = `gpt-6-astra`, reasoning `xhigh`, **fresh thread per review call**
(`mcp__codex__codex`, never `codex-reply` across review boundaries).
- **CANVAS** — from the venue's official spec, looked up live in Phase 0. Never assume.
(Known anchor: ICLR 2026 main = 185×90 cm landscape per its official printing
service; ICML/NeurIPS commonly 60×36 in landscape; workshop posters often 61×91 cm
portrait. Specs change yearly — verify.)
- **PALETTE** — default = `templates/tokens/generic.json` (slate-blue `#2D5F8B` accent
+ gold `#C9A24A` highlight + neutrals) for **all** venues. Venue packs are opt-in via
`— venue-colors: true`. Purple-dominant accents (hue 250–285) are banned unless the
user passes `— allow-purple: true`.
- **AUTO_PROCEED = false** — wait for explicit confirmation at every 🚦 checkpoint.
- **OUTPUT_DIR** = `poster_html/` in the working directory.
## Workflow
### Phase 0 — Resume, dependencies, venue spec
1. **Resume**: if `poster_html/POSTER_STATE.json` exists with `status: in_progress`
(< 24 h), resume from the saved phase.
2. **Dependencies** (degradation chain, in order):
- Playwright + bundled Chromium → if missing, `python3 -m playwright install
chromium` → if install fails but system Chrome exists, scripts fall back to
`channel="chrome"` → if all fail: you may produce the content plan and scaffold
only, label everything **"not print verified"**, and must NOT emit a final PDF.
- `pdfinfo` missing → PyMuPDF reads PDF dimensions. At least one of
pdftoppm / PyMuPDF must exist for PNG review renders.
- MathJax: download `tex-svg.js` once into `poster_html/assets/mathjax/` and
reference it locally in the HTML. CDN is acceptable only for drafts; the measure
gate hard-fails on unrendered MathJax either way.
3. **Venue spec lookup (live)**: consult the venue's official poster-instructions page
(search + fetch). Extract dimensions, orientation, font floor, logo policy,
anonymity rules, file format. Record `{spec, source_url, retrieved}` into
`POSTER_STATE.json` — specs change yearly; never reuse a cached spec silently.
**🚦 Checkpoint**: echo the venue spec table (canvas, orientation, source URL) and the
chosen template. Wait.
### Phase 0.5 — Design discovery (one AskUserQuestion batch)
Ask once, ≤4 questions: layout template (from `templates/README.md`), palette
(default generic pack / venue pack / custom within constraints), logos + venue mark
(paths or "none" — never fabricate; check the venue's logo policy), QR target (paper /
code / project page / none — generate **offline** with `qrencode` or python-`qrcode`;
never a remote QR-service URL). Persist answers in `POSTER_STATE.json` as
`design_decisions` — re-read before any later "improvement" so deliberate choices are
never reverted.
### Phase 1 — Paper ingest, content plan, claim audit
1. Read the paper source (`.tex` ideal; PDF otherwise). Extract: title/authors/affils,
the 3–5 headline numbers, core method (equations verbatim), main results
(tables/figures and what they show), takeaways. Build
`poster_html/POSTER_CONTENT_PLAN.md` — what goes in which column, word budget per
card. **Target density** (excluding table cells, captions, author line, footer):
standard poster **550–850 words**; dense theory+empirical poster **750–1050 words**,
allowed only when ≥2 compact components are used (`eqn-anatomy`, `flow-strip`,
`derived-col`, `claim-pills`, `keybox--4`). Warn yourself below 500 words on aFrom wanshuiyin/Auto-claude-code-research-in-sleep, MIT.
More from wanshuiyin/Auto-claude-code-research-in-sleep
- 0.699score
lean-formalize
wanshuiyin
Develop and verify a mathematical proof in Lean, continue an incomplete Lean project, or audit whether it proves the original statement.
SkillAFreshness: A★ 18KClaude Code - 0.699score
figure-spec
wanshuiyin
Generate deterministic publication-quality architecture, workflow, and pipeline diagrams from structured JSON (FigureSpec) into editable SVG.
SkillAFreshness: A★ 18KClaude Code +9 - 0.699score
proof-orchestrator
wanshuiyin
Manage a stateful, run-directory-based proof project: continuation across runs, run-local source bookkeeping, manual GPT Pro handoff packages when a local…
SkillAFreshness: A★ 18KClaude Code - 0.699score
proof-orchestrator
wanshuiyin
Manage a stateful, run-directory-based proof project with Codex: continuation across runs, run-local source bookkeeping, manual GPT Pro handoff packages when…
SkillAFreshness: A★ 18KClaude Code +9 - 0.699score
render-html
wanshuiyin
Render an ARIS Markdown / JSON artifact (IDEA_REPORT, AUTO_REVIEW, KILL_ARGUMENT, PAPER_PLAN, research-wiki state, etc.) into a single-file HTML view designed…
SkillAFreshness: A★ 18KClaude Code +9 - 0.699score
paper-illustration-image2
wanshuiyin
Generate publication-quality academic illustrations through a local Codex app-server bridge that uses Codex native image generation.
SkillAFreshness: A★ 18KClaude Code - 0.695score
experiment-queue
wanshuiyin
SSH job queue for multi-seed/multi-config ML experiments with OOM-aware retry, stale-screen cleanup, and wave-transition race prevention.
SkillAFreshness: A★ 18KClaude Code - 0.694score
arxiv
wanshuiyin
Search, download, and summarize academic papers from arXiv.
SkillAFreshness: A★ 18KClaude Code +9 - 0.694score
claims-drafting
wanshuiyin
Draft patent claims for an invention.
SkillAFreshness: A★ 18KClaude Code - 0.694score
analyze-results
wanshuiyin
Analyze ML experiment results, compute statistics, generate comparison tables and insights.
SkillAFreshness: A★ 18KClaude Code +9 - 0.694score
alphaxiv
wanshuiyin
Quick single-paper lookup via AlphaXiv LLM-optimized summaries with tiered source fallback.
SkillAFreshness: A★ 18KClaude Code +9 - 0.694score
auto-review-loop-minimax
wanshuiyin
Autonomous multi-round research review loop using MiniMax API.
SkillAFreshness: A★ 18KClaude Code
Signals
- Stars
- 18,007
- Forks
- 1,488
- Open issues
- 58
- Last commit (this folder)
- Oct 19, 2026 (9 days ago)
- Last release
- Sep 28, 2026 (1 month ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from wanshuiyin
- 0.699score
render-html
wanshuiyin
Render an ARIS Markdown / JSON artifact (IDEA_REPORT, AUTO_REVIEW, KILL_ARGUMENT, PAPER_PLAN, research-wiki state, etc.) into a single-file HTML view designed…
SkillAFreshness: A★ 18KClaude Code +9 - 0.699score
paper-illustration-image2
wanshuiyin
Generate publication-quality academic illustrations through a local Codex app-server bridge that uses Codex native image generation.
SkillAFreshness: A★ 18KClaude Code - 0.699score
lean-formalize
wanshuiyin
Develop and verify a mathematical proof in Lean, continue an incomplete Lean project, or audit whether it proves the original statement.
SkillAFreshness: A★ 18KClaude Code - 0.699score
figure-spec
wanshuiyin
Generate deterministic publication-quality architecture, workflow, and pipeline diagrams from structured JSON (FigureSpec) into editable SVG.
SkillAFreshness: A★ 18KClaude Code +9 - 0.699score
proof-orchestrator
wanshuiyin
Manage a stateful, run-directory-based proof project: continuation across runs, run-local source bookkeeping, manual GPT Pro handoff packages when a local…
SkillAFreshness: A★ 18KClaude Code - 0.699score
proof-orchestrator
wanshuiyin
Manage a stateful, run-directory-based proof project with Codex: continuation across runs, run-local source bookkeeping, manual GPT Pro handoff packages when…
SkillAFreshness: A★ 18KClaude Code +9
Cite this page
paper-poster-html skill. Agent Mart. https://agentmart.dev/skills/wanshuiyin-paper-poster-html (last updated 2026-10-24)