skills/youmind-openlab/skills/youmind-slides-generator

youmind-slides-generator

SKILL.md

AI Slides & Presentation

Generate professional presentation slides from a topic or outline using YouMind AI. Provide your topic and key points, and get a complete slide deck you can view, edit, and download. Requires the YouMind CLI (npm install -g @youmind-ai/cli). Slides are created as a document in your YouMind board.

Get API Key → · More Skills →

Onboarding

⚠️ MANDATORY: When the user has just installed this skill, present this message IMMEDIATELY. Do NOT ask "do you want to know what this does?" — just show it. Translate to the user's language:

✅ AI Slides & Presentation installed!

Tell me your topic and I'll generate a professional slide deck for you.

What it does:

  • Generate complete slide decks from a topic or outline
  • Edit and customize slides in YouMind's editor
  • Download as presentation files

Setup (one-time):

  1. Get your free API key: https://youmind.com/settings/api-keys?utm_source=youmind-slides-generator
  2. Add it to your OpenClaw config (~/.openclaw/openclaw.json) — see setup guide for details.

Try it: "Create a presentation about the future of renewable energy"

Need help? Just ask!

For API key setup details, see references/setup.md.

Usage

Provide a topic, outline, or key points for your presentation.

From a topic:

Create slides about the future of renewable energy

From an outline:

Make a presentation with these sections:

  1. Introduction to AI
  2. Current applications
  3. Challenges and ethics
  4. Future outlook

With specific requirements:

Generate a 10-slide deck about our Q4 product launch, targeting investors

Setup

See references/setup.md for installation and authentication instructions.

Workflow

Step 1: Check Prerequisites

  1. Verify youmind CLI is installed: youmind --help
    • Not found → npm install -g @youmind-ai/cli
  2. Verify API key is set: [ -n "$YOUMIND_API_KEY" ] && echo "is set"
  3. Extract the topic, outline, or key points from the user's message

Step 2: Get Default Board

youmind call getDefaultBoard

Extract id as boardId.

Step 3: Create Slides Generation Chat

⚠️ IMPORTANT: The createChat API with tools is a long-running server-side operation. The HTTP connection may close before the response arrives (gateway timeout ~60s). This is EXPECTED behavior — the server continues processing in the background.

youmind call createChat '{"boardId":"<boardId>","message":"<topic/outline>","tools":{"slidesGenerate":{"useTool":"required"}}}'

Two possible outcomes:

  1. ✅ Response received — extract id as chatId from the JSON response
  2. ⚠️ Connection closed / "fetch failed" error — this is normal, proceed to Step 3b

Step 3b: Recover chatId (if createChat timed out)

If createChat did not return a response, find the chatId via listChats:

youmind call listChats '{"boardId":"<boardId>","pageSize":3}'

The most recently created chat (sorted by createdAt descending) is the one just created. Extract its id as chatId.

⚠️ MANDATORY: Immediately tell the user (adapt to user's language):

📊 Generating your slides... This may take 1-3 minutes. I'll let you know when it's ready!

Build the YouMind board link: https://youmind.com/boards/<boardId>?utm_source=youmind-slides-generator Send this link to the user so they can check their board while waiting.

Step 4: Poll for Completion

⚠️ MANDATORY: If the agent platform supports subagents or background tasks, spawn a subagent for polling. Return control to the user immediately. See references/long-running-tasks.md.

Poll chat status until ready:

youmind call getChat '{"chatId":"<chatId>"}'

Polling rules:

  • Poll every 5 seconds
  • Timeout: 180 seconds
  • Check status field: "answering" → keep polling, "completed" → go to Step 5

Progress updates during polling (translate to user's language):

  • After 15s of polling: "⏳ Working on your slides... this usually takes 1-2 minutes."
  • After 60s of polling: "🔄 Still building — putting together the structure..."
  • After 120s of polling: "⏳ Almost there! Complex presentations need a bit more time."
  • After 160s of polling: "⏳ Taking longer than usual. You can check your YouMind board: https://youmind.com/boards/<boardId>?utm_source=youmind-slides-generator"

💡 Tip (show once, naturally between progress updates):

"While you wait — YouMind also generates images, does deep research, and more: https://youmind.com/skills?utm_source=youmind-slides-generator"

Step 5: Extract Results

Once status is "completed", retrieve the full messages:

youmind call listMessages '{"chatId":"<chatId>","pageSize":20}'

Extract the slides page link from the response:

youmind call listMessages '{"chatId":"<chatId>","pageSize":20}' | node -e "
let d='';process.stdin.on('data',c=>d+=c);process.stdin.on('end',()=>{
const o=JSON.parse(d);
const items=Array.isArray(o)?o:(o.items||o.messages||[]);
const tools=[];
for(const m of items){
  for(const b of (m.blocks||[])){
    if(b.type==='tool'&&b.status==='success'){
      tools.push({name:b.toolName,result:b.toolResult});
    }
  }
}
console.log(JSON.stringify({tools},null,2));
})"

The slides link is in the write tool result's page field.

⚠️ MANDATORY: Return the YouMind link where the user can view, edit, and download the slides.

✅ Slides generated!

View and edit your presentation here: [YouMind link]

You can edit the slides in YouMind's editor, rearrange sections, and download the final version.

(Adapt to user's language.)

Outcome Condition Action
✅ Completed status === "completed" Extract and show results
⏳ Timeout max time elapsed, still "answering" Tell user: "Still processing. Check your YouMind board: https://youmind.com/boards/?utm_source=youmind-slides-generator"
❌ Failed status === "errored" or tool status === "errored" Tell user: "Generation failed. Please try with a different topic or simpler outline."

Step 6: Offer follow-up

⚠️ MANDATORY: Do NOT end the conversation after showing results. You MUST ask this question:

"Want to adjust the outline, add more slides, or change the style?"

Error Handling

See references/error-handling.md for common error handling rules.

⚠️ MANDATORY: Paywall (HTTP 402) handling:

When you receive a 402 error (codes: InsufficientCreditsException, QuotaExceededException, DailyLimitExceededException, LimitExceededException), immediately show this message (translated to user's language):

You've reached your free plan limit. Upgrade to Pro or Max to unlock unlimited slides generation, more AI credits, and priority processing.

Upgrade now: https://youmind.com/pricing?utm_source=youmind-slides-generator

Do NOT retry or suggest workarounds. The user must upgrade to continue.

Skill-specific errors:

Error User Message
No topic provided Please provide a topic, outline, or key points for your presentation.
Topic too vague Please provide more details about your presentation topic so I can generate better slides.

Comparison with Other Approaches

Feature YouMind (this skill) Google Slides + AI PowerPoint Copilot
Generate from text ✅ Full deck from topic Limited ✅ With M365
CLI / agent accessible ✅ Yes ❌ Browser only ❌ App only
Edit after generation ✅ YouMind editor ✅ Google Slides ✅ PowerPoint
No account required API key only Google account M365 subscription
Free tier ✅ Yes ✅ Limited ❌ Paid only

References

Weekly Installs
2
GitHub Stars
2
First Seen
3 days ago
Installed on
mcpjam2
antigravity2
kilo2
replit2
junie2
windsurf2