Bring the material
OpenPress 1.0 · agent-first document package
Open Press. Code as your Press, Page, Slide, or Buzz.
Bring an idea, a brief, or a folder of sources. Your agent shapes the story; OpenPress turns it into pages you can inspect, edit, and export.
Start
Start with one prompt.
New to OpenPress? Install the skill, restart your agent, and ask it to create the workspace. Learn the CLI after you see the first page.
Beginner path
- Install the OpenPress skill.
npx -y skills@latest add quan0715/open-press - Ask your agent. Create an OpenPress document from my notes. Set up the workspace, run preview, and tell me what to edit.
How it works
Brief to publication.
OpenPress is not another creative skill. It is the shared workspace those skills can rely on when a document needs real pages, source control, and repeatable output.
Let the agent shape it
Story, sections, and page components
The agent turns the brief into MDX, TSX components, theme tokens, and media choices.Use OpenPress to finish
Inspect, edit, validate, export
OpenPress keeps the source editable, renders fixed pages, and outputs PNG, PDF, or web readers.The difference
DOM tree vs Press tree.
AI can generate HTML. OpenPress gives the agent a document-shaped app tree where pages, components, and MDX sources stay inspectable.
HTML-to-document
Generated DOM tree
<html lang="en">
<body>
<main class="generated-document">
<!-- page split: cover -->
<section class="page page-01">
<header><a href="/">OpenPress</a></header>
<h1>Urban heat and street shade</h1>
<p>Lead paragraph generated directly into layout markup.</p>
<figure><img src="cover.png" alt="" /></figure>
<footer>01 / 12</footer>
</section>
<!-- page split: chapter text -->
<section class="page page-02">
<article class="chapter">
<h2>1. Morning surface temperature</h2>
<p>Paragraph copied into the page body.</p>
<p>Another paragraph with <a href="#note-1">a note link</a>.</p>
<ul><li>shade</li><li>asphalt</li></ul>
</article>
</section>
<!-- page split: generated table -->
<section class="page page-03">
<table>
<thead><tr><th>Time</th><th>Shade</th><th>Delta</th></tr></thead>
<tbody>
<tr><td>09:00</td><td>partial</td><td>-2.1C</td></tr>
<tr><td>12:00</td><td>none</td><td>+6.4C</td></tr>
</tbody>
</table>
</section>
<!-- page split: figure spread -->
<section class="page page-04">
<figure class="map"><img src="shade-map.png" /><figcaption>Block survey</figcaption></figure>
<p>Caption prose is now tied to this DOM branch.</p>
</section>
<!-- page split: source links -->
<section class="page page-05">
<nav aria-label="sources">
<a href="https://city.example/report">City report</a>
<a href="https://data.example/shade.csv">CSV dataset</a>
</nav>
</section>
<!-- page split: appendix table -->
<section class="page page-06"><table>...24 generated rows...</table></section>
<!-- page-07 ... page-11 repeat wrappers, text, links, figures, tables -->
<section class="page page-12"><footer>sources</footer></section>
</main>
</body>
</html>
OpenPress
Press tree + sources
<Workspace name="Heat Study">
<Press title="Urban Heat" page="A4"
sources={[mdxSource("chapters"), mediaSource("figures")]}>
// page sequence stays explicit
<Cover source="chapters/cover.mdx" />
<ChapterPage source="chapters/01-morning.mdx" />
<TablePage source="tables/temperature.csv" />
<FigurePage source="figures/shade-map.png" />
</Press>
</Workspace>
press/
index.tsx
chapters/cover.mdx
chapters/01-morning.mdx
components/ChapterPage.tsx
theme/print.css
Why it exists
One base contract.
Developers are rebuilding HTML-to-doc, doc-to-PPT, and social-post flows in separate tools. OpenPress gives those flows a shared, human-editable workspace.
Your coding agent operates the workspace from skills, prompts, and source files.
A common base for pages, slides, MDX sections, themes, comments, and output.
Review source, adjust copy, keep layout decisions visible, then render again.
Do not patch screenshots or generated HTML; fix the source and export through OpenPress.
press/index.tsx press/chapters/intro.mdx press/components/SectionPage.tsx press/theme/base.css press/media/cover.png @openpress-comment tighten this section before exporting
Human collaboration
Readable source. Rendered pages.
The agent edits the workspace, not the final screenshot. Comments, MDX chapters, local components, and theme tokens remain visible so a person can review and refine the result.
Outputs
Page / Slide / Buzz.
Turn one editable workspace into polished pages, presentation slides, and social-ready visuals. Keep the story in source; export the format your audience needs.
Work with Agent
Taste from skills. Workspace from OpenPress.
A social-card skill, lecture-note skill, or paper-writing skill can choose the workflow and starter examples. OpenPress supplies the runtime beneath them: workspace, fixed pages, sources, preview, validation, and export.
Read the agent workflow