Analyze a book (EPUB/PDF) and generate detailed chapter-by-chapter notes with extracted key concepts. Use when given a book file path to process.
日本語の概要は準備中です。原文の説明を表示しています。
Create slide presentations from topics, URLs, PDFs, git repos, or vault notes. Use this skill when the user asks to make slides, create a presentation, build a deck, or says "slides about X". Handles research, synthesis, outline, and creation. Default output is reveal.js HTML; pptx available on request. Also handles editing existing slide decks (HTML or pptx). Triggers on /slides, /slide-maker, or any request involving presentation creation.
インストールする前に、エージェントに与えられる指示の中身を確認できます。
<Use_When>
<Do_Not_Use_When>
Create workspace + output directories at the start of every session:
mkdir -p temp/slides/research temp/slides/images notes/slides
Final output always goes to notes/slides/<presentation-name>.html (or
.pptx). Images used by the presentation are copied to
notes/slides/images/. The temp/slides/ workspace is for intermediate files
only.
</Workspace>
Parse $ARGUMENTS and any user context. Classify each input:
| Input type | Detection | Strategy |
|---|---|---|
| URL | starts with http(s):// | WebFetch + download images |
| Git repo | github.com or git URL | clone to temp, read key files |
| .pdf extension | Read tool (for local) or download | |
| Vault note | (Type) Name or [[wikilink]] | Read via MCP or Read tool |
| Existing slides (.html) | .html extension | Editing mode |
| Existing slides (.pptx) | .pptx extension | Delegate to pptx skill |
| Raw topic | none of the above | WebSearch + WebFetch |
Auto-detect research depth:
Present what was detected:
Detected sources:
1. [URL] blog post — will fetch + extract
2. [URL] paper PDF — will download and read
3. "transformer architecture" — will web search
Mode: thorough (3 sources → parallel research)
Proceeding to research...
Don't wait for confirmation unless something is ambiguous.
Before researching, understand what the user actually needs. Ask up to 5 focused questions in a single message. Adapt questions to what's already known — skip anything the user already specified.
Questions to consider (pick the ones that aren't already answered):
How to ask — be conversational, not interrogation-style:
Before I start researching, a few quick questions so I build the right deck:
1. What's this for — conference talk, team meeting, class?
2. Who's the audience? What do they already know about [topic]?
3. What language should the slides be in?
4. Any specific angle — what should the audience walk away remembering?
5. Style preference — formal/minimal, bold/visual, dark/light theme?
(Skip any that don't apply — I'll use sensible defaults)
After the user responds, synthesize their answers into a creative brief
that guides all downstream stages. Save it to temp/slides/brief.md:
# Creative Brief
**Topic**: [topic]
**Goal**: [what this presentation accomplishes]
**Audience**: [who, what they know, what they care about]
**Language**: [language for slide content]
**Key takeaway**: [the ONE thing the audience should remember]
**Tone**: [formal / casual / technical / storytelling / provocative]
**Style direction**: [dark/light, color mood, density level]
**Emphasis**: [specific aspects to highlight]
**Skip**: [anything the user explicitly wants to avoid]
**Format**: [reveal.js HTML / pptx]
**Duration**: [if mentioned — affects slide count]
Palette selection: Based on the brief, choose a palette from the Design Principles table (or craft a custom one). The palette should feel designed for THIS topic and THIS audience — not generic. Include your palette choice and reasoning in the brief.
Skip this stage when:
Then proceed to research with the brief guiding what to look for.
Read the agent definition:
Read("${CLAUDE_SKILL_DIR}/agents/source-researcher.md")
Spawn one source-researcher agent per source, all in parallel in a single
message. Each agent:
temp/slides/research/source-NN-slug.mdtemp/slides/images/Agent(
model="sonnet",
prompt="You are Source Researcher. Follow these instructions:
[INSERT FULL CONTENT OF agents/source-researcher.md]
SOURCE: [url/path/topic]
SOURCE_NUMBER: [NN]
OUTPUT_FILE: temp/slides/research/source-NN-slug.md
IMAGES_DIR: temp/slides/images/
Research this source and write findings to the output file.
Return only a 3-5 sentence summary."
)
If a source fails, continue with what succeeded — note the failure.
For raw topics with no other sources, spawn one agent that does WebSearch (2-3 queries) + WebFetch (top 3 results).
Skip agents. Do inline research:
temp/slides/images/temp/slides/research/source-01-topic.mdDuring research (both modes), download diagrams, charts, and screenshots that
could enhance slides. Skip decorative/stock images. Save to
temp/slides/images/ with descriptive names.
curl -sL "IMAGE_URL" -o temp/slides/images/descriptive-name.png
Read all research files from disk:
Glob(pattern="temp/slides/research/*.md")
# Then Read each file
Read the creative brief from temp/slides/brief.md — use it to guide content
selection, ordering, emphasis, language, and tone.
Build a slide outline. Present it to the user:
## Slide Outline
**Title**: [Presentation Title — in the brief's language]
**Audience**: [from brief]
**Language**: [from brief]
**Tone**: [from brief]
**Palette**: [from brief — name + hex values]
**Key takeaway**: [the ONE thing from the brief]
**Slides**: ~[N] slides
---
1. **Title Slide** — [title + subtitle]
2. **[Insight headline, not label]** — [2-3 key points] | Layout: [type]
3. **[Insight headline]** — [key points] | Image: [image-name.png]
4. ...
N. **Closing / Key Takeaways** — [summary points]
Headline rule: every slide headline should be an insight ("Attention is $O(n^2)$ — that's the bottleneck"), not a label ("Attention Mechanism").
ALWAYS wait for user approval before proceeding to Stage 4.
The user may:
Save the approved outline to temp/slides/outline.md.
Read the agent definition and template:
Read("${CLAUDE_SKILL_DIR}/agents/slide-writer.md")
Read("${CLAUDE_SKILL_DIR}/references/reveal-template.html")
Launch the slide-writer agent:
Agent(
model="sonnet",
prompt="You are Slide Writer. Follow these instructions:
[INSERT FULL CONTENT OF agents/slide-writer.md]
CREATIVE BRIEF:
[content of temp/slides/brief.md]
OUTLINE:
[approved outline from temp/slides/outline.md]
RESEARCH FILES (read each for detailed content):
[list of temp/slides/research/*.md paths]
IMAGE FILES AVAILABLE:
[list of temp/slides/images/* paths]
TEMPLATE:
[reveal-template.html content]
OUTPUT_FILE: temp/slides/output.html
Build the presentation following the brief's language, tone, palette,
and audience direction. Write the HTML to the output file."
)
Option 1 — Convert from HTML (preferred, faster): First create the reveal.js HTML (Path A), then convert to pptx:
npx --yes -p pptxgenjs node "${CLAUDE_SKILL_DIR}/scripts/html2pptx.js" notes/slides/name.html notes/slides/name.pptx
This preserves palette, layouts, and content from the HTML. Review the output and fix any issues.
Option 2 — Direct pptx creation (for complex cases):
Delegate to the pptx skill at .agents/skills/pptx/. Pass:
Delegate to pptx skill's unpack/edit/pack workflow.
After the slide-writer agent finishes:
# Generate a slug from the presentation title
SLUG="presentation-name" # kebab-case from title
cp temp/slides/output.html "notes/slides/${SLUG}.html"
# Copy any images referenced by the presentation
cp -r temp/slides/images/ "notes/slides/images/" 2>/dev/null || true
Presentation created: notes/slides/[name].html
Open in your browser to preview (File → Open or drag into browser).
Let me know if you'd like any changes — I can edit individual slides,
adjust colors, reorder, add/remove content.
Need PowerPoint? I can export to .pptx too.
For iteration:
notes/slides/[name].html<Design_Principles> Borrowed from the pptx skill — apply to ALL slide formats.
Pick a palette that matches the topic. Don't default to generic blue.
| Theme | Primary | Secondary | Accent |
|---|---|---|---|
| Midnight Executive | #1E2761 (navy) | #CADCFC (ice blue) | #FFFFFF (white) |
| Forest & Moss | #2C5F2D (forest) | #97BC62 (moss) | #F5F5F5 (cream) |
| Coral Energy | #F96167 (coral) | #F9E795 (gold) | #2F3C7E (navy) |
| Warm Terracotta | #B85042 (terracotta) | #E7E8D1 (sand) | #A7BEAE (sage) |
| Ocean Gradient | #065A82 (deep blue) | #1C7293 (teal) | #21295C (midnight) |
| Charcoal Minimal | #36454F (charcoal) | #F2F2F2 (off-white) | #212121 (black) |
| Teal Trust | #028090 (teal) | #00A896 (seafoam) | #02C39A (mint) |
| Berry & Cream | #6D2E46 (berry) | #A26769 (dusty rose) | #ECE2D0 (cream) |
| Cherry Bold | #990011 (cherry) | #FCF6F5 (off-white) | #2F3C7E (navy) |
<Tool_Usage>
User: ทำสไลด์จาก [url1] [url2] [url3] กับ (Paper) Scaling Laws
<Escalation_And_Stop_Conditions>
$ARGUMENTS
まだレビューはありません。使ってみた感想をお寄せください。
概要と使いどころ
Analyze a book (EPUB/PDF) and generate detailed chapter-by-chapter notes with extracted key concepts. Use when given a book file path to process.
日本語の概要は準備中です。原文の説明を表示しています。
Process an online course into detailed vault notes — one per lecture, with slides and transcripts synthesized. Use this skill whenever the user shares a course URL, syllabus page, or lecture playlist and wants structured notes from it. Also triggers on "process this course", "take notes on these lectures", "course notes", any university course page, or when someone pastes a link to a course with multiple lectures/sessions. Even if the user just says "check out this course" or drops a .edu link with a schedule — use this skill.
日本語の概要は準備中です。原文の説明を表示しています。
Deep, iterative, multi-source research that explores a topic from multiple perspectives, detects contradictions, and produces a comprehensive vault note with fact-level citations and a confidence map. Use this skill whenever the user says /deep-research, "deep research X", "research X thoroughly", "investigate X deeply", "I need to really understand X", or wants research that goes beyond a quick web search. Also use when the user wants to understand a complex, contested, or multi-faceted topic, compare competing approaches with evidence, or build a comprehensive mental model they can trust for decisions. This is heavier than /research — it searches web, academic papers, Reddit, and the vault, then loops through exploration and critique rounds until the evidence base is solid. When in doubt between /research and /deep-research, prefer this one if the topic is complex, contested, or the user wants depth over speed.
日本語の概要は準備中です。原文の説明を表示しています。
Initialize an Obsidian vault with the agent-ready Zettelkasten system — creates directory structure, templates, CLAUDE.md, MCP config, and hooks
日本語の概要は準備中です。原文の説明を表示しています。
Extract transcript and key slides from a local video file, then create a vault-formatted lecture note. Use this skill whenever a user provides a local video file (.mp4, .mov, .mkv, .avi, .webm) and wants notes from it. Triggers on "lecture", "take notes", "I have a recording of", "class video", "transcribe this presentation", "process this video for notes", or /lecture. Works with any language — auto-detects transcript language.
日本語の概要は準備中です。原文の説明を表示しています。
Use when searching for academic papers related to a topic, finding papers similar to one already in the vault, or discovering research gaps. Triggers on "find papers", "related papers", "paper search", "literature", "what papers should I read about X".
日本語の概要は準備中です。原文の説明を表示しています。