Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/tobyilee/course-builder/asset-buildnpx skills add tobyilee/course-builder --skill asset-buildgit 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/skills/tobyilee/course-builder/asset-build)<a href="https://agentmods.dev/skills/tobyilee/course-builder/asset-build"><img src="https://agentmods.dev/badge/skills/tobyilee/course-builder/asset-build.svg" alt="Measured on agentmods" 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.00050 | $0.01377 |
| Opus 5 | $0.00025 | $0.00688 |
| Sonnet 5 | $0.00010 | $0.00275 |
| Haiku 4.5 | $0.00005 | $0.00138 |
Grade C, and why
asset-build scanned grade C with 1 finding 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 5d 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.
Recursive force deletehighDestructive command
rm -rf with a variable or a broad path is one typo away from removing the wrong tree.
rm -rf course/build How it starts
The opening of the file, as written. The whole thing — 154 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Asset Build — Deployable Bundle
coherence-reviewer가 overall: "pass" 판정한 뒤 수행. Idempotent — 여러 번 돌려도 결과 동일.
실행 조건
_workspace/99_coherence_report.json의overall == "pass"- 아니면 거부:
BUILD_REFUSED: coherence not passed
빌드 순서
1. 환경 검증
marpCLI 설치 확인xmllint또는 fallback 경로 확인zip설치 확인
2. Marp 전체 재렌더
모든 slide.source.md를 재렌더하여 slide.html을 갱신.
이유: 중간에 슬라이드만 수정되었을 수 있으므로 항상 최신 상태 보장 (idempotency).
find course/sections -name slide.source.md -print0 | while IFS= read -r -d '' f; do
dir=$(dirname "$f")
marp --html --allow-local-files "$f" -o "$dir/slide.html"
done
3. SSML 검증
존재하는 transcript.ssml 각각에 대해 validate-ssml.sh 실행.
실패는 WARNING으로 격하 (txt는 항상 유효).
4. Quiz schema 검증
각 quiz.json 비즈니스 룰 검증:
- items 길이 5~9
- mcq_single의 correct 길이 == 1
- mcq_multi의 correct 길이 2~3
- 모든 item.explanation 비어있지 않음
- bloom_distribution 키 집합 유효
5. Manifest 합성
course/manifest.json:
{
"course": {
"topic": "...", "audience": "...",
"depth": "...", "language": "ko", "tone": "...",
"total_duration_min": 120,
"build_ts": "2026-04-22T14:30:00Z",
"harness_version": "1.1.0"
},
"learning_objectives": [ /* from _workspace/01_architect_learning_objectives.json */ ],
"sections": [
{
"id": "S1", "slug": "01-intro", "title": "...",
"lo_ids": ["LO-1.1","LO-1.2"],
"quiz_path": "sections/01-intro/quiz.json",
"classes": [
{
"id": "S1.C1", "slug": "01-what-is-rsc", "title": "...",
"lo_ids": ["LO-1.1"],
"assets": {
"slide_source": "sections/01-intro/classes/01-what-is-rsc/slide.source.md",
"slide_html": "sections/01-intro/classes/01-what-is-rsc/slide.html",
"note_md": "sections/01-intro/classes/01-what-is-rsc/note.md",
"transcript_txt": "sections/01-intro/classes/01-what-is-rsc/transcript.txt",
"transcript_ssml": "sections/01-intro/classes/01-what-is-rsc/transcript.ssml"
}
}
]
}
],
"stats": {
"sections": 4, "classes": 10, "total_slides": 45,
"lo_count": 14,
"bloom_distribution": {"Remember":2,"Understand":4,"Apply":5,"Analyze":3},
"estimated_audio_duration_sec": 7200
},
"asset_errors": []
}
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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.
- 5d ago First seen · 154 lines · 50 tokens per session scan C dc462cc5c249
asset-build is a skill published in the GitHub repository tobyilee/course-builder (22 stars, last pushed 4mo ago), licensed MIT. It adds 50 tokens to every session and 1,377 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it C with 1 finding (recursive force delete). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
hr-onboarding
A new-hire onboarding plan as a single page — first week schedule, buddy + manager intro, learning track, equipment checklist, and "you're set when…" outcomes. Use when the brief mentions "onboarding", "new hire", "first week plan", or "入职".
book-mirror
Take any book (EPUB/PDF), produce a personalized chapter-by-chapter analysis. Each chapter is preserved in detail (The Chapter) and mirrored back to the reader's actual life (The Mirror) using brain context. The mirror observes and resonates — a friend pointing out parallels, NOT a consultant rearranging the reader's…
miniapp
Build a tiny interactive HTML playground only when someone asks to see, play with, or step through a mechanism.
eli5
Explain research, papers, or technical ideas in plain English with minimal jargon, concrete analogies, and clear takeaways. Use when the user says "ELI5 this", asks for a simple explanation of a paper or research result, wants jargon removed, or asks what something technically dense actually means.
deck-course-module
暖纸背景 + Playfair, 左侧学习目标常驻, 含 MCQ 自测页.
best-practices
Searchable knowledge base of 152+ programming best practices across 30+ languages and frameworks. BM25-powered search over curated resources from industry leaders (Google, Airbnb, Uber, Mozilla, Shopify, OWASP).