preprep

preprep is a skill for Claude Code, Codex from chrono-meta/forge-harness. It costs 216 tokens per session (5,930 once invoked), scanned A, original, MIT.

A Korean-language presentation-preparation workflow that develops a topic through questions, proposes several story structures, and keeps slides, speaker notes, scripts, and related documents aligned.

In plain words
What is it for?
It helps prepare Korean presentation decks and scripts, synchronize technical documents and notes, rehearse the spoken material, and run final checks before delivery.
Why use it?
It catches problems that appear between presentation materials, such as mismatched references, broken slide dependencies, lost edits after regeneration, awkward translations, and unexplained new terms.

Skill for Claude CodeCodex

Part of the fh-commons plugin — 6 skills, 1 agent shipped together

Install

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.

agentmods
npx agentmods add skills/chrono-meta/forge-harness/preprep
Any agent
npx skills add chrono-meta/forge-harness --skill preprep
Clone the repo
git clone --depth 1 https://github.com/chrono-meta/forge-harness

Made for: Claude Code, Codex.

Or install fh-commons, the plugin that ships this one along with the rest of its 6 skills, 1 agent.

Wrote 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.

agentmods badge for preprep

README.md
[![agentmods](https://agentmods.dev/badge/skills/chrono-meta/forge-harness/preprep.svg)](https://agentmods.dev/skills/chrono-meta/forge-harness/preprep)
Your own site
<a href="https://agentmods.dev/skills/chrono-meta/forge-harness/preprep"><img src="https://agentmods.dev/badge/skills/chrono-meta/forge-harness/preprep.svg" alt="Measured on agentmods" height="20"></a>
Per session 216 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 5,930 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5 $0.00216 $0.05930
Opus 5 $0.00108 $0.02965
Sonnet 5 $0.00043 $0.01186
Haiku 4.5 $0.00022 $0.00593

Measured today against content hash 5eec2e3e2435, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

preprep 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 today.

The scan reads SKILL.md. This mod also ships 6 executable files (interslide_deps.py, lane_adjacent_dup.py, lane_progression.py, …), listed below but not scanned — reading those needs a real analyzer, not pattern matching.

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.

plugins/fh-commons/skills/preprep/SKILL.md · 215 lines

How it starts

The opening of the file, as written. The whole thing — 215 lines — stays where its author put it; the contents beside it link to each section on GitHub.

preprep — 한국식 발표대본·장표 준비 하네스

특화가 한국식인 이유는 장식이 아니다. 낭독 대본의 존댓말 레지스터, 조어를 첫 등장에 풀어주는 관습, 어절 중간에서 끊기지 않는 줄바꿈, 영어 직역이 남긴 번역투 — 이것들은 한국어 발표에서만 하중을 지고, 영어권 디자인 렌즈가 구조적으로 못 잡는다.

🟥 왜 «별도 하네스»여야 하나 — 스킬 하나로는 안 되는 자리

운영자 정의(2026-08-29): 「발표자료를 짓고 대본도 동기화하고 관련된 기술문서도 싱크하여 출하할 수 있게 하는 능력이 하네스를 별도로 두어야 하는 이유의 정체다.」

기존 스킬은 전부 표면 하나를 본다 — deep-clarify 는 요구를, ko-tech-writer 는 산문 한 편을, corpus-grounding-expander 는 코퍼스를. 🟥 셋이 같이 움직이는 것과 «출하 가능 상태»를 아무도 소유하지 않는다. 그 자리가 이 하네스다.

장표 ── 대본 ── 기술문서        셋은 «같은 것의 세 면»이지 세 문서가 아니다
  └──────┴──────┘
     동기화 + 출하 가능 상태 ← 여기를 소유하는 것이 이 하네스의 정체

그래서 레인 중 셋(L2 unit-ref · L7 regen · L8 interslide)이 표면 사이를 본다. 한 면만 보는 도구로는 구조적으로 못 잡는 자리이고, 실측이 그것을 세 번 보여줬다 — 재생성이 발표자 노트 20곳을 삼켰는데 빌드는 성공했고, S8 을 빼자 S9 가 성립 불가가 됐는데 렌더를 한 장씩 다 봐도 구조적으로 안 잡혔고 운영자가 잡았으며, 도해에 구워진 텍스트는 XML 을 읽는 눈에 구조적으로 안 보였다.

발표는 자산군이다. 덱 하나가 아니라 덱 + 원고 + 발표자 노트 + 기술문서 + Q&A prep + 초록 + 리허설 대본이고, 그것들이 서로 어긋나는 자리에서 사고가 난다. 한 장씩 봐서는 안 잡힌다 — 눈은 표면 하나를 보고 결함은 표면 사이에 있다.

🟥 이 하네스는 «검사기»가 아니다 — 레인은 마지막에 오는 바닥이다

운영자 정의(2026-08-29): 「위치 틀어짐, 일관성 없음, 번역투 등의 문제가 없고 구성을 잘 만들어내면 되겠지. 기승전결에 맞게끔 구성도 도와주고. 결국 많이 물어봐서 기초를 세우고 그것 기반으로 만들어서 퇴고를 하는 식일 거야. … 결국에는 취향이 중요하니까.」

그래서 무게중심은 만들기 전과 만드는 중에 있고, 레인 아홉은 산출물이 아니라 floor 다. 레인이 초록이라고 좋은 발표가 아니다. 레인이 빨가면 나갈 수 없을 뿐이다.

무엇 누가 정하나
기계가 알아서 번역투 · 위치 틀어짐 · 논지 안 맞음 · 내용 순서 🟥 묻지 않고 최적화한다. 여긴 사람 시간을 쓸 자리가 아니다
사람과 대화로 알맹이 — 아이콘 하나, 대본을 취향에 맞춰 고치기, 주제 · 구성 · 전개 · 디자인 🟥 절대 피할 수 없다. 자동으로 정하면 그게 틀린 것이다

운영자 정의(2026-08-29): 「사람의 손이 번역투나 위치 틀어짐, 논지 안 맞음, 내용 순서에 맞는지를 최적화 알아서 시켜주고, 그 안의 디테일한 알맹이들을 … 사람과의 소통으로 맞춰나가는 것. 이건 절대 피할 수 없지.

🟥 두 층은 실패 방향이 반대다. 위는 «물어보면 마이너스»다 — 번역투를 고칠까 묻는 것 자체가 사람 시간을 쓰는 것이고 기계가 그냥 해야 한다. 아래는 «안 물으면 마이너스»다 — 아이콘 하나, 대본 한 줄의 말맛은 물어봐야만 맞는다. 어느 쪽을 반대로 하면 하네스가 방해물이 된다.

«알아서 커버» 가 지금 어디까지 되나 — 정직하게

운영자가 든 예시로 그대로 대조한다. 일일이 지적 안 해도 커버되어야 하는 것들이다.

운영자 예시 지금 무엇이 보나
위치가 어긋나 있다 🟢 덮인다 ooxml/gate.py ⑥ 화면 밖 도형 ⚠️ 그 검사에 붙은 사고 수치(26p · 1,854,400 EMU)는 gate.py 자신의 인라인 주석 말고 대조할 기록이 없다 — 거짓이라는 뜻이 아니라 독립 출처가 없다는 뜻이다
번역투 🟢 덮인다 ⑤에서 ko-tech-writer Step 2
주어가 빠져 있다 🔴 미구현 (판별자는 있다) 🟥 «패턴만으로는 못 한다»고 적었던 것을 정정한다 — 판별자가 이미 실재한다: 주어 생략의 가부는 문장이 아니라 화면이 정한다. 그 문장이 뜨는 화면에 참조 대상이 있으면 생략이 맞고, 참조 대상이 사라지는 장에서 복원한다. 화면 텍스트는 이미 추출되므로 이건 judged 가 아니라 measured 후보다. 다만 복원/유지는 4등급으로 갈린다 (목적어=복원 · 주어+신정보=복원 · 주어+구정보=그대로 둔다 · SOV 재배열) — 전부 복원하면 번역투를 새로 만든다. 미구현 상태다
화면이 너무 비어 보인다 🔴 미구축 gate.py 는 «밖으로 나갔나»를 보지 «안이 비었나»를 안 본다. 🟥 정정 2026-09-01 — 「pptx→PDF 가 끊긴다」는 거짓이었고, 그 오진이 이 항목을 막고 있었다. known-pair: soffice 부재는 (which soffice → not found · LibreOffice.app 없음) · pdftoppm 실재는 (/opt/homebrew/bin/pdftoppm) — 그런데 PowerPoint AppleScript save as PDF 로 120장 덱이 실제로 12회 렌더됐다(/tmp/v11*.pdf 12개, 최신본 120페이지 %PDF-1.3, 2026-09-01 실측). ⇒ 끊긴 것은 **「LibreOffice 경로」**지 **「pptx→PDF」**가 아니다. 🟥 미구축 사유가 바뀐다: 「렌더가 안 된다」(장애물 실재) → 「기준선을 아직 안 쟀다」(장애물 없음). 두 상태는 다르고, 전자는 «못 한다»로 후자는 «안 했다»로 읽힌다. [[feedback_rule_misdescribes_its_own_machine]] 기준선 형태는 정해져 있다: 레퍼런스 덱을 실측해 장 유형별 화면 자수 기준선을 세우고 미달 장을 센다 — 값은 발표마다 다시 재야 한다
흐름이 매끄럽지 않다 🟡 절반 덮인다 L8 은 «지시 대상이 해소되나»를 볼 뿐 «논지가 서나»를 못 본다. 🟢 그 부분집합 하나는 이제 덮인다 — L9 progression 이 «선언된 단계가 화면에서 빠졌나»를 본다(압축에서 첫 칸이 떨어지는 실사고). ⚠️ «논지가 서나» 자체는 여전히 미해결이고, 되읊음 대조(리뷰어가 요약한 뜻이 저자 의도와 반대인가)는 사람이 한다

Read the full file on GitHub · 215 lines

Changes

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.

  1. today Changed 5eec2e3e2435
  2. 4d ago First seen · 215 lines · 216 tokens per session scan A 57daa2b662aa

Subscribe to this mod's changes

preprep is a skill published in the GitHub repository chrono-meta/forge-harness (14 stars, last pushed today), licensed MIT. It adds 216 tokens to every session and 5,930 once invoked, about $0.0011 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-30.

Related

Other skills, from other repositories

reconcile

Cross-reference a paper against the collection. Finds which cited papers are already collected, which are new leads, which collection papers cite this one, and reconciles all cross-references bidirectionally. Run on a single paper directory or use --all for the entire collection.

ctoth/research-papers-plugin · 57 tokens

adjudicate

Systematically adjudicate disagreements across a paper collection. Produces ruthless verdicts on who was wrong, what supersedes what, and what the best current understanding is. Organized by topic clusters with actionable replacement values for implementation.

ctoth/research-papers-plugin · 48 tokens

author-context

Create a propstore context for one paper with CEL assumptions, parameters, and perspective. Every claim extracted from the paper will reference this context. Required before extract-claims if the paper does not already have one.

ctoth/research-papers-plugin · 45 tokens

author-rules

Author the DeLP rule artifacts (strict, defeasible, properdefeater, blockingdefeater) encoding a paper's stated argument structure. Runs after register-predicates.

ctoth/research-papers-plugin · 41 tokens

extract-claims

Extract propositional claims from a paper directory into the propstore source branch using pks source propose-claim.

ctoth/research-papers-plugin · 26 tokens

paper-retriever

Retrieve a scientific paper PDF given an arxiv URL, DOI, or paper title. Downloads to papers/ directory. Handles open-access retrieval (arxiv direct, Chrome print-to-pdf for publisher-direct HTML, Unpaywall, title-based open-repository search); for paywalled papers it hands off to whichever paper-retriever- access…

ctoth/research-papers-plugin · 88 tokens