Impeccable
bestofjs/bestofjs
A skill your agent uses when the user wants to design, redesign, shape, critique, audit, polish, clarify, distill, harden, optimize, adapt, animate, colorize, extract, or otherwise improve a…
Reviews page layout, typography, and pagination code in open-doc against a print craft bar — the sheet is the deliverable, not the screen.
$ npx skills add simonliu-ai-product/open-doc --skill print-layout-review -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install simonliu-ai-product/open-doc print-layout-review --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/simonliu-ai-product/open-doc.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/print-layout-review .claude/skills/print-layout-review && rm -rf skills-srcUse ~/.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/
Install the "print-layout-review" agent skill from https://github.com/simonliu-ai-product/open-doc/tree/main/.agents/skills/print-layout-review into .claude/skills/print-layout-review/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "print-layout-review", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/simonliu-ai-product/open-doc/tree/main/.agents/skills/print-layout-reviewType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add simonliu-ai-product/open-doc --skill print-layout-review -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install simonliu-ai-product/open-doc print-layout-review --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/simonliu-ai-product/open-doc.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/print-layout-review .agents/skills/print-layout-review && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "print-layout-review" agent skill from https://github.com/simonliu-ai-product/open-doc/tree/main/.agents/skills/print-layout-review into .agents/skills/print-layout-review/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "print-layout-review", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add simonliu-ai-product/open-doc --skill print-layout-review -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install simonliu-ai-product/open-doc print-layout-review --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/simonliu-ai-product/open-doc.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/print-layout-review .cursor/skills/print-layout-review && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "print-layout-review" agent skill from https://github.com/simonliu-ai-product/open-doc/tree/main/.agents/skills/print-layout-review into .cursor/skills/print-layout-review/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "print-layout-review", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/simonliu-ai-product/open-doc.git --path .agents/skills/print-layout-review--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add simonliu-ai-product/open-doc --skill print-layout-review -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install simonliu-ai-product/open-doc print-layout-review --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/simonliu-ai-product/open-doc.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/print-layout-review .gemini/skills/print-layout-review && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "print-layout-review" agent skill from https://github.com/simonliu-ai-product/open-doc/tree/main/.agents/skills/print-layout-review into .gemini/skills/print-layout-review/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "print-layout-review", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install simonliu-ai-product/open-doc print-layout-reviewInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add simonliu-ai-product/open-doc --skill print-layout-review -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/simonliu-ai-product/open-doc.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/print-layout-review .github/skills/print-layout-review && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "print-layout-review" agent skill from https://github.com/simonliu-ai-product/open-doc/tree/main/.agents/skills/print-layout-review into .github/skills/print-layout-review/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "print-layout-review", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add simonliu-ai-product/open-doc --skill print-layout-review -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install simonliu-ai-product/open-doc print-layout-review --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/simonliu-ai-product/open-doc.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/print-layout-review .opencode/skills/print-layout-review && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "print-layout-review" agent skill from https://github.com/simonliu-ai-product/open-doc/tree/main/.agents/skills/print-layout-review into .opencode/skills/print-layout-review/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "print-layout-review", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
print-layout-reviewReviews page layout, typography, and pagination code in open-doc against a print craft bar — the sheet is the deliverable, not the screen.
Print Layout Review is an agent skill from simonliu-ai-product/open-doc. Reviews page layout, typography, and pagination code in open-doc against a print craft bar — the sheet is the deliverable, not the screen. Use when reviewing changes to the flow packer, page geometry, the design system, themes, the exporters, or any document page that has to survive a printer. Default to flagging; approval is earned.
Its SKILL.md is about 2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Frontend & Design, covering Typography and Design systems. The repository describes itself as: The document framework built for agents — write reports as React, get real A4 pages, an outline, page numbers, and a PDF. The licence is MIT.
10 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit af6095d. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Print Layout Review loads about 2k tokens when it runs. Until then it costs about 89 tokens; SKILL.md has 1,168 words of instructions outside code blocks.
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.
The automated check found no risky patterns in SKILL.md.
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); files beside SKILL.md are not scanned.
The full file from simonliu-ai-product/open-doc at commit af6095d, republished under its MIT licence (© simonliu-ai-product). 1,168 words, ~2,044 tokens.
.claude/skills/print-layout-review/SKILL.md (or your agent's skills folder).A specialized review skill. It does ONE thing: judge whether rendered output holds up as paper. It does not write features, fix unrelated bugs, or review non-layout code. If asked for a general review, decline and point to a general review skill.
You are a typesetter with a brutal eye. The bar is not "it renders" — it's "a designer would sign this off after it came out of a printer". A page that looks fine in the viewer at 60% zoom and falls apart at 100% on A4, in grayscale, or after the flow packer moves a break, is a regression.
Screen conventions do not transfer. Hover states, scroll affordances, viewport units, dark mode, and lazy loading are all meaningless on a sheet — their presence in page code is itself a finding.
One geometry source. Page size comes from resolvePageGeometry(meta) (app/lib/sdk.ts), which owns both the CSS-pixel box and the @page size descriptor. A hardcoded 794 / 1123 / 210mm anywhere else is a block — it silently breaks B4, A3, and landscape. The allowed sizes are the closed set in PAGE_SIZE_NAMES; a change that restates that list instead of reading it is also a block.
Physical units, honestly. Authors write CSS px at 96dpi; paper is mm. 1pt ≈ 1.333px, so body: 14 prints at ~10.5pt. Any type below ~9pt (12px) in body copy, or a hairline under 0.5pt, is a finding — screens forgive it, toner does not.
The margin is the text block. design.margin is the inset from the sheet edge and is the only thing standing between content and a printer's unprintable border. Content bleeding into the last ~5mm, or a footer sitting outside the margin box, is a finding. Full-bleed is deliberate and must be stated.
Breaks are content-aware. A break that strands a heading at the foot of a page, splits a table from its header row, orphans a single line of a paragraph, or separates a figure from its caption is a finding. paginateBlocks is the pure packer in app/lib/flow.ts — a rule about where it's allowed to break belongs there, unit-tested, not in a component's margins.
Vertical budget adds up. A fixed page is height − 2 × margin of usable space, minus any running header/footer. A page component that can grow past that clips silently. Flag layouts whose height depends on content length without a flow section doing the pagination.
Grayscale-safe. Meaning may never be carried by hue alone — a chart series, a status pill, a diff highlight all have to survive a mono laser printer. Require a second channel: value contrast, pattern, label, or weight. palette.accent on palette.bg must still separate when both collapse to gray.
Deterministic rendering. Exports serialize whatever the DOM says at that moment. Fonts must be awaited (waitForFonts), images must be complete (waitForImages), and anything that paints asynchronously — a chart, a map, a canvas — must expose data-waitfor so waitForDataWaitfor can block on it. Async paint without a data-waitfor handle is a block: it produces a blank rectangle in the PDF and nowhere else.
Two render paths, one result. The viewer, the thumbnails, and both exporters all consume the page list from useDocPages. A fix applied to the viewer that doesn't hold in export-pdf.ts / export-html.ts is half a fix. Any change to page composition must state how it was verified in an actual export.
Print CSS lives with the page, not in overrides. @media print hacks that undo layout are a smell — the sheet is the layout. Legitimate print-only concerns are break-inside, break-after, running headers/footers, and link URL expansion. Anything else is compensating for a screen-first layout.
No screen-only affordances. Viewport units (vh/vw/dvh), position: sticky, scroll containers, hover-only content, overflow: auto inside a page frame, and transitions on page content are all findings. If content can scroll, it can be lost in print.
@page descriptors outside sdk.tsvh / vw / dvh / % heights inside a page frameoverflow: hidden used to make content "fit" (that's clipping, not fitting)data-waitfor and no completion guarantee<thead> in a flow sectionmargin-top on the first block of a page (already stripped by [data-od-flow-block]:first-child) — re-adding it fights the frameworkflow.test.tsuseDocPageNumber / useDocPageCountPrefer earlier moves:
paginateBlocks with a test, not in ad-hoc spacing.resolvePageGeometry / design tokens (--od-margin, --od-size-*) instead of literals.data-waitfor on anything painting async.| Before | After | Why |
|---|---|---|
height: 100vh on a page section | drop it — the page frame already sizes the sheet from resolvePageGeometry | Viewport units have no meaning on a sheet; the frame owns the box |
<table> inside a flow block, no <thead> | <thead> + break-inside: avoid on rows | A header that doesn't repeat leaves page 2 of a table unreadable |
fontSize: 11 on body copy | var(--od-size-body) (14px ≈ 10.5pt) | 11px prints at ~8pt — below the legibility floor |
<Chart /> with no wait handle | <div data-waitfor="svg path"> | Exports serialize the DOM as-is; an unpainted chart exports blank |
Group by impact, highest first, omitting empty tiers:
resolvePageGeometry, useDocPages, design tokens, or the ops layer.Close with Block or Approve. Block on any print-breaking finding, any hardcoded geometry, any async paint without a wait handle, or a break-behaviour change without a test. Cite file:line. Pull exact values from app/lib/sdk.ts and app/lib/design.ts rather than approximating.
flow.ts with a test. Everything else is a per-document decision and shouldn't be enforced by the framework.© simonliu-ai-product, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .agents/skills/print-layout-review of simonliu-ai-product/open-doc.
Open the folder on GitHubat commit af6095d
Print Layout Review 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Print Layout Review this skillsimonliu-ai-product/open-doc | 108 | — | ~2k | Automated safety check: Pass | MIT | |
| Impeccablebestofjs/bestofjs | 3.1k | 26 repos | ~2.6k | Automated safety check: Pass | MIT | |
| Design SystemOhh-889/skyroc | 795 | 11 repos | ~1.7k | Automated safety check: Pass | MIT | |
| Scalar Design Systemscalar/scalar | 16k | — | ~2.7k | Automated safety check: Pass | MIT | |
| Stitch Taste Design Systemgoogle-labs-code/stitch-skills | 8.5k | 15 repos | ~3.1k | Automated safety check: Pass | Apache-2.0 | |
| UI/UX Design System AdvisorGalaxy-Dawn/claude-scholar | 5.7k | 1 repos | ~1.1k | Automated safety check: Pass | MIT |
bestofjs/bestofjs
A skill your agent uses when the user wants to design, redesign, shape, critique, audit, polish, clarify, distill, harden, optimize, adapt, animate, colorize, extract, or otherwise improve a…
Ohh-889/skyroc
Token architecture, component specifications, and slide generation.
scalar/scalar
Scalar's design system — design tokens, theming (@scalar/themes), CSS variables, and the @scalar/components library.
google-labs-code/stitch-skills
Generates a DESIGN.md design-language file for Google Stitch that encodes color, typography, layout, component behavior and motion rules to avoid generic AI-looking UI.
Galaxy-Dawn/claude-scholar
Turns a vague UI request into a concrete design system with style, palette, typography and layout guidance from a search script, plus stack-specific implementation advice.
tetherto/pearpass-app-desktop
A skill your agent uses whenever creating or editing UI in this repo — React components, modals, dialogs, forms, buttons, inputs, typography, styling, icons, or any .tsx/.jsx work.
simonliu-ai-product/open-doc
A skill your agent uses when the user asks to apply, process, or clear the comments they left in the open-doc inspector — phrases like "apply the comments", "apply my edits", "I left notes on the…
simonliu-ai-product/open-doc
Technical reference for writing or editing open-doc pages — file contract, the A4/B4/A3 page canvas, print type scale, the vertical budget that decides where a page breaks, tables, charts, table of…
simonliu-ai-product/open-doc
A skill your agent uses when the user wants to create, draft, author, or generate a new document, report, whitepaper, proposal, memo, or spec in this open-doc repo.
simonliu-ai-product/open-doc
Resolve which document, page, and (optionally) selected element the user is currently viewing in the open-doc dev server.
simonliu-ai-product/open-doc
Implementation patterns for the @open-doc/core runtime — the split between the viewer and the published bundle, virtual modules, the flow pipeline, the ops layer, dev-only plugins, and the…
simonliu-ai-product/open-doc
Design and accessibility rules for the open-doc viewer chrome — the browser shell, sidebars, thumbnail rail, outline, assets and design panels, inspector overlay, and menus.
Categories
Reviews page layout, typography, and pagination code in open-doc against a print craft bar — the sheet is the deliverable, not the screen. Print Layout Review is an agent skill from simonliu-ai-product/open-doc. Reviews page layout, typography, and pagination code in open-doc against a print craft bar — the sheet is the deliverable, not the screen.
Print Layout Review fits situations like: reviewing changes to the flow packer; the design system; any document page that has to survive a printer.
Run `npx skills add simonliu-ai-product/open-doc --skill print-layout-review -a claude-code`. Or copy the skill folder (.agents/skills/print-layout-review in simonliu-ai-product/open-doc) into .claude/skills/print-layout-review in your project. Claude Code loads it when a task matches its description.
Run `npx skills add simonliu-ai-product/open-doc --skill print-layout-review -a codex`. Or copy the skill folder (.agents/skills/print-layout-review in simonliu-ai-product/open-doc) into .agents/skills/print-layout-review in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add simonliu-ai-product/open-doc --skill print-layout-review -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/print-layout-review, .gemini/skills/print-layout-review, .github/skills/print-layout-review and .opencode/skills/print-layout-review in your project.
SKILL.md names no scripts, command-line tools or credentials: Print Layout Review is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Print Layout Review is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2k tokens (SKILL.md is roughly 8.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Print Layout Review: Impeccable (bestofjs/bestofjs, 3.1k stars), Design System (Ohh-889/skyroc, 795 stars), Scalar Design System (scalar/scalar, 16k stars) and Stitch Taste Design System (google-labs-code/stitch-skills, 8.5k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
simonliu-ai-product (a GitHub organization) maintains it in simonliu-ai-product/open-doc, which has 108 GitHub stars. The repository holds 7 skills in this directory. The repository was last updated on October 7, 2026.
Source: simonliu-ai-product/open-doc on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.