Guide · Agent skill
How to use the ljg-present agent skill: build offline HTML slides
Updated · written with AI from the project's own documentation and checked against our catalogue data
ljg-present is an agent skill, a set of instructions and scripts that an AI agent can load to do one specific job. This one designs presentations: it takes a Markdown or Org outline, or talk notes you have authorised it to tighten, and produces one self-contained HTML deck that works offline in any browser. This guide explains what the skill does, how to install it, how to ask for a deck in plain language, and what it needs to run.
Quick start
- 1Download the ZIP. Download the skill ZIP from this page.
- 2Install the skill. Unzip it into ~/.claude/skills/ for personal use or into a project's .claude/skills/ folder, or upload it under Settings → Capabilities → Skills in the Claude apps.
- 3Install Bun. Make sure the Bun runtime is available, since the build scripts are TypeScript run with bun.
- 4Prepare your outline. Write your talk as a Markdown or Org outline, or provide notes and state clearly what the skill may tighten or rewrite.
- 5Ask for the deck. Request a presentation in plain language and choose faithful or editorial mode.
- 6Open and check the file. Open the generated HTML from ~/Downloads/ in a browser and step through it with the arrow keys.
- 7Use the notes while presenting. Press N to view the full script, and F for fullscreen.
What the ljg-present skill makes the agent do
The skill turns your outline into a single HTML file saved to ~/Downloads/{title}.html. Fonts are embedded, diagrams are inline, and the file has no animations, so it opens and presents from any browser without a network connection.
Layouts are chosen by the role each point plays in the talk, not by how many lines it has. The skill's built-in layout types include a headline statement, a comparison, a relationship diagram, an evidence slide (table or code), and a chapter break. Native charts (bar, line, flow and compare) are available where the source has real data, order or relationships.
- Headline statement: one claim that stands on its own at large size
- Comparison: two items on a shared baseline and dimension
- Relationship diagram: Unicode connector lines with labelled nodes
- Evidence: tables, code or source material shown as they are
- Chapter break: a pause before a new question
Install the ljg-present skill from a ZIP or the Claude apps
Download the ZIP for the skill from this page. There are two ways to install it, depending on where you use Claude.
For Claude Code, unzip the download into your personal skills folder ~/.claude/skills/, or into a project's .claude/skills/ folder if you want the skill available only in that project. For the Claude apps, upload the skill under Settings → Capabilities → Skills instead.
- Personal use across projects: unzip into ~/.claude/skills/
- Single project only: unzip into the project's .claude/skills/ folder
- Claude apps: Settings → Capabilities → Skills, then upload the skill
Trigger the skill with a natural request
You do not need a special command. The skill's description lists the situations it applies to, including requests to make a presentation, build slides, beautify a deck from an outline, or put the core of a talk on screen. Name your source file or paste the outline, and say what you want.
The skill's own examples show the two modes. A faithful request keeps your wording; an editorial request asks for the key ideas to be pulled out and the full script kept for speaking.
- "Make this outline into a presentation and don't change the wording" (faithful mode)
- "Turn the core of this talk into slides I can expand on while presenting, and put the full script in the notes" (editorial mode)
- "Redraw this old ASCII diagram as a Unicode diagram" (the skill records that redrawing was authorised and checks nodes, connections and direction)
Choose faithful or editorial mode
Faithful mode (保真排版, faithful typesetting) keeps the original sentences, order, tables, code and source images. Use it when you already have a finished outline and have not authorised changes.
Editorial mode (演讲编排) may rewrite on-slide text, but only within the permissions you give. The skill keeps the viewpoints, evidence, qualifications, numbers and relationships intact and records which source each slide came from. Simply asking for a presentation does not authorise the skill to cut or rewrite your content.
- faithful: your original text is preserved
- editorial: on-slide text can be rewritten within the authorised scope; full script goes to speaker notes
Present the deck and use speaker notes
Open the generated HTML file in a browser and present from there. Move forward with the right arrow, down arrow, Space, Enter, j or PageDown, and back with the left or up arrow, k or PageUp. Home and End jump to the first and last slides, and F goes fullscreen.
Press N to open the speaker notes, which hold the full script while the slide shows only the key claims. Scrolling a figure or the notes does not turn the page.
- Forward: → ↓ Space Enter j PageDown
- Back: ← ↑ k PageUp
- Jump: Home (first), End (last)
- F: fullscreen
- N: speaker notes
What the skill needs, and safety notes
The build scripts are TypeScript files run with the Bun runtime, so Bun must be installed for the build step. The optional visual check (ProbeDeck) needs a headless or isolated browser. The files do not mention API keys or accounts. The skill runs scripts but does not use the network, according to its files.
Because the skill runs local scripts, read the Tools/ folder before you run it on sensitive material. For a manual build, the skill's reference material gives this example command: bun Tools/BuildDeck.ts References/CompositionDeck.json /tmp/composition-reference.html. If the isolated browser is not available, the skill keeps the deck and reports that the visual check was not completed; it does not substitute your main browser.
- Requires the Bun runtime for the TypeScript build scripts
- Optional visual check needs a headless or isolated browser
- No API keys or accounts are mentioned in the files
- Not for editing PowerPoint or Google Slides files, and not for rewriting someone else's content without permission
bun Tools/BuildDeck.ts References/CompositionDeck.json /tmp/composition-reference.htmlTips for better decks
The default theme is a dark terminal style (hacker-dark). Words like share or talk do not change the colour. Choose a theme explicitly with a flag if you want one of the others. Keep your outline's section breaks, because the skill keeps chapter transitions and pauses from the source.
Give the skill a clear statement of what it may change. If you want it to keep every word, say so in the request.
- Default theme is hacker-dark; a light Hacker theme is available with --hacker
- Other themes: -b or --theme=black, -r or --theme=red, -y or --theme=yellow
- Two lines can be one claim; the skill sizes text by role and line count only affects font size and page breaks
- Put the full script in notes rather than on the slide
What people use it for
- Turning a finished conference talk outline into a clean deck you can present from any browser
- Keeping key claims on screen while the full script stays in speaker notes
- Making a shareable offline HTML file of a talk for colleagues without PowerPoint
- Redrawing an old ASCII diagram as a Unicode diagram while checking that nodes and connections still match
Frequently asked questions
Is the ljg-present skill free to use?
The skill is published under the MIT licence, as stated on this page. Check the licence file in the downloaded package for the full terms.
What do I need to run ljg-present?
You need the Bun runtime, because the build scripts are TypeScript run with bun. The optional visual check needs a headless or isolated browser. The files do not mention API keys or accounts.
How do I install an agent skill like ljg-present?
Download the ZIP and unzip it into ~/.claude/skills/ for personal use or into a project's .claude/skills/ folder. In the Claude apps, upload it under Settings → Capabilities → Skills.
Can ljg-present create PowerPoint or Google Slides files?
No. The skill produces a single offline HTML file and explicitly excludes enterprise PowerPoint generation. Use PowerPoint or Google Slides directly for those files.
Will the skill change my wording?
Not in faithful mode, which keeps your original sentences, order, tables, code and images. In editorial mode it can rewrite on-slide text, but only within the permissions you give. It does not rewrite someone else's content without authorisation.
Why is my deck static with no animations?
The output is deliberately static with no motion and no interactive slides. It is built to be readable and to work offline, so workflows that need animated or interactive slides are not a fit.
New agent skills, repos and AI tools — every week
The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.
Our verdict
Use ljg-present if you already have an outline or notes and want a clean, readable offline HTML deck with the full script in speaker notes. Pick a different tool if you need animated or interactive slides, corporate PowerPoint or Google Slides files, or if you want the skill to rewrite content you are not authorised to change.
Download the skill