# Slide Field Agent Guide Generate or edit a Slide Field deck from the user's topic or existing content — see "Generating" for what to return. --- ## Generating Always return the Markdown wrapped in a fenced code block, unless the user asked for Link/HTML alone — four backticks by default, or one more than the longest fence inside if a slide contains a longer one. ### New No Markdown given. Pick an outline shape — Title → Context → Main sections → Summary/next steps (informational); Hook → Problem → Core idea → Proof → Closing (pitch/showcase). One idea per slide, short enough to read as a slide; fewest slides that cover the topic, ~7 as an upper bound, not a target. Use images, video, or webpage embeds selectively when they explain, demonstrate, or provide evidence. Prefer one primary resource on a slide and use only verified sources (see "Citing links" below). A clear text-only slide is better than decorative, redundant, or invented media. Deliverables: the Markdown first, then a Link (see "Building A Link"), reported as a clickable Markdown link, e.g. `[Open the deck](https://slide.myfield.one/#md=...)`. Skip the Link for a large deck. Whether or not a Link is included, always tell the user the fallback: if the Link wasn't generated, or doesn't open, they can instead copy the Markdown and paste it into the Markdown panel (Layout Options menu, the chevron next to the sidebar toggle, then Markdown) in the app at https://slide.myfield.one/. No HTML unless asked — see "Building HTML". ### Editing Markdown given, or revise/improve an existing deck. Treat it as the base — preserve slide IDs, block markers, and settings; change only what's asked; don't touch unrelated sections. Also return a Link or HTML when asked, or when it matches the form the content was given in, so the user can easily view/reopen it — see "Building A Link" / "Building HTML". If given a `.slide.html` file, extract its embedded Markdown first (see [Export and sharing](./reference/export-share.md)) and edit that, not the HTML. If existing Markdown has leading YAML frontmatter, leave it unchanged unless the user asks to edit or remove it. --- ## Content Rules **Avoid** (unsupported, renders broken or as plain text): tables, task lists, strikethrough, reference-style links/images, footnotes, definition lists, raw HTML as slide content. Do not add YAML frontmatter. Slide Field uses standalone `---` lines to separate slides; put metadata and settings in the final settings section. **Citing links**: only add ones you can verify (given by the user, or confirmed with a real search/browsing tool). Otherwise leave them out — never construct a plausible-looking URL from memory or pattern. --- ## Building A Link Hand-build the link with this character rule — do not attempt base64 by hand. **Step 1 — start from this fixed prefix.** Copy it exactly, including its `&` — never run the substitution below over it: `https://slide.myfield.one/#format-md=text&md=`. `format-md=text` comes first so it can't get dropped by a slip later in the long escaped part. **Step 2 — build the `md` value and append it.** In one left-to-right pass over the Markdown, substitute `%XX` (uppercase hex) for only these six characters; copy every other character unchanged, including non-ASCII text and markdown punctuation: ```text space -> %20 & -> %26 % -> %25 tab -> %09 carriage return -> %0D line feed -> %0A ``` Do not apply a general-purpose URL encoder such as `encodeURIComponent` or `urllib.parse.quote` — only this substitution, and only to the Markdown. Append the result to the Step 1 prefix. A shorter base64url format is also supported, for callers that can execute code — see [Export and sharing](./reference/export-share.md) for the algorithm. --- ## Building HTML Only if asked. See [Export and sharing](./reference/export-share.md) for how to hand-build one. --- ## Example A plain, text-only deck — the default shape for a first-time generation. This shows structure only: write actual headings and content in the language and topic the user asked for, not this example's wording. ```md # Quarterly Review Q3 2026 — Product team --- ## What shipped - Redesigned onboarding flow - 40% reduction in load time --- ## What's next - Expand offline mode to desktop - Begin accessibility audit --- ``` --- ## Markdown How a deck is structured and the everyday Markdown you can write. ### Basic Deck Use `---` on its own line to split slides. ```md # Title Slide Subtitle --- ## Agenda - First point - Second point ``` Speaker notes are also supported (per-slide, only if asked) — see [Markdown Reference](./reference/markdown.md). ### Slide Rules Basic rules: - the last `---` starts the settings section - if only settings follow the last `---`, no extra slide is created - `---` inside fenced code blocks does not split slides - the first heading on each slide becomes that slide's title Any heading level from `#` through `######` can be the title. ### Markdown You Can Use Common supported Markdown: - headings - paragraphs - unordered and ordered lists - nested lists - blockquotes - fenced code blocks - images - links - emphasis, strong emphasis, and inline code Line breaks inside paragraphs are preserved. ### Links Normal Markdown links work as expected. Two forms get special handling: an image link (`![alt](url)`) inserts an image, and a link alone in its own paragraph pointing to a YouTube or Vimeo URL auto-embeds as video — see "Blocks" for details. --- ## Blocks Text, images, video, embeds, and per-block formatting. ### Text A paragraph, heading, or other text content is a text block by default — only add a block marker (ID) when custom position, size, or style is asked for. See [Blocks Reference](./reference/blocks.md) for the marker and settings syntax. Inline formatting is plain Markdown. ### Images Formats: `png`, `jpg`/`jpeg`, `gif`, `webp`, `svg`, `avif` for embedded resources; external URLs aren't format-restricted. Mainly an external URL — only a verified image (given by the user, or fetched/confirmed), never invented, same rule as citing links: ```md ![Diagram](https://example.com/diagram.png) ``` SVG works too, embedded directly as a URL-encoded data URL (no literal parentheses — they'd end the link early) — handy for icons/diagrams with no real image file: ```md ![Accent circle](data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Ccircle cx='50' cy='50' r='40' fill='%23167066'/%3E%3C/svg%3E) ``` Embedded resource (`assets/image-ID.ext`) only when you have real image bytes, see [Blocks Reference](./reference/blocks.md). ### Video YouTube or Vimeo: a link alone in its own paragraph auto-embeds as a video player — no settings needed: ```md [Product Demo](https://www.youtube.com/watch?v=VIDEO_ID) ``` The same link inline within running text stays a plain link. Any other site: see "Embeds" below. ### Embeds Embed blocks (`embed` fence) support a webpage URL, a complete iframe element, or isolated HTML as the source — see [Blocks Reference](./reference/blocks.md). ### Block Formatting Same marker/settings pattern as "Text" above, on any block type — see [Blocks Reference](./reference/blocks.md) for the full key list. --- ## Settings Deck settings live in an HTML comment after the final `---` — never as bare lines (a bare line becomes visible slide text instead): ```md ``` Other settings — `paginate`, `aspectRatio`, `defaultView`, `author`, `license` — and custom themes: see [Settings Reference](./reference/settings.md) / [Themes Reference](./reference/themes.md). --- ## Layouts Usually omit `layout` — it's inferred: media (image, embed, or standalone video) uses `text-media`; otherwise the first slide uses `title`; otherwise a heading-only slide uses `chapter`; otherwise `content` (full detail: [Layouts Reference](./reference/layouts.md)). Compose for the inferred layout: - `title`: title + subtitle in the middle, 1-2 lines each, no bullets - `chapter`: section divider in the middle, one heading up to two lines - `content`: title top, body below; one idea, 3-5 bullets or 1-2 paragraphs - `text-media`: title top, text left, media right; 2-4 bullets, one media item - `blank`: only for explicit custom positioning These are composition guidelines, not syntax limits — split dense content into another slide instead of shrinking or manually positioning it. Set `layout` explicitly only when the intended composition differs from the inferred layout. --- ## Reference Everything above is built-in and needs no fetch. For anything beyond it — custom theme colors, embeds, exact layout or block positioning: - [Format Guide](./format.md) - [Markdown](./reference/markdown.md) - [Settings](./reference/settings.md) - [Themes](./reference/themes.md) - [Layouts](./reference/layouts.md) - [Blocks](./reference/blocks.md) - [Export and sharing](./reference/export-share.md) - CommonMark Specification: Slide Field supports a subset of CommonMark, not GitHub Flavored Markdown (see "Avoid" above). ---