Skip to main content
ClaudeWave
Skill5k repo starsupdated 1mo ago

slide-template

The slide-template skill enables users to create presentations by selecting from six pre-built templates (including business-minimal, tech-dark, creative-flat, academic-research, gradient-fashion, and aicon-tech-blue) that match specific presentation contexts. Use this skill when a user requests slide creation with a particular visual style, wants to preview available PowerPoint templates before starting, describes a custom template aesthetic, or needs to extract a template design from an existing presentation file.

Install in Claude Code
Copy
git clone --depth 1 https://github.com/dtyq/magic /tmp/slide-template && cp -r /tmp/slide-template/backend/super-magic/agents/skills/slide-template ~/.claude/skills/slide-template
Then start a new Claude Code session; the skill loads automatically.

SKILL.md

# Slide Template Manager

Use this skill to retrieve platform templates by exact code, create a custom template from a style description, extract one from a PPTX/PPT file, or extract one from an existing Super Magic slide project.

## Template Metadata

Every downloaded or generated template package should use `template.json` as the metadata entry. Current template packages use the HTML slide template project format:

- `schema_version`: fixed to `"1.0"`.
- `template_id`: `PPT-xxxx` format.
- `category_code`: optional `PPT-CATE-xxxx` format from the platform category list. It may be omitted when classification is maintained outside the template.
- `label.zh_CN`, `label.en_US`, `description.zh_CN`, and `description.en_US`: display metadata.
- `files.theme_css`, `files.slides_dir`, and `files.images_dir`: shared CSS, reusable slide pages, and local assets. `files.visual_spec` is optional in a draft and should be added after the visual spec is generated.
- `slides[].file`, `slides[].title`, `slides[].layout`, and `slides[].description`: reusable page index and default order.
- `source.kind`: `original`, `converted`, or `derived`, with a 1920x1080 canvas.

Do not write or rely on legacy fields such as `name`, `template_dir`, `package_type`, `slides[].slots`, `slides[].source_slide`, `slides[].best_for`, or `slides[].risks`. Use the paths declared by `template.json`; do not assume a fixed directory layout beyond the metadata.

## Template Source

- This skill does not bundle built-in templates. Do not read, list, or copy templates from `<skill_dir>/assets/templates/`.
- Platform templates are external resources identified by exact template `code`.
- Template `code` must come from a platform-provided template list, a user selection, a user-provided value, or explicit upstream context. Do not invent codes, rewrite casing, or map old local directory names to codes.
- If the user asks to see templates and no platform template list or code is available in context, ask the user to select a template in the UI or provide the template code. Do not fabricate local options.

## Decision

- Explicit template `code`: install the template package with `install_slides_template`, then inspect the installed template files.
- Platform template list is available but no template is selected: recommend 3-5 suitable options with `ask_user`. Each option must include name, short description, and exact `code`, plus "no template/default style".
- User only describes scenario/topic/audience without enough visual specs and no platform template list is available: ask for a platform template code or confirm no template/default style.
- User provides a PPTX/PPT/presentation template file or URL and asks to convert it into a platform template: read `references/pptx-template-workflow.md` and follow the PPTX Template Workflow first.
- User provides an existing Super Magic slide project directory that contains `magic.project.js` with `type: "slide"` and asks to convert or extract it into a reusable template: read `references/project-template-workflow.md` and follow the Project Template Workflow. Do not modify the source project, and do not create the final ZIP until the user confirms.
- User describes a concrete visual style (colors, materials, layout, decorative elements, and visual keywords): generate a custom template first, then use it.
- Editing/fixing/refactoring existing slides does not trigger template selection unless the user asks for a new PPT/project.

## Platform Template Retrieval

When a template code is selected and you need to read the template package, first call `install_slides_template` through Code Mode, then inspect the installed directory.

```python
from sdk.tool import tool

result = tool.call("install_slides_template", {
    "code": template_code
})

installed_directory = result.data["installed_directory"]
```

After receiving `installed_directory`:

1. Use the returned `installed_directory`; the tool extracts the package into a temporary directory to avoid occupying workspace storage.
2. Read `template.json` from `installed_directory` first.
3. Read all available resources declared by `template.json` that are useful for the deck:
   - Always read `files.theme_css` when present.
   - Read `files.visual_spec` for design rules, typography, layout types, chart rules, and image guidance when present.
   - Read representative `slides[].file` files or representative HTML files under `files.slides_dir`, when present.
4. Treat `theme.css` as the authoritative CSS. Treat `template.json`, `visual-spec.md`, and `slides/*.html` as complementary sources for reusable layouts, edit hints, components, composition patterns, visual rhythm, and asset references.
5. Read image paths or assets only when needed for the target deck.
6. Do not link to installed template files from generated slides. Copy the required CSS and assets into the PPT project after `create_slide_project`.

## PPTX-Derived Template Contract

This skill owns the template package contract and conversion/refinement guidance. It may describe how a PPTX-derived template should signal reuse intent, but detailed page-by-page slide authoring belongs to the slide creation agent.

Identify a PPTX-derived template with these rules:

- Strong signal: `template.json.source.kind` is `"converted"` and `template.json.source.file` ends with `.pptx`, `.ppt`, `.potx`, `.pot`, or `.ppsx` case-insensitively.
- Medium signal: `visual-spec.md`, the template description, or the package notes explicitly say the template was converted from PPTX/PPT.
- Weak signals such as absolute-positioned HTML, `data-slot*` attributes, local image-heavy pages, or page-level converted styles can support the decision, but must not trigger PPTX-derived handling by themselves.

When a template is PPTX-derived, preserve and document this reuse contract:

- Treat `slides/*.html` as concrete page masters, not loose visual inspiration.
- Make page selection possible through specific `template.jso
guidesSkill
canvas-designerSkill

Core canvas design skill covering project management, multimedia principles, AI image generation, web image search, and design marker processing. Load for any canvas design task. CRITICAL - When user message contains [@design_canvas_project:...] or [@design_marker:...] mentions, or when the user wants to generate video/animation/clip on a canvas project, you MUST load this skill first before any operations.

compact-chat-historySkill

Summarize and compress the current conversation history into a structured context snapshot, then call compact_chat_history to save it. Read this skill only when the user explicitly asks to compact/summarize — system-triggered compaction injects the instructions directly without requiring a skill read.

creating-slidesSkill

Slide/PPT creation skill that provides complete slide creation, editing, and management capabilities. Use when users need to create slides, make presentations, edit slide content, or manage slide projects. CRITICAL - When user message contains [@slide_project:...] mention, you MUST load this skill first before any operations.

crew-creatorSkill

|

deep-researchSkill

|

develop-data-analysis-dashboardSkill

Data analysis dashboard (instrument panel) development skill. Use when users need to develop data dashboards, create/edit Dashboard projects, build large-screen data boards, or perform dashboard data cleaning. Includes dashboard project creation, card plan, data cleaning (data_cleaning.py), card management tools (create_dashboard_cards, update_dashboard_cards, delete_dashboard_cards, query_dashboard_cards), map download tool (download_dashboard_maps), dashboard development, and validation.

dingtalk-cliSkill

Use when the user wants to interact with DingTalk in any way — including but not limited to: reading, querying, searching, sending, replying to, forwarding, or recalling DingTalk chat messages and chat history; managing group chats and conversations; sending DING alerts; querying contacts, org structure, AI search, or coworkers; reading, searching, creating, or editing DingTalk docs, drive files, sheets, AI tables, wiki, mail, calendar events, meeting rooms, AI meeting minutes, attendance, OA approvals, todos, reports/logs, live sessions, AI apps, permissions, or open-platform docs.