CCM
/Skills
SkillsMCPMarketplacesDigestToolsAdvertise

This week in Claude

Every Monday: Claude Code, Agent SDK, MCP, and the Anthropic platform moves worth your time.

Skills by Category
Frontend DevelopmentBackend & APIsTesting & QASecurityDevOps & CI/CDGit & Pull RequestsDocumentationCode Review & QualityAI & Agent BuildingSkill Development
MCP Servers by Category
Sales & MarketingWeb & Browser AutomationDatabasesAI & LLM ToolsCloud & InfrastructureCommunication & MessagingDeveloper ToolsDesign & CreativeDocuments & KnowledgeSearch & Web Crawling
Marketplaces by Category
AI Agents & OrchestrationLLM IntegrationDevelopment ToolsFrontend & UIBackend & APIsDatabasesTesting & Code QualityDevOps & CloudSecurity & ComplianceGit & Version Control

Claude Code Marketplaces

Discover Claude Code plugins, extensions, and tools. Automatically updated directory of Anthropic Claude AI marketplaces with development tools, productivity plugins, and integrations.

Resources

  • Browse Skills
  • Browse MCP Servers
  • Browse Marketplaces
  • Skill index
  • MCP index
  • Marketplace index
  • Plugins Reference

Community

  • About
  • Tools
  • Feedback
  • Privacy Policy
  • Advertise

Built for the Claude Code community with Claude Code by mertbuilds.com

Independent project, not affiliated with Anthropic
starchild-ai-agent avatar

Slide Creator

starchild-ai-agent/official-skills
4k installs22 stars
Summary

Builds presentation decks as HTML and exports them to 16:9 PDF via headless Chromium, not PowerPoint files. Comes with content scaffolding for pitch decks, conference keynotes, product launches, and research reports. The art direction workflow is surprisingly thorough: it generates a visual style picker with three rendered preview options, extracts design cues from reference URLs or uploaded images, and writes a style brief before you build anything. Supports bilingual layouts for Hong Kong and Singapore audiences. Uses CSS Grid and Flexbox for layout, which gives you more control than dragging boxes around in Keynote, and the output is git-friendly. If you need pixel-perfect PDFs and want to avoid the usual presentation software, this does the job.

Install to Claude Code

npx -y skills add starchild-ai-agent/official-skills --skill slide-creator --agent claude-code

Installs into .claude/skills of the current project.

CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
belt - the only tool your agent needs
belt - the only tool your agent needs
belt cli automatically finds the best tools and skills for your agent. image, video, music, tts...
one prompt install →
inference shell
inference shell
create and run specialised agents in minutes
build now →
MCP-ready Email SendingMCP-ready Email Sending
MCP-ready Email Sending
Plug Mailtrap into your AI workflow and let it handle the email.
Connect Mailtrap MCP →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Capacitor - Shared memory for your team’s coding agents.
Capacitor - Shared memory for your team’s coding agents.
Make coding agent sessions - Searchable, Shareable, Vendor-neutral & Scored.
Try For Free →
CodeScene MCP ServerCodeScene MCP Server
CodeScene MCP Server
Your agent targets a perfect 10 Code Health score. Deterministic. Every commit.
Try For Free →
Give your AI the whole web as clean markdownGive your AI the whole web as clean markdown
Give your AI the whole web as clean markdown
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
belt - the only tool your agent needs
belt - the only tool your agent needs
belt cli automatically finds the best tools and skills for your agent. image, video, music, tts...
one prompt install →
inference shell
inference shell
create and run specialised agents in minutes
build now →
MCP-ready Email SendingMCP-ready Email Sending
MCP-ready Email Sending
Plug Mailtrap into your AI workflow and let it handle the email.
Connect Mailtrap MCP →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Capacitor - Shared memory for your team’s coding agents.
Capacitor - Shared memory for your team’s coding agents.
Make coding agent sessions - Searchable, Shareable, Vendor-neutral & Scored.
Try For Free →
CodeScene MCP ServerCodeScene MCP Server
CodeScene MCP Server
Your agent targets a perfect 10 Code Health score. Deterministic. Every commit.
Try For Free →
Give your AI the whole web as clean markdownGive your AI the whole web as clean markdown
Give your AI the whole web as clean markdown
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Files
  • logo.png
SKILL.mdView on GitHub

Slide Creator — HTML → PDF Presentations

Build slide decks as HTML, export to pixel-perfect 16:9 PDF via headless Chromium.

Output format: PDF — not Microsoft PowerPoint (.pptx). The PDF preserves exact layout, fonts, and colors across all devices.

Why HTML → PDF

  • CSS layout (Grid/Flexbox) is far more flexible than any PPT editor
  • Full web typography, gradients, SVG, animations (print degrades gracefully)
  • Git-friendly, reproducible, scriptable
  • One command → PDF with exact 16:9 page dimensions

Workflow

0. Identify Scenario (new)

Before any other step, identify the presentation scenario. Read references/content-scaffolding.md for full templates.

Scenario keywordTemplate to use
pitch / investor / fundraisingpitch-deck
conference / keynote / summit / talkconference-keynote
product launch / launch eventproduct-launch
report / research / analysisresearch-report
(none of the above)ask user which scenario fits best

Each template defines: slide count, page titles, required content per page.

0.5 Bilingual Layout (if needed)

If the audience is bilingual (e.g. HK, Singapore, global Chinese conference), or the user mentions Chinese + English:

  • Use the bilingual layout mode from references/content-scaffolding.md
  • Heading: English (large) + Chinese subtitle (smaller, --text-muted)
  • Body bullets: Chinese first, English parenthetical optional
  • Avoid pure English-only decks for HK/TW/SG audiences

1. Plan the Deck

Define slide count and content per slide based on the scenario template. Each slide = one <section class="slide">.

1.5 Art Direction (run this before building)

Run this step whenever the user hasn't provided a specific visual style. Read skills/slide-creator/references/art-direction.md for the full style taxonomy, CSS token templates, and style-brief output format.

Step A — Ask 4 questions:

  1. Audience & setting: who is this for, and in what context (investors / internal team / public keynote)?
  2. Mood keywords: how should the audience feel (authoritative / energetic / friendly / geeky-modern)?
  3. Brand constraints: any required brand colors, logo, or fonts?
  4. Reference material: any template references to align with (images, web links, existing deck screenshots)?

Step B — Generate a visual style picker page: Do NOT present style options as text descriptions — users can't evaluate styles from words alone.

Reference handling rules:

  • If user provides image files/screenshots: sample palette (primary/surface/accent), inspect layout density, corner radius, typography tone from the visual.
  • If user provides web URLs: use web_fetch to extract design cues. Critical — follow this extraction protocol to avoid misreading the style:
    1. Ignore the brand name / domain name — never infer visual style from the product's industry or name (e.g. "Neo" does NOT mean neon, "Opera" does NOT mean European luxury).
    2. Read copy tone & vocabulary — the words used on the page reveal mood (e.g. "surgical precision", "quiet confidence" → restrained; "unleash", "radically" → bold/aggressive).
    3. Extract explicit color vocabulary — look for CSS keywords in the fetched text, or color names mentioned in body text / alt tags. Warm vs cool, light vs dark, muted vs saturated.
    4. Infer layout density — count words per section; sparse = editorial/luxury, dense = technical/functional.
    5. Identify decorative motifs — mentioned or implied (e.g. geometry, gradients, photography, illustration, line art, brutalism).
    6. Cross-check against art-direction.md — find the closest matching template, then describe the delta (e.g. "Style G but warmer, replace blue with burnt orange, add subtle grid lines").
    7. When uncertain: be conservative — under-promise the style match and present 3 options where Option A is your best interpretation, B is safer/cleaner, C is more experimental. Never confidently assert a style that contradicts the actual visual evidence.
  • If user provides both: prioritize image cues first, URL cues second.
  • If no references are provided: use built-in style taxonomy defaults.

Then:

  1. Create output/style-picker/index.html — a single page with 3 side-by-side mini slide previews (16:9 aspect ratio), each fully rendered with real CSS (colors, fonts, layout, decorative elements). Each preview must look like an actual slide, not a color chip.
  2. Build these 3 options as: (A) Reference-faithful, (B) Safer corporate variant, (C) Bolder creative variant.
  3. preview(action='serve') the directory and show the preview URL.
  4. Each card has a label below: style name + one-line description.
  5. Add onclick highlight so the user can click to indicate their choice.

User picks by saying "Choose A" / "I want B" / "Blend A+C" etc.

Step C — Generate style-brief.md: Once user selects a style, write a style-brief.md (template in art-direction.md) in the project directory. All subsequent HTML/CSS work must follow this brief.

Step D — Ask for brand assets (logo / colors): After user picks a style, ask:

"Do you have a logo or brand color to include? You can upload an image file, and I’ll embed the logo across the slides."

If logo uploaded: embed as base64 in HTML (use base64.b64encode in bash), place in top-left or top-right corner at ≤60px height. If brand color given: override --accent in CSS token block with user's color.

2. Choose a Theme

If Art Direction was completed, the style-brief.md is the theme spec — skip this table. Otherwise, use as a quick fallback:

StyleBackgroundAccentFontMood
Dark tech#000 / #0a0a0abright orange/blue/greenInter, Space GroteskBold, modern
Light clean#fff / #f8f8f8navy, teal, coralInter, DM SansProfessional, minimal
Gradientdark gradientvibrant accentAny sans-serifCreative, energetic
Corporate#1a1a2e / whitebrand colorsystem fontsTrustworthy, formal
Playfulsoft pastelswarm pop colorsNunito, PoppinsFriendly, casual

3. Build HTML + CSS

Create a project directory with index.html + styles.css.

Start from assets/base.css — structural skeleton (slide dimensions, print rules, layout helpers) with NO colors or fonts. Layer your theme on top:

/* Example theme layer — customize freely */
body {
  font-family: 'Inter', sans-serif;
  color: #fff;
  background: #000;
}
.slide { background: #0a0a0a; }
.slide-tag { background: rgba(0,120,255,0.15); color: #0078ff; }
.card { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); }

Mandatory structural rules (in base.css — don't remove):

.slide { width: 1280px; height: 720px; page-break-after: always; overflow: hidden; }
@page { size: 1280px 720px; margin: 0; }

Key rules:

  • Use px units — never vh/vw/rem/% for slide dimensions
  • Google Fonts: use <link> in <head>, export script waits for network idle
  • Viewport meta: <meta name="viewport" content="width=1280">
  • Content must fit within 720px height — overflow is clipped

4. Preview (Optional)

Use preview(action='serve') to preview in browser before exporting.

5. Export to PDF

python3 skills/slide-creator/scripts/export_pdf.py --dir <project-dir> --output output/<name>.pdf

Options:

  • --dir — directory containing index.html (required)
  • --output / -o — output PDF path (default: <dir>/deck.pdf)
  • --width — slide width in px (default: 1280)
  • --height — slide height in px (default: 720)

6. Verify

The script prints slide count and confirms output path. Extra check:

import fitz
doc = fitz.open("output/deck.pdf")
print(f"Pages: {doc.page_count}")
for p in doc:
    r = p.rect
    print(f"  {r.width*96/72:.0f}x{r.height*96/72:.0f}px")

Style Guidelines

  • No default brand — every deck gets a theme tailored to its content
  • Prefer Art Direction-first workflow (questions → references → user pick → style-brief.md)
  • Ask the user for preference: dark/light, accent color, font, mood
  • Each slide should have clear visual hierarchy: tag → title → content
  • Keep text concise — slides are visual, not documents
  • Use .bg-glow with theme-colored radial gradients for depth
  • Do not use web_search for style exploration by default; prioritize user-provided reference images/links plus templates in art-direction.md.
  • When the user provides reference links, use web_fetch to extract design cues (color tone / voice / layout), but implement final CSS using local templates and token variables.
  • When the user asks for "art-direction advice / style advice", always generate a visual style-picker preview page (3 options) — never rely on text-only descriptions.
  • Build HTML strictly against chosen style brief, then export PDF (do not skip brief unless user explicitly opts out)
  • After style is chosen, always ask about logo / brand assets before building
  • For HK/TW/SG/bilingual audiences, default to bilingual layout unless user says English only

Style Microtweaks (after style is chosen)

If user says "change primary color to red" / "switch the font" / "increase corner radius", do NOT restart art direction. Instead, directly patch the --accent / --font-head / --radius CSS variable in styles.css. Only restart art direction if user wants a completely different style.

Gotchas

  • Chromium: pre-installed via workspace/setup.sh on container start (~641 MB cached at ~/.cache/ms-playwright/). Do NOT run playwright install on every export — it re-downloads the same browser. Only run it if export_pdf.py fails with Executable doesn't exist, and in that case also append the command to workspace/setup.sh so it persists.

  • Fonts: Google Fonts need HTTP — the export script starts a local server automatically

  • Emoji rendering: headless Chromium may lack emoji fonts — use SVG icons instead

  • Large images: embed as base64 or use relative paths (local server serves the project dir)

  • Slide overflow: content exceeding 720px height is clipped — design within bounds

  • ⚠️ PDF text not selectable (verified 2026): filter / backdrop-filter CSS on any ancestor containing text causes Chromium to rasterize that layer to bitmap during PDF export — all child text becomes pixels, not selectable. Fix: NEVER apply filter/backdrop-filter to containers holding text. Only apply to empty decorative <div> elements (e.g. .blur-layer, .glow-overlay) with no text children. Same rule applies to mix-blend-mode on text parents. Pre-export checklist: search HTML for filter/backdrop-filter on non-decorative elements and strip them.

  • ⚠️ Footer / source attribution — use standard component + strict bottom-safe-area contract (verified 2026): ad-hoc footer markup causes inconsistent positioning across slides. Always use this .slide-footer pattern for all source citations, page numbers, and disclaimers.

    Hard layout contract (do not skip):

    • Every non-cover slide must have a dedicated content wrapper (e.g. .slide-body) that reserves footer space.
    • Hard rule: .slide-body must reserve footer space with bottom-safe-area >= 96px (default 96px). Example: .slide-body { padding: 52px 72px 96px; }.
    • Footer must be outside normal flow: position: absolute; bottom: 24px, as a sibling of .slide-body directly under .slide.
    • Never place source/disclaimer text inside .slide-body.
    • Cover page can be exception only when it has no .slide-footer.

    This enforces physical separation: body content area ends above a reserved footer lane, and footer stays in the canvas-bottom lane, so they never overlap regardless of content density.

    <footer class="slide-footer">
      <span class="footer-source">Source: CoinGecko · Coinglass · DefiLlama</span>
      <span class="footer-page">03 / 12</span>
    </footer>
    
    .slide-footer {
      position: absolute;
      bottom: 24px; left: 48px; right: 48px;
      display: flex; justify-content: space-between; align-items: center;
      font-size: 11px; color: rgba(255,255,255,0.35);
      border-top: 1px solid rgba(255,255,255,0.08);
      padding-top: 8px;
      z-index: 2;
    }
    .slide > *:not(.bg-glow):not(.slide-footer) {
      position: relative;
      z-index: 1;
    }
    .slide-body { padding-bottom: 96px; }
    

    Never use in-flow / position: relative footers — they shift when slide content height changes. Also exclude .slide-footer from generic .slide > * stacking rules, or CSS order can accidentally override footer layering. Validation checklist (required before export):

    1. every non-cover slide has .slide-body and .slide-footer as siblings;
    2. .slide-body bottom padding is >=96px;
    3. source/disclaimer text appears only inside .slide-footer, never in body containers.
  • ⚠️ z-index / decorative overlay bug (verified 2026): .bg-glow and other decorative pseudo-layers MUST be positioned with z-index: 0 and all real slide content given z-index: 1 explicitly. If .bg-glow is a sibling of .slide > * (not a ::before/::after pseudo-element), add this rule to ensure content is never visually buried:

    .slide > *:not(.bg-glow) { position: relative; z-index: 1; }
    .bg-glow { position: absolute; z-index: 0; pointer-events: none; }
    

    Failure mode: PDF exports show content pushed to the bottom or invisible, even though browser preview looks fine (browser compositing handles z-order more forgivingly than Chromium's print path).

Featured
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
belt - the only tool your agent needs
belt - the only tool your agent needs
belt cli automatically finds the best tools and skills for your agent. image, video, music, tts...
one prompt install →
inference shell
inference shell
create and run specialised agents in minutes
build now →
MCP-ready Email SendingMCP-ready Email Sending
MCP-ready Email Sending
Plug Mailtrap into your AI workflow and let it handle the email.
Connect Mailtrap MCP →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Capacitor - Shared memory for your team’s coding agents.
Capacitor - Shared memory for your team’s coding agents.
Make coding agent sessions - Searchable, Shareable, Vendor-neutral & Scored.
Try For Free →
CodeScene MCP ServerCodeScene MCP Server
CodeScene MCP Server
Your agent targets a perfect 10 Code Health score. Deterministic. Every commit.
Try For Free →
Give your AI the whole web as clean markdownGive your AI the whole web as clean markdown
Give your AI the whole web as clean markdown
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Categories
Frontend DevelopmentDevOps & CI/CDCode Review & QualityAI & Agent BuildingOffice & Documents
First SeenMay 16, 2026
View on GitHub

More from starchild-ai-agent/official-skills

All 43 skills →
  • Community Publish4k
  • Preview Dev4k
  • Chart3.8k
  • Web Crawler3.8k
  • User Onboarding2.9k
  • Agentx2.7k
  • Video2.7k
  • Byok Custom Model2.6k
  • Chatgpt Codex Onboarding2.4k
  • Xai Grok Onboarding2.3k
  • Image Edit2.2k
  • Image Portrait2.2k
  • Agent Hooks2.1k
  • Wechat Binding2.1k
  • Tg Bot Binding2.1k
  • Image Create2.1k
  • Image Ecommerce2k
  • Image 3d1.9k
  • Image Bg Remove1.8k
  • Cli Bridge1.7k
  • Image Tryon1.7k
  • Ui Design1.7k
  • Video Analysis1.6k
  • Okx1.6k

Recommended

More Frontend Development →
forcedotcom avatar
generating-custom-tab

forcedotcom/sf-skills

Use this skill when users need to create or configure Salesforce Custom Tabs. Trigger when users mention tabs, navigation tabs, object tabs, web tabs, Visualforce tabs, Lightning component tabs, app page tabs, or tab configuration. Also use when users want to add navigation to custom objects, create tabs for external content, or set up Lightning page tabs. Always use this skill for any custom tab work.
4k
803
softaworks avatar
c4-architecture

softaworks/agent-toolkit

Generate architecture documentation using C4 model Mermaid diagrams. Use when asked to create architecture diagrams, document system architecture, visualize software structure, create C4 diagrams, or generate context/container/component/deployment diagrams. Triggers include "architecture diagram", "C4 diagram", "system context", "container diagram", "component diagram", "deployment diagram", "document architecture", "visualize architecture".
4k
2.3k
forcedotcom avatar
generating-custom-lightning-type

forcedotcom/sf-skills

Use this skill when users need to create Custom Lightning Types (CLTs) for Einstein Agent actions or structured input/output schemas. Trigger when users mention CLT, Custom Lightning Types, Custom Lightning Types (CLTs) with widget/mosaic/fragment rendition/renderer, JSON schemas for agents, type definitions, lightning__objectType, or editor/renderer configurations. When widget renditions are requested, you MUST first read the widget-rendition.md reference file in this skill's references/ directory and follow its complete workflow. This is complex - always use this skill for CLT work.
4k
803
vinvcn avatar
git-guardrails-claude-code

vinvcn/mattpocock-skills-zh-cn

设置 Claude Code hooks,在危险 git commands(push、reset --hard、clean、branch -D 等)执行前阻止它们。适用于用户想防止破坏性 git 操作、添加 git safety hooks,或在 Claude Code 中阻止 git push/reset 时。
4k
3k
forcedotcom avatar
platform-metadata-api-context-get

forcedotcom/sf-skills

REQUIRED companion for Salesforce metadata generation — load this schema/API-context skill in the SAME turn as ANY metadata generation skill; if you load a generator, you ALSO load this. Use it whenever you create, generate, add, edit, or author metadata or a *-meta.xml file: custom object, custom field, formula field, picklist, lookup, master-detail, validation rule, permission set, profile, custom tab, lightning record page, flexipage, list view, custom application, flow, layout, record type, sharing rules, report, and 604 Metadata API types. It provides the authoritative schema, fields, field properties, required flags, allowed enum values, and XML structure so generated *-meta.xml deploys cleanly — skipping it causes hallucinated element names and deploy failures. Trigger on *-meta.xml, metadata schema, api context, 'Salesforce metadata', or 'sfdx project'. DO NOT use for SOQL, DML, runtime sObject access, or Tooling API records.
4k
803
vinvcn avatar
setup-pre-commit

vinvcn/mattpocock-skills-zh-cn

在当前仓库设置 Husky pre-commit hooks,集成 lint-staged (Prettier)、类型检查和测试。适用于用户想添加 pre-commit hooks、设置 Husky、配置 lint-staged,或在提交时运行格式化、类型检查和测试时。
4k
3k