Coding agents
Coding agents can write Astlide decks like any other files. Three things help them do it well:
- the MCP server, whose tools read PowerPoint templates, import
.pptxfiles, find text that doesn’t fit and export decks; - the agent skill, which teaches the slide syntax, layouts and the write → check → fix → export loop;
- the docs as plain text, at
/llms.txtand/llms-full.txt.
MCP server
Section titled “MCP server”The server comes with @astlide/core: astlide mcp runs it over stdio, with Bun. Nothing else to install — any project with Astlide has it.
Each call names the Astlide project to work on, and uses that project’s own @astlide/core.
| Tool | Arguments | Returns |
|---|---|---|
template_layouts |
templatePath (.pptx / .potx / .thmx) |
The template’s layouts: the id to use as slideLayout, PowerPoint name and type, title / body / slide-number placeholders, and which built-in layouts (cover, section, default, two-column, code) are drawn with each; theme colors and fonts |
import_pptx |
path, optional projectRoot, deck, force, includeHtml |
Each slide’s title, speaker notes and text as Markdown. With projectRoot, also writes an editable deck, like astlide import |
check_deck |
projectRoot, deck, optional build |
Text and boxes that don’t fit, per slide (below) |
render_deck |
projectRoot, deck, formats (pptx, pdf), optional outDir, build |
The exported files’ paths, as astlide export writes them |
check_deck and render_deck build the site themselves (check_deck only when dist/ is older than the deck), so no dev server is needed. PDF export needs Playwright’s Chromium (bunx playwright install chromium).
Claude Code
Section titled “Claude Code”claude mcp add astlide -- bunx astlide mcpAdd --scope project to share it with your team through .mcp.json.
[mcp_servers.astlide]command = "bunx"args = ["astlide", "mcp"]Gemini CLI
Section titled “Gemini CLI”// ~/.gemini/settings.json (or .gemini/settings.json in the project){ "mcpServers": { "astlide": { "command": "bunx", "args": ["astlide", "mcp"] } }}Other MCP clients take the same command: bunx astlide mcp, started in the project folder.
Checking a deck
Section titled “Checking a deck”check_deck lays the deck out with the engine behind the PowerPoint export — at 1920×1080, with the theme’s fonts, without a browser — and reports, per slide:
| Kind | Meaning |
|---|---|
text-clipped |
Text cut off by the slide or a box with overflow: hidden — part of it can’t be seen |
text-overflow |
Text spilling out of its box (a fixed-height card, a column, the slide’s content area) |
box-clipped / box-overflow |
The same for pictures, tables and embeds |
off-slide |
Outside the slide, where nothing clips it |
Each issue has the slide number and title, the text, the element and what it overflows, and how far in px on which side:
2 problem(s) in 2 of 12 slides:- Slide 4 "Results": 5 text blocks, "Churn fell to 2%" to "Next: EMEA", are cut off by the slide (186px bottom)- Slide 9 "Pricing": text "Enterprise plans include single sign-on, audit logs and…" (p) is cut off by div.card (48px bottom)so the agent can shorten the text, split the slide or pick another layout, and check again.
Text is measured with the fonts the deck loads (its @font-face rules and Google Fonts); when one can’t be found, the result says so and widths are approximate. Not checked: Mermaid diagrams (laid out by the browser) and pages of .pptx files shown as they are.
Agent skill
Section titled “Agent skill”skills/astlide/SKILL.md is an Agent Skill: deck structure, frontmatter, layouts, components, PowerPoint templates, export, the check loop and the usual mistakes (such as slideLayout, not layout).
-
Claude Code: copy the folder to
.claude/skills/astlide/in your project (or~/.claude/skills/astlide/for every project).Terminal window mkdir -p .claude/skills && cp -r /path/to/astlide/skills/astlide .claude/skills/ -
Other agents that read Agent Skills load the same folder from their skills directory; for the rest, point the agent at the file from its instructions (
AGENTS.md,GEMINI.md).
llms.txt
Section titled “llms.txt”The docs are published for language models as well:
https://astlide.dev/llms.txt— every page with a one-line summary (llms.txt format);https://astlide.dev/llms-full.txt— all pages as Markdown in one file.
Give an agent the second one when it should know all of Astlide at once.