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/hyexe/codex-plugins/create-interactive-slidesnpx skills add HYEXE/codex-plugins --skill create-interactive-slidesgit clone --depth 1 https://github.com/HYEXE/codex-pluginsWhat 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 | $0.00095 | $0.02660 |
| Opus 5 | $0.00048 | $0.01330 |
| Sonnet 5 | $0.00019 | $0.00532 |
| Haiku 4.5 | $0.00010 | $0.00266 |
Grade A, and why
create-interactive-slides 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 yesterday.
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 — 133 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Interactive Slides Creator
발표의 핵심 메시지가 인터랙션보다 먼저다. 모든 슬라이드를 움직이게 만들지 말고, 조작이 이해·비교·기억·시연 안정성을 실제로 높이는 경우에만 인터랙션을 넣는다. 시연형은 일반 슬라이드 이동과 장면 내부 재생을 분리한다.
입력과 산출물
발표문, 대상 청중, 발표 목적, 시간, 브랜드 자료와 원하는 모드를 확인한다. 결과를 크게 바꾸지 않는 정보는 안전한 기본값을 사용하고 완료 보고에 가정을 남긴다. 사실·수치·인용은 제공된 자료를 보존하며 출처 없이 만들지 않는다.
기존 발표의 범위가 명확한 소규모 수정은 해당 파일에 바로 구현할 수 있다. 새 발표는 아래 proposal-first gate를 거치고, 발표가 길거나 출처가 많거나 여러 시연 장면이 있으면 assets/templates/presentation-brief.md와 assets/templates/storyboard.md를 실제 정보로 채워 판단 근거를 보존한다. 작은 수정에 계획 문서를 기계적으로 추가하지 않는다.
기본 산출물은 다음 파일을 가진 독립 디렉터리다.
presentation/
|-- presentation-brief.md 선택: 복잡한 발표의 목표·제약
|-- storyboard.md 선택: 장면별 제작 계약
|-- production-proposal.md 필수: 승인된 범위와 완료 기준
|-- design-plan.json 필수: 승인 범위에 고정된 제작 결정
|-- index.html
|-- styles.css
|-- deck.js
|-- scenes.js
`-- presentation.js
assets/starter/를 복사한 뒤 deck.js의 콘텐츠와 필요한 시각 스타일을 발표에 맞게 바꾼다. 프레임워크나 빌드 도구는 기존 프로젝트 또는 사용자가 요구할 때만 도입한다.
제작 흐름
새 발표는 proposal과 design plan이 승인·검증된 뒤 starter를 수정한다.
- 긴 발표문이나 근거가 많은 발표는 references/content-to-storyboard.md에 따라 주장, 근거, 전환, 시간과 장면 목표를 먼저 구조화한다.
- 발표 시간에서 질의응답과 실제 시연 여유를 빼고 슬라이드 수와 밀도를 정한다.
- 사용자가 지정한
experience또는demo모드를 따른다. 새 발표에서 모드가 없다면 임의로 추론하지 말고 두 옵션의 차이를 설명해 하나를 선택받는다.demo에서는 일반 Deck Controller와 장면별 Scene Controller를 분리한다. - 승인 proposal을 references/design-plan-contract.md에 따라
design-plan.json으로 컴파일한다. 제안서 SHA, 승인 slide ID, mode, art direction, slide family와 scene 선택 근거를 고정한다. - references/interaction-selection.md의 Interaction Value Gate를 통과한 장면만 인터랙티브하게 만들고 채택·제외 이유를 design plan과 storyboard에 기록한다.
- 발표문을 그대로 화면에 복사하지 말고 화면용 핵심 문장과 speaker notes를 분리한다.
- starter의
deck.js를 실제 콘텐츠로 교체하고 placeholder를 남기지 않는다. - references/rehearsal-and-fallback.md에 따라 정상 진행, replay, skip, 실패와 정적 fallback을 리허설한다.
scripts/validate_deck_project.py <presentation-directory>를 실행하고 로컬 브라우저에서 선택된 모드, 키보드, 작은 화면과prefers-reduced-motion을 검증한다. 보지 못한 렌더링이나 실행 결과를 성공했다고 말하지 않는다.
What ships with it
32 files 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.
- agents/openai.yaml 265 B
- assets/icon.svg 481 B
- assets/starter/deck.js 11 KB runs code
- assets/starter/index.html 4.5 KB
- assets/starter/presentation.js 19 KB runs code
- assets/starter/scenes.js 17 KB runs code
- assets/starter/styles.css 17 KB
- assets/templates/presentation-brief.md 828 B
- assets/templates/storyboard.md 1.1 KB
- evals/forward/cases.json 1.8 KB
- evals/forward/fixtures/demo-release-control-room/deck.js 6.6 KB runs code
- evals/forward/fixtures/experience-scenario-lab/deck.js 6.4 KB runs code
- references/authoring-intake.md 2.2 KB
- references/content-to-storyboard.md 2.7 KB
- references/deck-schema.md 4.4 KB
- references/design-plan-contract.md 3.8 KB
- references/interaction-selection.md 2.6 KB
- references/mode-contracts.md 2.6 KB
- references/proposal-workflow.md 6.0 KB
- references/rehearsal-and-fallback.md 2.1 KB
- references/scene-lifecycle.md 2.0 KB
- references/scene-recipes.md 3.1 KB
- references/visual-quality-system.md 4.2 KB
- scripts/eval_forward_fixtures.py 15 KB runs code
- scripts/validate_deck_project.py 8.1 KB runs code
- scripts/validate_design_plan.py 18 KB runs code
- scripts/validate_production_proposal.py 13 KB runs code
- scripts/validate_starter.py 5.3 KB runs code
- templates/design-plan.json 1.5 KB
- templates/presentation-intake.md 940 B
- templates/production-proposal.md 2.8 KB
- templates/proposal-feedback.md 786 B
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.
- yesterday First seen · 133 lines · 95 tokens per session scan A cca0e765654b
create-interactive-slides is a skill published in the GitHub repository HYEXE/codex-plugins (1 stars, last pushed yesterday), licensed Apache-2.0. It adds 95 tokens to every session and 2,660 once invoked, about $0.0005 per session on Opus 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-31.
Other skills, from other repositories
research
Read-only external knowledge gathering via ODIN's 5-tier doc ladder (Official docs → API refs → Books/papers → Tutorials → Community). For library APIs, framework behavior, SDK migrations, version-specific docs, vendor announcements, RFCs. Verifies claims against primary sources. Invoke on "how does X library work"…
normalize-yonsei-courses
Query authorized Yonsei Underwood handbook rows directly, then normalize them or fallback screenshot, PDF, spreadsheet, pasted table, export, or JSON into stable course-planning data. Use when course data has Korean or English fields, campus aliases, Korean weekday/time strings, mixed section identifiers, or needs…
calculate-yonsei-graduation-progress
Read the student's authorized Underwood credit-progress table and calculate advisory Yonsei graduation progress from official entry-year, college, and major requirements. Use when a student asks what graduation requirements are complete, what credits or required courses remain, or whether a planned course can fill a…
plan-yonsei-mileage-strategy
Read a student's authorized Underwood mileage history and combine it with current capacity, applicant counts, catalogue data, tie-break context, graduation importance, and alternatives to plan a risk-aware Yonsei course-registration strategy. Use when a student asks how much mileage to put on each course or wants a…
list-learnus-courses
Read the authorized user's live LearnUs dashboard first and return the visible course index as a deduplicated structured list; use a user-supplied screenshot, pasted page, export, or JSON only when the live page is unavailable or intentionally supplied. Use when the user asks which LearnUs courses they have, wants…
manage-learnus-session
Connect to Yonsei LearnUs in the student's persistent browser profile, reuse the official portal login, and recover from session expiry without receiving credentials in chat. Use when LearnUs login is required, a browser session expired, or the student asks to stay signed in; use the optional terminal session only…