# Supercontent

> Create or review Korean K-12 learning media aligned to curriculum and age level, including videos, animations, posters, interactive activities, slides, games, audio, and worksheets. Also create, read, extract, or convert docx, pptx, pdf, and hwpx documents.

- Skill: `cskwork/supercontent` (Agent Skill, multi-file: 5 files)
- Install (CLI): `npx skillmds@latest add cskwork/supercontent`
- Raw SKILL.md: https://api.skillmd.com/api/skills/cskwork/supercontent/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Docs & Writing
- Author: cskwork (https://skillmd.com/u/cskwork)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/cskwork/supercontent

---


# /supercontent - curriculum-aligned content kids enjoy

Intent -> grade-band-aware medium that fits -> content kids enjoy -> verified against a deterministic education-fit gate. One-line copy tweak on an existing piece: skip this skill, edit directly.

## Core principles

- Curriculum first, fun second - but fun is not optional. Every piece locks to a 성취기준 and an objective; engagement is how it lands, never the goal itself.
- Read intent first. Build to the brief (학년/과목/단원/성취기준/audience), never to a default template.
- Trend-aware != trend-chasing. Apply only what engages the grade band AND stays on-curriculum and safe. Record the trend read, dated.
- Education-fit enforced, not eyeballed. Every piece passes `edu-gate.sh` (curriculum + safety + read-level + korean + integrity + contrast). The Builder never self-approves.
- Never fabricate. No invented citation, statistic, figure, date, or historical fact - source it or cut it. Missing render/TTS/image tool -> documented placeholder, never faked media.
- Safe for minors. Forbidden topics/vocab per band, no PII, no emoji, Korean CommonMark blank-line spacing + 어절 띄어쓰기·맞춤법 correct. 안전/저작권/개인정보 override fun, always.
- Self-contained + graceful fallback. Quality tools (Codex image, premium TTS, Flow video) are the default per project choice; every stage degrades to a Claude-Code-only path and logs the substitution.
- Hard stops. Publishing content for minors (LMS/channel/post), sending student data to an external service, or any destructive step needs explicit consent. Ambiguous brief -> one question; non-interactive -> conservative read, assumption logged.

## Mode (classify the content intent, state it in one line)

State e.g. `Making this as: VIDEO for 초5 과학, 빛의 굴절 [6과05-01], 90초 explainer`.

| Signal | Mode | Approach | Powered by (primary -> fallback) |
|---|---|---|---|
| short video / explainer / 쇼츠 / 영상으로 / 애니메이션 설명 | VIDEO | research -> script -> scene plan -> assets -> narrate -> render | autopilot stage-loop + TTS + render (`reference/video.md`); Ken-Burns fallback |
| math/science animation / 수식 애니메이션 / 그래프 / 도형 증명 | MANIM | reverse-prereq -> storyboard -> scene-spec -> render MP4 | Math-To-Manim, ManimCE + XeLaTeX KO font (`reference/manim.md`) |
| poster / 안내문 / 인포그래픽 / 학습 포스터 / 게시판 | POSTER | direction -> single print-safe layout, computed contrast | asset chain -> HTML->PDF (`reference/poster.md`) |
| interactive HTML / 인터랙티브 / 학습 위젯 / 퀴즈 / 시뮬레이션 | WEB | direction -> self-contained HTML/CSS/JS, a11y + contrast | Claude Code direct (`reference/web-interactive.md`) |
| slide deck / PPT / 수업 자료 / 차시별 슬라이드 / 발표 | SLIDES | confirm spec (학년/차시/장수) -> aligned slides -> editable PPTX | presenton REST -> PPT Master -> reveal.js (`reference/slides.md`) |
| game / 게임으로 / 3D / 인터랙티브 게임 / 카드 매칭 / 드래그 학습 | GAME | direction -> single-file playable, objective-locked | Claude Code direct (Three.js/Phaser/canvas) (`reference/game.md`) |
| narrated audio / 오디오 / 듣기 자료 / 팟캐스트 / 동화 구연 | AUDIO | script -> sentence-level TTS -> optional ducked BGM | premium TTS -> Supertonic local (`reference/audio.md`) |
| document / 보고서 / 제안서 / 학습지 / 평가지 / 가정통신문 / docx / pdf 문서 / 한글 hwpx / .pptx 정밀 / 문서 읽어줘 / pdf 표 추출 / 문서 변환 | DOCS | 형식 판별 -> 생성·읽기·변환 분기 -> 대상(교육/업무)별 게이트 | python-docx·python-pptx·WeasyPrint·python-hwpx (생성), pdfplumber·pypdf·python-hwpx (읽기), LibreOffice+H2Orestart (변환) (`reference/docs.md`) |
| repurpose existing video / 기존 영상 자막으로 / 영상 요약 / 받아쓰기 | REPURPOSE | ingest transcript -> chunk to beats -> re-author for grade | youtube-transcript-api (`reference/repurpose.md`) -> routes to a build mode |
| critique only / 검수 / 이거 학년에 맞아? / 평가만 | REVIEW | run gates on existing content, edit nothing | `edu-gate.sh` + critic (`reference/review.md`) |
| explore / 어떤 형식이 좋을까 / 방향 잡아줘 | EXPLORE | 2-4 divergent format directions, no commit | trend-scout + format catalog (`reference/explore.md`) |

Tie-breaks (one mode wins): "검수하고 고쳐줘" -> the build mode for that medium (REVIEW never edits). "방향 잡고 만들어줘" -> EXPLORE; build only after the user picks. "영상인데 수식 애니 필요" -> VIDEO owns it, MANIM is a sub-asset; MANIM-only when the animation IS the whole deliverable. REPURPOSE always produces an intermediate, then routes to a build mode. 발표/차시 deck (screen-projected, presenton AI 초안) -> SLIDES; 정밀 셀·표·서식 제어가 필요한 단일 .pptx 파일 산출, 또는 docx/pdf/hwpx 본문 문서 -> DOCS. 기존 문서(pdf/docx/pptx/hwpx) 읽기·표 추출·형식 변환 -> DOCS (REPURPOSE는 영상 자막 전용).

## Default loop (build modes) - role-separated

Keep Builder and critic roles separate. A single piece runs inline with a fresh re-read for critique. For multiple pieces, delegate independent production only when it reduces total work; piece count alone does not require agents. Preserve the education-fit critique for every piece.

**Vault** = one work dir per content piece, default `.supercontent/<piece>/`: holds `content-brief.md`, `trend-pulse.md`, `claims.md`, `curriculum-claims.json`, `facts.json`, `contrast-pairs.json` (seed from `templates/`; the JSONs from `templates/*.example.json`). `templates/edu-gate.sh <vault> [<source files>]` reads it - no vault, no gate. Create it at step 1.

1. **Read (brief).** Infer 학년 band (초저/초고/중/고), 과목, 단원/차시, 성취기준 code, learning objective, reading level, format constraints, quiet constraints (안전/저작권/개인정보 override fun). State the one-line Read. 성취기준 is mandatory - if the user has none, propose the closest standard and flag it for teacher confirmation. Two reads diverge -> ask ONE question; non-interactive -> conservative read + logged assumption. Record in the vault. (`reference/content-brief.md`, `reference/curriculum-map.md`)
2. **Trend pulse.** `WebSearch` what engages this grade band now (formats, safe current references). Failure -> `reference/trend-snapshot.md` (dated, warned stale). Reuse a same-band pulse <=30 days. Record dated in the vault. (`reference/trend-research.md`)
3. **Direction.** Set dials `FUN_INTENSITY` / `COGNITIVE_LOAD` / `SCAFFOLDING`. Pick ONE format family + medium; load that medium's reference. (`reference/curriculum-map.md` for sequencing)
4. **Build (Builder).** Implement to `reference/pedagogy-core.md` (always authority) + the chosen medium. Real assets + render via `reference/assets.md` and `reference/tools.md`; never fabricate a fact or media. Wire reduced-motion, computed contrast, Korean CommonMark spacing + 어절 띄어쓰기·맞춤법, no emoji. No self-approval; append `claims.md` + the vault JSONs per piece. (`agents/builder.md`)
5. **Education-fit critique (independent; no content edits).** Re-read `pedagogy-core.md` + `safety-rules.md`. Enumerate every claim/term/sentence/text-bg pair into the vault JSONs. Run `templates/edu-gate.sh`. Then judge what scripts cannot see: factual soundness, age-appropriate framing, pedagogical fit, Korean naturalness. Log every violation. (`agents/edu-critic.md`)
6. **Verify.** Fix each violation, smallest change; re-run until green. Report passes with command output. Cap: 3 critique->fix cycles; same rule still failing -> stop, report remaining honestly (e.g. "어휘 난이도 4건 미해결 - 교사 검토 필요").

Roles -> personas: build=`agents/builder.md`, critique=`agents/edu-critic.md`, trends=`agents/trend-scout.md`, assets/render=`agents/asset-producer.md`, DOCS build=`agents/doc-producer.md`.

## Mode contract (deliverable + done-when)

No-build modes (REVIEW/EXPLORE): load the mode's reference, deliver its row, skip the loop.

| Mode | Deliverable | Verified by |
|---|---|---|
| VIDEO / MANIM / AUDIO | media file + vault + captions/script | `edu-gate.sh` green (contrast skipped for audio); render or documented placeholder |
| POSTER / WEB / SLIDES / GAME | content file(s) + vault | `edu-gate.sh` green incl. `contrast-gate.mjs` on every pair |
| DOCS | document file(s) (docx/pptx/pdf/hwpx) + vault (+변환 산출물) | 교육 대상 문서 -> `edu-gate.sh` green; 업무 문서 -> `doc-gate.sh` green (safety+korean+integrity, +contrast when pairs declared); 라이브러리/변환 부재 시 문서화된 placeholder |
| REPURPOSE | re-authored intermediate (beats + grade-leveled text) + source attribution | transcript sourced; routes to a build mode which runs the gate |
| REVIEW | findings report (gate verdicts + severity, file:line, fix) | gates ran on the input; zero edits |
| EXPLORE | 2-4 divergent format directions + one recommendation | directions genuinely differ; nothing built |

## Reference map (load only what the phase needs; each mode's reference sits in the Mode table)

| Read | When |
|---|---|
| `reference/content-brief.md` | Read: infer brief, one-line read, single question |
| `reference/curriculum-map.md` | Read/Direction: 학년/과목/단원/성취기준 mapping + sequencing |
| `reference/pedagogy-core.md` | Build + Critique: always-on teaching + Korean-style authority |
| `reference/safety-rules.md` | Critique: forbidden topics/vocab per band, PII, links (behind safety-gate) |
| `reference/trend-research.md` | Trend pulse: search, evaluate (engagement vs safety), record |
| `reference/trend-snapshot.md` | Trend pulse fallback: dated offline snapshot + refresh |
| `reference/docs.md` | DOCS hub: 형식별 reference를 여기서 링크 |
| `reference/assets.md` | Build: image + media fallback chain, no-fabrication rule |
| `reference/tools.md` | Build: Gemini/Codex/Claude per stage, install, fallback |
| `reference/sources.md` | Repo sources, licenses, attribution |

## Completion

Meet the selected mode's deliverable and verification row; build modes also require no HIGH critic finding. Report gate output, unresolved placeholders, and any teacher confirmation still needed. Keep changes within the brief and obtain explicit consent for publishing, external student-data transfer, or destructive actions.

