Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/chrono-meta-preprep
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: presentations
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Python package
Network hosts it talks to 4
codeload.github.com· found in install commandexample.invalid· found in codeschemas.microsoft.com· found in codeschemas.openxmlformats.org· found in code
Files it touches
~/.claude/skills/preprep/dev/null- Your home directory (~)
What's inside
- Skill name
preprep- Description
- 한국식 발표대본과 장표에 특화된 준비 하네스. 레퍼런스를 먼저 묻고(공식 장표가이드 · 참고 덱), 대화로 주제·구성·전개를 세운 뒤, 기승전결 배치안을 «여러 개» 내고 사람이 고른다. 제작 후 바닥 검사 — 금지 인용이 어느 면에 남았나, 원고와 노트의 단위 참조가 갈렸나, 재생성이 사람 편집을 삼켰나, 장 사이 의존이 깨졌나, 조어가 낭독면 첫 등장에 풀이를 달았나, 장당 발화가 상한을 넘었나. 리허설 녹화를 들으면 쉼·접속사·문장 끝 억양·끝인사 크기를 코칭 표로 낸다(advisory). Triggers "발표 준비", "발표 대본 만들어줘", "장표 점검해줘", "덱이랑 대본 어긋난 데 있나", "발표 자료 정합성", "리허설 대본 확인", "리허설 녹화 코칭해줘", "presentation prep".
- License
- MIT
- Instructions
- 456 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
Agent Skills spec issues
- allowed-tools: must be a space-separated string
- files: referenced but missing: scripts/test_preprep_font_lanes.sh, scripts/test_preprep_drift_anchor.sh
Files (43)
- README.md
- SKILL.md
- canon_terms.example.yaml
- diagram_from_json.py
- adjdup_known_negative.md · fixtures/
- adjdup_known_positive.md · fixtures/
- fixture_R3_negative.pptx · fixtures/
- fixture_R3_positive.pptx · fixtures/
- font_revert_probe.py · fixtures/
- mk_slide_fixtures.py · fixtures/
- progression_known_negative.md · fixtures/
- progression_known_positive.md · fixtures/
- promise_known_negative.md · fixtures/
- promise_known_positive.md · fixtures/
- interslide_deps.py
- jargon_terms.example.yaml
- lane_adjacent_dup.py
- lane_attr_consistency.py
- lane_diagram.py
- lane_font.py
- lane_font_embed.py
- lane_geometry.py
- lane_progression.py
- lane_promise.py
- lane_screen_parity.py
- lane_slide_refs.py
- lane_slide_relations.py
- lane_speech_coach.py
- oox.py
- c1_baseline.txt · ooxml/
- gate.py · ooxml/
- test_gate_exitcodes.py · ooxml/
- preprep.py
- preprep_wire.py
- presentation_checklist.md
- safe_install.py
- surfaces.example.yaml
- test_lane_font.py
- test_lane_font_embed.py
- test_lane_speech_coach.py
- test_preprep_lanes_rp.py
- test_safe_install_app_xml.py
- usage_ledger.py
SKILL.md (first lines)
# 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` ⑥ 화면 밖 도형 · P1/P3 (넘길 때 튐 · 인접 어긋남) · **P4 algn/mirror**(같은 줄인데 정렬이 갈림 · 좌우 대칭인데 크기가 갈림) ⚠️ 그 검사에 붙은 사고 수치(`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]] 기준선 형태는 정해져 있다: **레퍼런스 덱을 실측해 장 유형별 화면 자수 기준선을 세우고 미달 장을 센다** — 값은 발표마다 다시 재야 한다. 🟥 **정정 2026-09-04 — 기준선을 실제로 쟀다, 다만 반대편(과밀)이다.** 121장 한국어 덱 실측: 화면 자수 중앙 118 · 평균 133 · P90 207 · 최대 808. 읽는 부담(신규 글자 ÷ 발화 초) 중앙 10.0 · P90 16.9(§레인 R4·R5). ⚠️ 값은 발표마다 다시 재야 한다 — 임계를 코드에 안 박고 **그 덱 자기 분포**에서 뽑는 이유가 이것이다. 그리고 이건 게이트가 아니라 **순위표**다 — 정의상 항상 약 10%가 뜬다, 「후보 0건」을 목표로 삼으면 오독이다(§정직한 한계 참조). **「비어 보인다」쪽(하한)은 여전히 기준선이 없다** — 잰 것은 과밀(상한) 뿐이라 이 행은 아직 🔴 미구축으로 남는다 |
| **원고와 화면이 갈린다** | 🟢 **덮인다** (2026-09-10 신설) | **L14 screen-parity**. 그 전까지는 이 하네스의 정체(「표면 사이」)에서 **가장 큰 쌍이 비어 있었다** |
| **흐름이 매끄럽지 않다** | 🟡 **절반 덮인다** | L8 은 «지시 대상이 해소되나»를 볼 뿐 «논지가 서나»를 못 본다. 🟢 그 부분집합 하나는 이제 덮인다 — **L9 progression** 이 «선언된 단계가 화면에서 빠졌나»를 본다(압축에서 첫 칸이 떨어지는 실사고). ⚠️ «논지가 서나» 자체는 여전히 미해결이고, 되읊음 대조(리뷰어가 요약한 뜻이 저자 의도와 반대인가)는 **사람이 한다** |
🟥 **미구축 셋을 「advisory 라서 괜찮다」로 덮지 않는다.** 지금은 ④·⑤ 단계에서 **사람이** 하고
있고, 그건 운영자 정의상 **기계가 해야 할 일이 사람에게 남아 있다**는 뜻이다. 다음 개선의 과녁은
여기다 — 특히 「흐름」과 「주어」는 공통화될 수 있는 시행착오라 성공 정의에 직접 걸린다.
⚠️ **「논지 안 맞음 · 내용 순서」에는 아직 레인이 없다.** L8(장 사이 의존)이 가장 가깝지만 그것은
«지시 대상이 해소되나»를 볼 뿐 «논지가 서나»를 못 본다. 지금은 ④ 구성 단계에서 사람이 하고 있고,
**미구축이라고 여기 적어 둔다** — 없는 것을 있는 것처럼 두지 않는다.
## 이 하네스의 본체 — 그리고 성공을 무엇으로 재나
운영자 정의(2026-08-29, 이 하네스의 정본): *「**초기 영혼 심기를 질의응답을 통해서 같이 하고**,
하네스를 통해서 발표 자료 짓는 것 자체를 가속화시키고, 말미에는 페르소나나 스킬들로 커버 못 한
**취향의 영역을 사람과의 소통으로 깎아내는 것.** 그게 하네스의 본체다. 사람 손이 필연적으로 갈
수밖에 없는 하네스이지만, 적어도 우리가 겪어왔던 **구성과 형식, 그리기 등 공통화될 수 있는
시행착오만 단축시킬 수 있다면 그걸로 성공인 거다.」*
🟥 **성공 정의가 「사람 손을 없앤다」가 아니다.** 사람 손은 필연이고, 그것을 없애려는 하네스는
취향의 자리를 기계가 뺏어 결과를 나쁘게 만든다. 재는 것은 하나다 — **공통화될 수 있는
시행착오가 줄었나.** 구성 배치를 처음부터 더듬는 것, 형식을 매번 다시 정하는 것, 도해를
영점부터 그리는 것. 그것들만 줄면 성공이다.
🟥 **그리고 이 완료조건은 도달 가능하다.** 「다음에 이만한 발표가 오면 재자」 같은 조건은 영영
안 오므로 검증이 아니라 미루기가 된다(FH: 도달불가 Done-When 은 회피를 훈련시킨다).
반면 «이번에 겪은 시행착오 중 무엇이 공통화되나»는 **지금 이 자리에서 셀 수 있다.**
이것은 FH 교리의 이 도메인 사례다 — 하네스의 payoff 는 *「시행착오를 사람에게서 하네스로
옮겨, 사람 시간을 줄이고 주의를 비가역 지점으로 보내는 것」*. ①단계를 «영혼 심기»라 부르는
이유도 같다: FH 실측에서 **방향층(판단 회로)이 있으면 같은 토큰이 크게 효율적**이었다.
🟥 **다만 «정체성 선언»과 «심지(판단 회로)»는 다르고, 그 구분이 여기서 하중을 진다** — 선언만
떼어낸 12런에서는 **약한 모델이 오히려 올랐다**(Haiku 1.67 → 2.33). 원출처는 그 팔을
*"정체성 선언이 순손실"* 이라고 못박는다. 그러므로 ①이 심는 것은 «우리는 이런 하네스다» 라는
**선언문이 아니라**, 뒤 단계가 근거로 삼을 **판단의 축**이다 — 그래서 요구사항 수집이 아니라
**같이 세우는 것**이다.
⚠️ 초판은 이 자리에 «105런에서 영혼 선행이 결정적, 선언을 빼면 약한 모델 성능이 갈렸다» 고
적었다. **표본(105는 전체 합계, 해당 팔은 12런)과 방향이 둘 다 틀렸고**, 격리 그라운딩 감사가
잡았다.
## 제작 흐름 — 다섯 단계, 레인은 마지막
🟥 **새로 짓지 않는다.** 아래 네 단계는 FH 에 **이미 있는 능력**을 이 도메인 순서로 합주하는
것이다(no-reinvention). 각 단계는 **사람의 선택으로 끝난다** — 자동 결정이 있으면 그 단계는 틀렸다.
```
① 영혼 심기 /deep-clarify — 주제 · 내용 · 구성 · 전개 · 청중 · 시간 · «성공은 무엇인가».
🟥 «많이» 묻고 **같이 세운다**. 받아적기가 아니다 — 답이 스펙이 되고 그 스펙이
뒤 단계 전부의 근거다. 여기가 비면 뒤가 전부 기본값으로 채워진다
② 레퍼런스 「참고하려는 것이 있나」를 **먼저 묻는다**(ko-tech-writer §Step 1 과 같은 규율:
표본 없이 톤을 단정하지 않는다). 행사 공식 장표가이드 · 좋다고 본 남의 덱 ·
조직 템플릿. 있으면 /corpus-grounding-expander 로 그 실물을 근거로 세운다.
🟥 «위반»은 원문 **문장**을 인용할 수 있을 때만 낸다 — 스와치·템플릿 실측값과의
차이는 «위반»이 아니라 «차이»로만 낸다(§방법론 ⓖ, 숫자가 없는 원문에서 「위반」을
냈다가 정정하고, 스와치만 근거로 「위반」을 냈다가 철회한 실사고)
③ 프런티어 ②가 비었거나 더 넓히고 싶을 때만. persona-innovator(Mode F) · /frontier-digest
로 세련된 방법을 찾아온다. 🟥 찾아온 것은 **후보**지 결정이 아니다
④ 구성 기승전결. 하네스는 배치안을 «몇 개» 내고 사람이 고른다.From chrono-meta/forge-harness, MIT.
More from chrono-meta/forge-harness
- 0.651score
persona-cast
chrono-meta
One-line doorway that lets a field harness review an artifact (a screen, a spec, a PR, a page) through a pre-built cast of review-shaped personas — web-review…
SkillAFreshness: A★ 30Claude Code +9 - 0.647score
deliberation
chrono-meta
Multi-perspective synthesis structure — Innovator (propose) → Devil-Advocate (challenge) → Mediator (synthesize) 3-layer execution.
SkillAFreshness: A★ 30Claude Code +9 - 0.647score
video-ingest
chrono-meta
Ingests a video's content (YouTube and similar) for agent context, routing by capability, task need, and video length — a natively multimodal engine (Gemini…
SkillAFreshness: A★ 30Claude Code +9 - 0.647score
convergence-loop
chrono-meta
A universal gate-reinforcement meta-skill that replaces the "single-pass = done" pattern with a converging loop of up to N rounds.
SkillAFreshness: A★ 30Claude Code +9 - 0.647score
cross-ecosystem-synergy-detection
chrono-meta
Automatically discovers useful combinations (synergy pairs) across multiple installed plugins and skills, and presents them as a ranked table.
SkillAFreshness: A★ 30Claude Code +9 - 0.647score
verify-bidirectional
chrono-meta
A skill that immediately updates the baseline and reflects it in the next session when the user raises a counter-argument to an AI recommendation.
SkillAFreshness: A★ 30Claude Code +9 - 0.647score
pipeline-conductor
chrono-meta
Chains the four core FH verification pipelines (harvest-loop → steel-quench → phantom-quench → sim-conductor) into a single gated sweep.
SkillAFreshness: A★ 30Claude Code +9 - 0.647score
meta-prompt-builder
chrono-meta
Generates structured prompts to send to each agent in an agent dispatch plan.
SkillAFreshness: A★ 30Claude Code +9 - 0.647score
qp-plan
chrono-meta
Prepare stage of QP — builds a surface inventory of a web page or desktop app (routes, menus, forms, dialogs), checks it is MECE (no overlap, nothing missing…
SkillAFreshness: A★ 30Claude Code +9 - 0.647score
qp-run
chrono-meta
Automation stage of QP — executes the test cases from qp-plan against the live app through the session's adapter (Playwright MCP for web, computer-use MCP for…
SkillAFreshness: A★ 30Claude Code +9 - 0.647score
return-path-gate
chrono-meta
Audits SKILL.md files in plugins/ for return-path gate compliance.
SkillAFreshness: A★ 30Claude Code +9 - 0.647score
token-budget-gate
chrono-meta
Estimates token cost before a multi-step task and outputs a 4-tier Green/Yellow/Orange/Red gate verdict.
SkillAFreshness: A★ 30Claude Code +9
Signals
- Stars
- 30
- Forks
- 1
- Open issues
- 2
- Last commit (this folder)
- Oct 11, 2026 (17 days ago)
- Last release
- Oct 24, 2026 (5 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/chrono-meta/forge-harness
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from chrono-meta
- 0.651score
persona-cast
chrono-meta
One-line doorway that lets a field harness review an artifact (a screen, a spec, a PR, a page) through a pre-built cast of review-shaped personas — web-review…
SkillAFreshness: A★ 30Claude Code +9 - 0.647score
cross-ecosystem-synergy-detection
chrono-meta
Automatically discovers useful combinations (synergy pairs) across multiple installed plugins and skills, and presents them as a ranked table.
SkillAFreshness: A★ 30Claude Code +9 - 0.647score
meta-prompt-builder
chrono-meta
Generates structured prompts to send to each agent in an agent dispatch plan.
SkillAFreshness: A★ 30Claude Code +9 - 0.647score
verify-bidirectional
chrono-meta
A skill that immediately updates the baseline and reflects it in the next session when the user raises a counter-argument to an AI recommendation.
SkillAFreshness: A★ 30Claude Code +9 - 0.647score
return-path-gate
chrono-meta
Audits SKILL.md files in plugins/ for return-path gate compliance.
SkillAFreshness: A★ 30Claude Code +9 - 0.647score
video-ingest
chrono-meta
Ingests a video's content (YouTube and similar) for agent context, routing by capability, task need, and video length — a natively multimodal engine (Gemini…
SkillAFreshness: A★ 30Claude Code +9
Cite this page
preprep skill. Agent Mart. https://agentmart.dev/skills/chrono-meta-preprep (last updated 2026-10-24)