Agent skill

Academic Poster Builder

by wanshuiyin in wanshuiyin/Auto-claude-code-research-in-sleep

Builds an academic conference poster as a single HTML and CSS file with measurement-based gates, real paper figures and a print-ready PDF rendered through headless Chromium.

MITAuto-check: notesDocuments & Office

Install Academic Poster Builder

skills CLI
$ npx skills add wanshuiyin/Auto-claude-code-research-in-sleep --skill paper-poster-html -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install wanshuiyin/Auto-claude-code-research-in-sleep paper-poster-html --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/wanshuiyin/Auto-claude-code-research-in-sleep.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/paper-poster-html .claude/skills/paper-poster-html && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
paper-poster-html
GitHub stars
17k
Used in
1 other repo
Token cost
~4.5k tokens
SKILL.md length
1,950 words
Files
33 (incl. scripts)
Skills in repo
26
Repo updated
First seen
Licence
MIT

At a glance

Builds an academic conference poster as a single HTML and CSS file with measurement-based gates, real paper figures and a print-ready PDF rendered through headless Chromium.

  • Works in 9 steps: Resume, dependencies, venue spec → 5 — Design discovery (one… → Paper ingest, content plan, claim audit → …
  • Designing a conference poster for a paper from its LaTeX source or PDF
  • SKILL.md covers Why this skill exists (the…, Mental model, Constants and Workflow, plus 5 more sections
  • Runs Python scripts from its folder; calls python3, claude and codex

What it does

The poster is one HTML file styled for the exact print canvas of the venue and rendered to PDF with Playwright print emulation, and the skill insists on measuring rather than eyeballing because the screen preview misleads. Hard gates for alignment, style and assets must pass before any visual review. Fixes are limited to a closed vocabulary of design tokens, whole catalogued components, content rebalance, assets or canvas choice, so no new inline styles, hex values or bespoke decorations are allowed.

Other rules are a two-hue color discipline checked by machine, real figures extracted from the paper with a provenance manifest (the gate fails without them), and a cross-model review loop that uses a fresh reviewer thread for each call. The canvas size comes from the venue's official spec, looked up live and never assumed. Bundled Python scripts extract PDF figures, preprocess them, check assets and the poster, and render previews. Part of the gate machinery is adapted from the MIT-licensed posterly project. The excerpt is truncated.

When your agent uses it

  • Designing a conference poster for a paper from its LaTeX source or PDF
  • Redoing a research poster that has too many colors or no real figures
  • Producing a print-ready PDF at a venue's required poster size

Example prompts

  • “Make a poster for my NeurIPS paper from main.tex using the real figures.”
  • “Redo this research poster. It has too many colors and the formulas look tiny.”
  • “Produce a print-ready PDF of the poster at the venue's official size.”

Requirements

  • Python and Playwright with Chromium for rendering and print emulation
  • The paper source (LaTeX) or PDF to take content and figures from
  • A Codex MCP connection for the cross-model review step
  • Pre-approved tools (allowed-tools): Bash(*), Read, Write, Edit, Grep, Glob, WebFetch, WebSearch, AskUserQuestion, mcp__codex__codex

Workflow steps

9 steps, taken from the step headings in SKILL.md.

  1. Resume, dependencies, venue spec
  2. 5 — Design discovery (one AskUserQuestion batch)
  3. Paper ingest, content plan, claim audit
  4. Real paper figures (provenance-gated)
  5. Scaffold + tokens
  6. Layout hard loop
  7. Claude visual review (gated aesthetics)
  8. Codex final review (fresh thread, cross-model)
  9. Final verification + report

What it can do on your machine

Read from SKILL.md and the folder at commit 26b95cf. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Bash(*)
    • Read
    • Write
    • Edit
    • Grep
    • Glob
    • WebFetch
    • WebSearch
    • AskUserQuestion
    • mcp__codex__codex

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 13 files in scripts/ (Python, from the files we listed), which the agent can run.

    Shell commands in SKILL.md call:

    • python3
    • claude
    • codex
    • pdftoppm

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • github.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Academic Poster Builder loads about 4.5k tokens when it runs. Until then it costs about 107 tokens; SKILL.md has 1,950 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~107
When it runs · the whole SKILL.md, loaded when a task matches
~4.5k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NotePre-approves every shell command (allowed-tools: Bash)SKILL.md
    allowed-tools: Bash(*), Read, Write, Edit, Grep, Glob, WebFetch, WebSearch, AskUserQuestion, mcp__codex__codex

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from wanshuiyin/Auto-claude-code-research-in-sleep at commit 26b95cf, republished under its MIT licence (© wanshuiyin). 1,950 words, ~4,523 tokens.

Download SKILL.mdSave it as .claude/skills/paper-poster-html/SKILL.md (or your agent's skills folder). This skill also uses 32 other files; get the full folder from GitHub.
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.
allowed-tools
Bash(*), Read, Write, Edit, Grep, Glob, WebFetch, WebSearch, AskUserQuestion, mcp__codex__codex
argument-hint
[paper-dir-or-pdf] [— venue: ICLR, canvas: 185x90cm landscape, venue-colors: true]

Paper Poster (HTML): measurement-gated poster generation

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 (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 a 4-column landscape (it will read as sparse next to professionally dense posters) unless the template is hero/visual-first; warn above 1100 unless the user asked for dense mode. Bullets ≤ 8 words when possible — density comes from structure, not long prose. Prefer compact structure over prose: if the paper contains an explicit objective, algorithm, theorem mechanism, or baseline comparison, extract at least two of: (1) empirical objective / loss stack; (2) term-by-term equation anatomy; (3) a method-flow strip grounded in paper variables; (4) a derived-Δ column for method-vs-baseline rows; (5) a 4-up implementation/theory keybox; (6) a claim/evidence pill table for numeric-heavy posters. Do not invent an algorithm. If the paper has only an objective, label the component "objective flow" or "loss anatomy", never "algorithm".
  2. Cross-model content audit (fresh codex thread, xhigh): give it the content plan path + paper source path(s) — paths only, no summaries — and ask for a claim→evidence table: | claim on poster | paper file:line | paper says (verbatim) | match? | with match ∈ {OK, NUMERIC-MISMATCH, OVERCLAIM, MISSING-PRECONDITION, NOT-IN-PAPER, SCOPE-NARROWED}. Save to poster_html/CLAIM_EVIDENCE.md.
  3. Fix every non-OK row or record it as a user-acknowledged tradeoff.

🚦 Checkpoint: content plan + audit summary. Wait.

Phase 2 — Real paper figures (provenance-gated)

Source preference chain:

  1. Paper source figures/ (vector SVG/PDF → convert to SVG via inkscape/pdf2svg if available, else rasterize ≥ 2× rendered px).
  2. PDF-only: extract_pdf_figures.py contact-sheet + auto to list candidate regions → pick crops (🚦 human confirms crop choices) → crop at 300–450 DPI.
  3. Last resort: user supplies explicit page,x0,y0,x1,y1 bboxes.

Then preprocess_figures.py --autocrop every asset. Every paper-derived image gets a FIGURE_MANIFEST.json entry (source hash, page, bbox, dpi, sha256, natural_px) and is embedded as <img data-source="paper" data-asset-id="...">.

Hard rule: ≥ 2 paper-derived visuals or the asset gate fails. Theory-only papers may waive the total-area rule (--waive-total-area) at a human checkpoint — never silently. Never draw bespoke decorative SVG "figures" as substitutes.

Figure-area bands (asset gate, fractions of body): total target 14–22 % (warn < 12 % / > 24 %, hard < 10 % / > 28 %); per ordinary figure target 4–8 % (warn

10 %, hard > 13 %); figure--duo combined 8–12 %. Hero templates pass --hero (centerpiece may take 30–40 %). The failure mode is symmetric: too small reads as decoration, too big crowds out content. Sibling figures that share axes or tell a before→after story belong in one figure--duo card, not two cards.

Phase 3 — Scaffold + tokens

cp templates/<chosen>.html poster_html/poster.html; retarget @page + .poster dims to the venue canvas (two edits, same values); apply the chosen token pack onto the :root DESIGN TOKENS block; fill content per the plan; embed manifest figures. Run preflight + style_check — both must PASS before any layout iteration. (A fresh scaffold is expected to fail measure — that gate judges a filled poster.)

Phase 4 — Layout hard loop

After every layout change:

bash
python3 "$SKILL_SCRIPTS/run_gates.py" poster_html/poster.html \
    --tokens <pack.json> --manifest poster_html/FIGURE_MANIFEST.json \
    --report poster_html/GATE_REPORT.json

Canonical order: preflight → style → asset → measure → polish. Targets: column-bottom spread < 5 px (aim < 3), footer gap ∈ [30, 50] px, intercard gap ∈ [12, 50] px, canvas-fill ∈ [95, 101] %, poster bbox aligned to page within ±2 px. Fix guidance for each failure mode lives in the gate output and templates/COMPONENTS.md. Do not proceed while any hard gate fails. Do not let a reviewer see an unmeasured poster. Balance under-filled columns with content from the paper (Gate C), never with whitespace, space-between, or stretched cards.

Show full SKILL.md (745 more words)Show less
Phase 5 — Claude visual review (gated aesthetics)

Render and read the result yourself:

bash
python3 "$SKILL_SCRIPTS/render_preview.py" poster_html/poster.html
pdftoppm -r 100 poster_html/poster_preview.pdf poster_html/review_full -png -f 1 -l 1
# plus 2-4 region crops at higher res (header / one column / equations) via PIL

Calibrate first (../shared-references/taste-calibration.md): if human-curated references/good/ + references/bad/ exist under this skill dir (or the project supplies its own pair), score those 3+3 reference posters on the axes below BEFORE the target, anchoring the scale. Never select, search for, or generate anchors yourself; if no reference sets exist, proceed uncalibrated and mark CALIBRATION: none — never fabricate anchor scores. Axes (weights sum 1.0): Design 0.35 · Craft 0.30 · Functionality 0.20 · Originality 0.15. Mapping: SCORE = min(round(1 + 9 × COMPOSITE), lowest triggered cap) — caps apply AFTER the mapping, and the loop's Score ≥ 9 threshold below always reads this final capped SCORE, never the raw composite.

Score strictly 1–10. Critical caps (hard floors — a calibrated composite never overrides them): < 2 real paper figures → ≤ 3; broken canvas / clipped content / unreadable math → ≤ 4; ≥ 4 visible hue families or gradient-heavy header → ≤ 4; large blank cards or columns → ≤ 5; fabricated visual claim → ≤ 3. Checks: posterly-showcase gestalt (would this hang next to a professionally designed poster without looking like a patched dashboard?), single-accent discipline, real figures readable and central, print hierarchy (title → headline stats → figures → detail), column fill, equation prominence (no tiny math in oversized boxes), serif-body/sans-display pairing, no gradient kitsch, component consistency, 60-second narrative. Output format:

SCORE: N/10            (= min(round(1 + 9 × COMPOSITE), lowest cap); drives the loop)
COMPOSITE: 0.xx        (weighted; list the four per-axis scores)
CALIBRATION: anchored | none
GAP: <which reference poster the target falls short of / exceeds, on which axis, and why — one paragraph; omit only when CALIBRATION: none>
CAPS_TRIGGERED: ...
TOP_ISSUES: (max 3)
ALLOWED_FIX_TYPE per issue: token | component | rebalance | asset | template/canvas
PATCH_LOOP_RISK: low | medium | high

Loop: fix (fix vocabulary below) → re-run Phase 4 gates → re-score. ≤ 3 issues per round, ≤ 3 rounds. Score ≥ 9 → Phase 6. Still < 9 after 3 rounds → STOP patching; escalate to template / canvas / content re-choice (back to Phase 3) or a human decision. Never enter round 4 of cosmetic patching.

Fix vocabulary (closed set — the anti-patch-loop core)

Allowed: (a) edit a :root token value; (b) swap/remove/add a whole component instance from templates/COMPONENTS.md; (c) content rebalance (move a card across columns, trim/grow text from the paper, resize a figure within its AR band); (d) template/canvas re-choice; (e) global edits to an existing component's CSS that reference only tokens; (f) switching predefined variants (.eqn--large, .card--compact, .figure--wide, .nowrap, …); (g) asset fixes (re-crop, swap for a clearer figure from the same paper, re-preprocess).

Forbidden: new inline styles, new hex values anywhere, bespoke decorative SVG, per-element font-size overrides. A new component may not be born inside the visual loop — stop, get a human checkpoint, add it to COMPONENTS.md, re-run from Phase 3.

Phase 6 — Codex final review (fresh thread, cross-model)

All hard gates PASS + polish warnings zero-or-waived + visual ≥ 9 first. Then a fresh codex thread (xhigh) reviews the final artifacts (not the content plan): poster.html, the rendered PDF/PNG, the paper source, GATE_REPORT.json, CLAIM_EVIDENCE.md — paths only, no executor framing. It checks: (1) fidelity & overclaims re-checked on final text (polish introduces new claims), (2) residue (\ref{, TODO, raw < in math, missing images, remote URLs), (3) visual rhetoric (headline numbers prominent, banner readable from 2 m), (4) gate-log coherence. The reviewer recommends; it does not edit. Any fix → back through Phase 4/5 gates — never straight to re-review.

Phase 7 — Final verification + report
bash
python3 "$SKILL_SCRIPTS/poster_check.py" verify-final poster_html/poster_preview.pdf \
    --from-html poster_html/poster.html --max-size-mb 20

Page count 1, dimensions match @page, size ≤ 20 MB, no TODO/residue, no remote assets. Report: PDF path, final spread px, footer-gap range, gate summary table, unresolved waivers, codex verdict. Update POSTER_STATE.json → done.

State persistence

poster_html/POSTER_STATE.json: {phase, venue, canvas{w,h,orientation,source_url, retrieved}, template, token_pack, design_decisions{...}, figures_selected[], visual_rounds, codex_threads{audit, final}, status, timestamp} — written after every phase; enables compact-recovery resume.

Key rules

  • Measure, don't eyeball. No layout claim without run_gates.py output.
  • Gates before aesthetics. Claude/codex review only ever sees a poster whose hard gates PASS. This ordering is what kills the patch-loop death spiral.
  • Never invent paper numbers or figures. Numbers come from the paper source; visuals carry manifest provenance. Fabrication = critical cap ≤ 3.
  • Two hues, one system. Accent + gold + neutrals. The style gate enforces it; don't negotiate with the gate.
  • Real figures are the poster. A poster without the paper's own figures is a dashboard, not a poster.
  • Fix vocabulary is closed. If a fix isn't expressible as token / component / rebalance / asset / canvas, it's the wrong fix.
  • Cross-model verdicts. Claude drives the loop and scores visuals; acceptance of content fidelity comes from the fresh codex thread (a loop can drive, never acquit).
  • Preserve user decisions. Re-read design_decisions before "improving" anything.
  • Vendor boundary. poster_check.py, render_preview.py, _posterly/ are vendored from posterly — keep diffs minimal; ARIS-side logic goes in the new scripts, not in vendored files.

Review tracing

Save every codex reviewer call's trace per shared-references/review-tracing.md to .aris/traces/paper-poster-html/<date>_run<NN>/ (audit + final threads, raw responses).

Output contract

poster_html/
├── poster.html              # single-file source of truth
├── poster_preview.pdf       # print-emulated, verify-final-checked
├── poster_preview.png       # thumbnail
├── POSTER_STATE.json        # resume state
├── GATE_REPORT.json         # canonical gate ledger (schema v1)
├── POSTER_CONTENT_PLAN.md   # what-goes-where + word budgets
├── CLAIM_EVIDENCE.md        # codex claim→evidence audit
├── FIGURE_MANIFEST.json     # figure provenance (sha256, page, bbox, dpi)
└── assets/{paper_figures,logos,qr,mathjax}/

When NOT to use

  • Slides, not a poster → /paper-talk / /slides-polish.
  • The paper's headline isn't stable yet — fix the paper first; a poster amplifies whatever story it's given.

© wanshuiyin, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 32 other files (scripts) in skills/paper-poster-html of wanshuiyin/Auto-claude-code-research-in-sleep.

  • SKILL.md
  • DESIGN_FINAL.md
  • IMPLEMENTATION_CONVENTIONS.md
  • LICENSES/posterly-MIT.txt
  • NOTICE.md
  • scripts/_posterly/__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/asset_check.py
  • scripts/extract_pdf_figures.py
  • scripts/poster_check.py
  • scripts/preprocess_figures.py
  • scripts/render_preview.py
  • … and 15 more

Open the folder on GitHubat commit 26b95cf

Used in 1 other repository

We found 6 copies of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in wanshuiyin/Auto-claude-code-research-in-sleep, which our catalogue first saw on October 7, 2026.

Compare with similar skills

Academic Poster Builder next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Academic Poster Builder compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Academic Poster Builder this skillwanshuiyin/Auto-claude-code-research-in-sleep17k1 repos~4.5kAutomated safety check: NotesMIT
Fin Paper Writingcsmar432/finai-research109—~2.3kAutomated safety check: PassMIT
Research Writingalfonso0512/research-writing-skill4901 repos~818Automated safety check: PassMIT
Paper WritingMLNLP-World/Paper-Writing-Tips4.7k—~630Automated safety check: PassNone
PaperjurySpark-To-Paper-Skills/paperjury1.2k—~5.3kAutomated safety check: PassMIT
LaTeX Example Content Generatorhuangwb8/ChineseResearchLaTeX2.9k1 repos~744Automated safety check: PassMIT

Similar skills

  • Fin Paper Writing

    csmar432/finai-research

    经济金融论文写作编排器。根据PAPEROUTLINE.md和REFINEDDESIGN.md,编排调用fin-paper-draft(正文写作)、fin-paper-figure(图表生成)、fin-review-loop(review循环),管理版本并确保章节间的一致性。

    109 GitHub stars~2.3k tokensUpdated 5 days ago
    Research & ScienceAuto-check passed
  • Research Writing

    alfonso0512/research-writing-skill

    科研论文写作助手,提供 30 个 Prompt 模板覆盖论文写作全流程. An agent skill from alfonso0512/research-writing-skill.

    490 GitHub starsUsed in 1 repo~818 tokens
    Documents & OfficeAuto-check passed
  • Paper Writing

    MLNLP-World/Paper-Writing-Tips

    学术论文写作检查与优化助手。基于 MLNLP-World 社区整理的论文写作技巧,帮助检查和优化学术论文。Use when: (1) 检查论文 LaTeX 格式和排版, (2) 优化公式符号使用, (3) 改进图表设计, (4) 润色英文学术表达, (5) 检查参考文献格式, (6) 投稿前终稿检查, (7) 用户询问论文写作技巧或规范。

    4.7k GitHub stars~630 tokensUpdated 15 days ago
    Documents & OfficeAuto-check passed
  • Paperjury

    Spark-To-Paper-Skills/paperjury

    Three modes for CS-conference papers (CVPR/ICCV/ECCV vision, ACL/EMNLP/NAACL NLP, ICLR/NeurIPS/ICML/AAAI ML).

    1.2k GitHub stars~5.3k tokensUpdated 1 mo ago
    Documents & OfficeAuto-check passed
  • LaTeX Example Content Generator

    huangwb8/ChineseResearchLaTeX

    Fills an existing LaTeX project with sample sections, tables and figure narratives, protecting the template structure and previewing before writing.

    2.9k GitHub starsUsed in 1 repo~744 tokens
    Documents & OfficeAuto-check passed
  • PDF

    zai-org/ZCode

    Professional PDF toolkit covering four production workflows: reports, creative visuals, academic LaTeX, and existing PDF processing.

    7.7k GitHub stars~18k tokensUpdated yesterday
    Documents & OfficeAuto-check: notes

More from wanshuiyin/Auto-claude-code-research-in-sleep

All 26 skills in this repo
  • Proof Run Orchestrator

    wanshuiyin/Auto-claude-code-research-in-sleep

    Runs a mathematical proof project as a stateful pipeline of run directories: a local attempt first, then a manual GPT Pro handoff package, with an optional DeepSeek audit.

    17k GitHub starsUsed in 1 repo~4.7k tokens
    Auto-check passed
  • Render HTML

    wanshuiyin/Auto-claude-code-research-in-sleep

    Render an ARIS Markdown / JSON artifact (IDEAREPORT, AUTOREVIEW, KILLARGUMENT, PAPERPLAN, research-wiki state, etc.) into a single-file HTML view designed for human reading.

    17k GitHub starsUsed in 1 repo~5.4k tokens
    Auto-check: notes
  • Experiment Audit

    wanshuiyin/Auto-claude-code-research-in-sleep

    Audit experiment integrity before claiming results. An agent skill from wanshuiyin/Auto-claude-code-research-in-sleep.

    17k GitHub starsUsed in 1 repo~2.7k tokens
    Auto-check: notes
  • Integrity Forensics

    wanshuiyin/Auto-claude-code-research-in-sleep

    Run the Anti-Autoresearch integrity-forensics DETERMINISTIC slice (numeric core + rules-only reporter) against a paper via a SHA-pinned thin launcher, then convert the verdict into a typed policy…

    17k GitHub starsUsed in 1 repo~1.5k tokens
    Auto-check passed
  • Interview Cheatsheet

    wanshuiyin/Auto-claude-code-research-in-sleep

    Generate a long-form Chinese interview-prep cheat sheet on a specific ML/LLM topic — formulas with derivations, from-scratch PyTorch code, comparison tables, and 25 高频面试题 (L1 必会 / L2 进阶 / L3 顶级 lab).

    17k GitHub starsUsed in 1 repo~3.3k tokens
    Auto-check: notes
  • Meta Apply

    wanshuiyin/Auto-claude-code-research-in-sleep

    Privileged applier that LANDS meta-optimize / corpus-audit patches the user approved, with a fresh landing review and human approval.

    17k GitHub starsUsed in 1 repo~2.1k tokens
    Auto-check: notes

Works with

Questions about Academic Poster Builder

What does Academic Poster Builder do?

Builds an academic conference poster as a single HTML and CSS file with measurement-based gates, real paper figures and a print-ready PDF rendered through headless Chromium. The poster is one HTML file styled for the exact print canvas of the venue and rendered to PDF with Playwright print emulation, and the skill insists on measuring rather than eyeballing because the screen preview misleads. Hard gates for alignment, style and assets must pass before any visual review.

When should I use Academic Poster Builder?

Academic Poster Builder fits situations like: designing a conference poster for a paper from its LaTeX source or PDF; redoing a research poster that has too many colors or no real figures; producing a print-ready PDF at a venue's required poster size.

How do I install Academic Poster Builder in Claude Code?

Run `npx skills add wanshuiyin/Auto-claude-code-research-in-sleep --skill paper-poster-html -a claude-code`. Or copy the skill folder (skills/paper-poster-html in wanshuiyin/Auto-claude-code-research-in-sleep) into .claude/skills/paper-poster-html in your project. Claude Code loads it when a task matches its description.

How do I install Academic Poster Builder in Codex?

Run `npx skills add wanshuiyin/Auto-claude-code-research-in-sleep --skill paper-poster-html -a codex`. Or copy the skill folder (skills/paper-poster-html in wanshuiyin/Auto-claude-code-research-in-sleep) into .agents/skills/paper-poster-html in your project. Codex loads it when a task matches its description.

Can I use Academic Poster Builder in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add wanshuiyin/Auto-claude-code-research-in-sleep --skill paper-poster-html -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/paper-poster-html, .gemini/skills/paper-poster-html, .github/skills/paper-poster-html and .opencode/skills/paper-poster-html in your project.

What does Academic Poster Builder need to run?

Going by SKILL.md and its folder, Academic Poster Builder needs Python for the scripts in its folder and the command-line tools its instructions call (python3, claude, codex and pdftoppm). Our summary lists: Python and Playwright with Chromium for rendering and print emulation; The paper source (LaTeX) or PDF to take content and figures from; A Codex MCP connection for the cross-model review step. Its frontmatter pre-approves these tools: Bash(*), Read, Write, Edit, Grep, Glob, WebFetch, WebSearch, AskUserQuestion, mcp__codex__codex.

Does Academic Poster Builder access the network?

SKILL.md names 1 domain. As links in the text: github.com. This is read from the text; nothing was executed.

Is Academic Poster Builder safe to install?

Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Academic Poster Builder use?

Academic Poster Builder is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Academic Poster Builder use?

About 4.5k tokens (SKILL.md is roughly 18k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Academic Poster Builder?

Skills that share tags, products or a category with Academic Poster Builder: Fin Paper Writing (csmar432/finai-research, 109 stars), Research Writing (alfonso0512/research-writing-skill, 490 stars), Paper Writing (MLNLP-World/Paper-Writing-Tips, 4.7k stars) and Paperjury (Spark-To-Paper-Skills/paperjury, 1.2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Academic Poster Builder?

wanshuiyin (a GitHub user) maintains it in wanshuiyin/Auto-claude-code-research-in-sleep, which has 17,205 GitHub stars. The repository holds 26 skills in this directory. The repository was last updated on October 7, 2026.

Source: wanshuiyin/Auto-claude-code-research-in-sleep on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.