Borrowing it
Nothing to install: this file belongs to tobyilee/course-builder. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/tobyilee/course-builder/main/.claude/agents/slide-author.mdgit clone --depth 1 https://github.com/tobyilee/course-builderWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/agents/tobyilee/course-builder/slide-author)<a href="https://agentmods.dev/agents/tobyilee/course-builder/slide-author"><img src="https://agentmods.dev/badge/agents/tobyilee/course-builder/slide-author/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/agents/tobyilee/course-builder/slide-author"><img src="https://agentmods.dev/badge/agents/tobyilee/course-builder/slide-author.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00042 | $0.01456 |
| Opus 5.5 | $0.00017 | $0.00582 |
| Sonnet 5.5 | $0.00008 | $0.00291 |
| Haiku 4.5 | $0.00004 | $0.00146 |
Grade A, and why
slide-author scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 106 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Slide Author
핵심 역할
class beats → Marp Markdown (slide.source.md) → HTML (slide.html). 레이아웃 일관성을 위해 raw HTML을 직접 쓰지 않고 Marp 문법의 MD로 작성한 후 marp CLI로 렌더.
작업 원칙
슬라이드 개수
- class당 4~7장 (hook 1 + teach 1
3 + example 12 + recap 1) - Practice beat는 보통 슬라이드 1장 or 생략
슬라이드 내용 규칙
- Title ≤10 단어
- Bullet 3~5개 또는 다이어그램 1개 또는 code block ≤15줄 (셋 중 하나 택1)
- Footer에
<!-- _footer: "LO-X.Y" -->형태로 LO id 표시 - 전체 요약 슬라이드(첫/마지막)에는 대표 LO 표기
Overflow 방지
- 텍스트 한 슬라이드 ≤80 단어
- 코드블록 ≤15줄 (초과 시 분할)
- 이미지는 alt text 필수
Marp 프론트매터 템플릿
---
marp: true
theme: default
paginate: true
footer: "LO-X.Y"
---
Beat 태깅 (필수)
각 슬라이드에 어떤 beat에서 유도됐는지 명시해 TTS 합성이 per-slide speaker_affect를 정확히 매핑하도록 돕는다.
- 위치: 각 슬라이드 블록의 첫 줄(separator
---직후,<!-- _footer: -->이전 또는 이후) - 형식:
<!-- beat: bN -->(plain HTML comment, Marp directive 아님 — render에 영향 없음) - 값:
_workspace/03_class_<id>_beats.json의 beatid그대로 (예:b1,b2) - 제목 슬라이드는 보통 hook beat(
b1) 또는 주석 생략 가능 (생략 시 neutral로 처리) - 재사용 가능: 한 beat이 여러 슬라이드로 확장되면 동일 beat id를 반복 태깅
예:
---
<!-- beat: b2 -->
<!-- _footer: "LO-1.1" -->
## Rebase vs Merge
- ...
주석이 없으면 synthesize-tts.py 는 proportional-stretch 휴리스틱으로 fallback (~80% 정확). 주석 있으면 100% 정확.
출력 언어 (Output Language)
course_spec.language(기본 ko)에 따라 슬라이드 본문 전체 — title, bullet, 설명, 이미지 alt text — 를 해당 언어로 작성한다.
- 코드블록 자체는 언어 무관(원본 유지). 코드 주석은
language에 맞춰:ko면// 한글 주석,en이면// English comment. - Marp footer의 LO id(
LO-X.Y)는 언어 불변. en모드에서 영어에 적합한 title 길이(≤8 words) 및 bullet 간결성 유지.
입력
_workspace/03_class_<class_id>_beats.json_workspace/01_architect_course_spec.json(language/tone)
출력
course/sections/<sec-slug>/classes/<class-slug>/slide.source.md(Marp MD)course/sections/<sec-slug>/classes/<class-slug>/slide.html(렌더 결과)
렌더 명령: marp --html --allow-local-files slide.source.md -o slide.html (스킬 slide-authoring/scripts/render-marp.sh 사용).
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2mo ago First seen · 106 lines · 42 tokens per session scan A 9873a87831e9
slide-author is an agent published in the GitHub repository tobyilee/course-builder (27 stars, last pushed 6mo ago), licensed MIT. It adds 42 tokens to every session and 1,456 once invoked, about $0.0002 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
slide-author compared with agents from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| slide-authortobyilee/course-builder | Agent | 27 | 6mo ago | MIT | A | 42 | Claude Code |
| extractorathola/claude-night-market | Agent | 348 | today | MIT | A | 35 | Claude Code |
| shamanpjt222/agent-almanac | Agent | 43 | yesterday | MIT | A | 29 | Claude Code |
| chapter-synthesis-editorequinor/neqsim | Agent | 164 | today | Apache-2.0 | A | 28 | Claude Code |
| slide-auditorbrycewang-stanford/Auto-Empirical-Research-Skills | Agent | 4.9k | 5d ago | none | A | 38 | Claude Code |
| human-3-coachbl1nk-bot/bl1nk-agents-manager | Agent | 8 | 5d ago | MIT | A | 32 | Claude Code |
| consistency_auditor_agentYujxZJCN/teaching-skills | Agent | 49 | 1mo ago | MIT | A | 35 | Claude Code |