agentleFS
zipxingzipxing/rust_pixel/.claude/skills/gen-mdpt/SKILL.md

gen-mdpt

Skill301 starsChanged 9 months agoApache-2.0View on GitHub

Generate an MDPT-compatible markdown presentation from a topic, description, or document. Use this when the user wants to create slides for mdpt.

The file

We split this skill into the rules it gives an agent

10 rules. About 0 are common, 4 are distinctive, and 6 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈4

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 6

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Write the generated markdown to gen.md in the current working directory.

    line 16
  2. Very specific:

    Use --- on its own line to separate slides.

    line 47
  3. Distinctive:

    Use varied elements: lists, code blocks, tables, charts, columns, quotes, animations

    line 222
  4. Very specific:

    Use <!-- pause --> for progressive reveal on content-heavy slides

    line 223
  5. Distinctive:

    If a topic has too much content for one slide, split into multiple slides

    line 226
  6. Distinctive:

    Use the language matching the topic (Chinese topic → Chinese content, English → English)

    line 227
  7. Very specific:

    Use <!-- anim: ... --> sparingly for emphasis (1-3 times in the whole presentation)

    line 228
  8. Very specific:

    Read references/examples/demo.md first as a reference for syntax and style

    line 230
  9. Distinctive:

    If the user provided a document/file path, read it to extract content

    line 235
  10. Very specific:

    Write to gen.md in the current working directory

    line 237

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Generate MDPT Presentation

You are generating a markdown presentation for MDPT (Markdown Presentation Tool built with RustPixel).

Topic / Requirements: $ARGUMENTS

Output

Write the generated markdown to gen.md in the current working directory.

MDPT Format Specification

YAML Frontmatter (required at top)

---
title: Presentation Title
author: Author Name
theme: dark
transition: cycle
title_animation: typewriter
code_theme: base16-ocean.dark
margin: 4
height: 26
transition_duration: 0.2
---

Available values:

  • theme: dark, light
  • transition: cycle, fade, slide_left, slide_right, slide_up, slide_down
  • title_animation: typewriter, spotlight, wave, fadein
  • code_theme: any syntect theme (base16-ocean.dark, Solarized (dark), InspiredGitHub)
  • margin: horizontal margin in cells (default 2)
  • width: virtual canvas width in cells (default 80)
  • height: virtual canvas height in cells (default 24, use 26-30 for dense content)

Slide Separator

Use --- on its own line to separate slides.

Headings

  • # H1 — title slides and ending slides only
  • ## H2 — normal slide title (most slides use this)
  • ### H3 — section heading within a slide

Lists

* Unordered item (supports nesting with indentation)
  * Nested item
    * Deeper nesting

1. Ordered item
2. Second item

Code Blocks

```rust +line_numbers
fn main() {
    println!("Hello!");
}
```

Options after language name: +line_numbers, +no_background

Dynamic highlighting (press Space to cycle groups):

```rust {1-3|5-8|all} +line_numbers
// lines 1-3 highlighted first
// then lines 5-8
// then all
```

Tables

| Header 1 | Header 2 | Header 3 |
|:---------|:--------:|---------:|
| Left     | Center   | Right    |

Block Quotes and Alerts

> Regular quote text

> [!note]
> This is a helpful note.

> [!caution]
> Be careful with this!

Special MDPT Directives (HTML comments)

<!-- pause -->              Incremental display (next content appears on key press)
<!-- divider -->             Horizontal divider line
<!-- spacer: 2 -->          Add N blank lines
<!-- jump_to_middle -->     Center next content vertically (for title/ending slides)

Column Layout

<!-- column_layout: [1, 1] -->
<!-- column: 0 -->
Left column content here
<!-- column: 1 -->
Right column content here
<!-- reset_layout -->

Weight ratio [1, 1] means equal width. Use [2, 1] for 2:1 ratio.

Text Animations

<!-- anim: spotlight -->
Text with spotlight animation (per-char highlight pulse)

<!-- anim: wave -->
Text with wave animation (sinusoidal scale)

<!-- anim: fadein -->
Text with fade-in animation (chars reveal left-to-right)

<!-- anim: typewriter -->
Text with typewriter animation (chars appear one by one)

Charts (fenced code blocks)

Line Chart:

```linechart
title: Monthly Revenue
x: [Jan, Feb, Mar, Apr, May]
y: [120, 200, 150, 300, 280]
y2: [80, 150, 120, 200, 250]
height: 12
```

Bar Chart:

```barchart
title: Programming Languages
labels: [Rust, Go, Python, JS]
values: [95, 72, 88, 78]
height: 14
```

Pie Chart:

```piechart
title: Market Share
labels: [Chrome, Safari, Firefox, Edge]
values: [65, 18, 7, 5]
radius: 20
```

Mermaid Flowchart

```mermaid
graph TD
A[Start] --> B[Process]
B --> C{Decision}
C -->|Yes| D[Result]
C -->|No| E[Other]
```

Supports graph TD (top-down) and graph LR (left-right). Node shapes: [rect], (round), {diamond}.

Mermaid Sequence Diagram

```mermaid
sequenceDiagram
    participant C as Client
    participant S as Server
    C->>S: Request
    S-->>C: Response
```
  • participant ID as Label declares a participant (optional, auto-created from messages)
  • ->> solid arrow, -->> dashed arrow
  • A->>B: message sends message from A to B

Images

<!-- image_pos: [16, 10] -->
![alt](filename.ssf)

Supports .pix and .ssf (sequence frame) image formats.

Guidelines

  1. Generate 18-30 slides with rich, substantial content
  2. First slide: title slide using # Title with a subtitle line
  3. Last slide: ending slide using <!-- jump_to_middle --> and # Thank You! or similar
  4. Use varied elements: lists, code blocks, tables, charts, columns, quotes, animations
  5. Use <!-- pause --> for progressive reveal on content-heavy slides
  6. Include at least one code block, one table, and one chart
  7. Each slide should fit within the configured height (typically 24-30 rows minus margins)
  8. If a topic has too much content for one slide, split into multiple slides
  9. Use the language matching the topic (Chinese topic → Chinese content, English → English)
  10. Use <!-- anim: ... --> sparingly for emphasis (1-3 times in the whole presentation)
  11. Output only the raw markdown with YAML frontmatter, no wrapping fences
  12. Read references/examples/demo.md first as a reference for syntax and style

Process

  1. First read references/examples/demo.md to understand the format in practice
  2. If the user provided a document/file path, read it to extract content
  3. Generate the MDPT markdown presentation
  4. Write to gen.md in the current working directory
  5. Report the number of slides generated

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.