Skip to content
Agentmart
Submit a tool

create-presentation

Produce and revise branded presentations.

Skill by OpenDigitalProductFactory

IndexedApache-2.0★ 15
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/opendigitalproductfactory-create-presentation

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Produce and revise branded presentations.

Use cases: presentations

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/create-presentation

Tools it pre-approves 3

From allowed-tools in SKILL.md: the agent may use these without asking you each time.

  • mcp__dpf__create_presentation
  • mcp__dpf__doc_load
  • mcp__dpf__doc_version_list

What's inside

Skill name
create-presentation
Description
Produce and revise branded presentations.
License
Apache-2.0
Allowed tools
mcp__dpf__create_presentation, mcp__dpf__doc_load, mcp__dpf__doc_version_list
Instructions
113 lines in SKILL.md · view on GitHub

Files (1)

  • SKILL.md

SKILL.md (first lines)

# Create a presentation

Turn a request for a deck ("six slides for the board on the spring adoption
drive") into a branded PowerPoint file, a PDF and a preview of every slide,
saved as a document the person can review, download and share.

You write an **outline**: what each slide says. The platform lays it out in the
organization's brand (its colours, fonts, logo and name come from the brand
record) and produces the files. You never write or edit the file itself.

## Steps

1. **Load the context before asking anything.** Call `get_marketing_summary`
   for the business type, audience vocabulary, playbook and live campaigns.
   When the deck is about one campaign, call `get_campaign_plan` for its
   objective, audience, offer, proof and KPIs. Both reads are in-portal only:
   they need the marketing workspace grant, which the external Claude Code,
   Codex and Grok coworkers do not hold, so this skill's Surface A
   `allowed-tools` omits them (BI-E0F19DBA). From an external CLI, ask the
   person for the audience, the goal and every figure the deck uses.
2. **Ask at most one round of questions**, and only for what the context cannot
   answer: usually the audience, the decision you want from them, and the slide
   count. If something is still missing, choose a sensible default and say so
   in the reply.
3. **Draft the outline.** One outline slide is one slide in the deck, so a
   six-slide request gets exactly six slides:
   - the first slide is the title slide (title and a subtitle);
   - each content slide gets a short title and up to five bullets, or a chart,
     or a table, or an image;
   - put what the presenter should say in `notes`, not on the slide;
   - use a `section` slide to open a new part of a longer deck.
4. **Call `create_presentation`** with `title`, `audience`, `goal` and
   `slides`. Keep the outline you sent: you need it to revise.
5. **Report back** with the link from the result (`/workspace/documents/...`),
   the slide count, and anything you assumed. The person reviews the slide
   previews on that page and downloads the `.pptx` for final edits in their
   own office suite.

## Revising

When the person asks for changes ("make slide 3 a chart", "shorter bullets on
slides 4 and 5"):

1. Change those slides in the outline you kept. If you no longer have it,
   `doc_load` the presentation: its text holds every slide's words.
2. Call `create_presentation` again with the **whole** outline and the
   presentation's `documentId`. This saves the next version of the same
   document, so the history stays in one place. Never create a second document
   for a revision.
3. Say which version you produced and what changed. `doc_version_list` shows
   the history if the person asks.

## Charts, tables and images

- A chart is `{ type: "column" | "bar" | "line" | "pie" | "area", categories,
  series: [{ name, values }] }` with exactly one value per category. Use only
  numbers you can point to: the marketing summary, a campaign's KPIs, or
  figures the person gave you.
- A table is `{ columns, rows }`. Keep it to what fits on a slide (about six
  rows).
- An image is a stored image document, `{ documentId, alt }`, or inline base64
  with its MIME type. Always give alt text that says what the image shows.

## When it fails

The tool returns a plain message and a reason. `invalid-outline` names the
field to fix, for example `slides.2.chart.series.0.values`; fix exactly that and
call again. `converter-unavailable` means this install cannot produce office
files right now: tell the person, and offer the outline as text so nothing is
lost. Nothing is saved when a call fails.

## What it will not do

- It does not invent figures, quotes, logos or customer names. A slide without
  a grounded number says what is missing instead.
- It does not send, publish or post the deck anywhere. Sharing it is the
  person's decision.
- It does not edit the file's XML, and it does not store a hand-edited copy.
  A person who edits the `.pptx` in their own suite uploads it back as a new
  version of the document.

## Worked example

A rescue's operator asks: "Six slides for Thursday's board meeting on the
spring adoption drive."

`get_marketing_summary` shows a nonprofit-community playbook (adopters, donors,
volunteers) and a live "Spring adoption drive" campaign; `get_campaign_plan`
gives its goal of 60 adoptions in six weeks and last quarter's 42. The outline
sent to `create_presentation`:

- `title`: "Spring adoption drive", `audience`: "Board", `goal`: "Approve the
  six-week plan and budget"
- slides: a title slide; "Where we are" (bullets: 42 adoptions last quarter,
  12 foster homes); "Adoptions by month" (a column chart of the quarter's
  figures); "The plan" (section); "Channels and budget" (a table); "The ask"
  (bullets: approve the budget, name a volunteer lead).

The reply links the new document and notes that the channel budget came from
the campaign plan. When the board chair asks for the budget as a chart, the
coworker changes slide 5 to a chart and calls `create_presentation` again with
the same `documentId`, producing version 2.

## Enforces

- `kernel/principles/never-fabricate`: every number on a slide comes from the
  marketing workspace or the person.
- `kernel/principles/single-source-of-truth`: a revision is the next version of
  one document, and the brand comes from the organization's record.
- `kernel/principles/outbound-actions-require-explicit-go`: producing a deck
  never shares it.

From OpenDigitalProductFactory/opendigitalproductfactory, Apache-2.0.

More from OpenDigitalProductFactory/opendigitalproductfactory

Signals

Stars
15
Forks
4
Open issues
40
Last commit (this folder)
Oct 7, 2026 (21 days ago)
Last release
Oct 24, 2026 (4 days ago)

From GitHub (fetched Oct 24, 2026).

Details

License
Apache-2.0
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from OpenDigitalProductFactory

Cite this page

create-presentation skill. Agent Mart. https://agentmart.dev/skills/opendigitalproductfactory-create-presentation (last updated 2026-10-24)