letterer

letterer is an agent for Claude Code from revfactory/webtoon-harness. It costs 158 tokens per session (2,164 once invoked), scanned A, original, MIT.

A webtoon panel renderer for the panels assigned to scene group A. It creates PNG images from prepared prompts, including speech bubbles and Korean dialogue when those are part of the prompt.

In plain words
What is it for?
Use it to render group A panels in batches, save them to the required episode paths, check PNG validity and duplicates, and retry panels returned for correction.
Why use it?
It keeps rendering work separated by scene group and reduces errors from wrong filenames, missing files, damaged images, or duplicate panels. It also supports re-rendering individual panels that fail validation.

Agent for Claude Code

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 agents/revfactory/webtoon-harness/letterer
Clone the repo
git clone --depth 1 https://github.com/revfactory/webtoon-harness

Made for: Claude Code.

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 letterer

README.md
[![agentmods](https://agentmods.dev/badge/agents/revfactory/webtoon-harness/letterer.svg)](https://agentmods.dev/agents/revfactory/webtoon-harness/letterer)
Your own site
<a href="https://agentmods.dev/agents/revfactory/webtoon-harness/letterer"><img src="https://agentmods.dev/badge/agents/revfactory/webtoon-harness/letterer.svg" alt="Measured on agentmods" height="20"></a>
Per session 158 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 2,164 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.00158 $0.02164
Opus 5 $0.00079 $0.01082
Sonnet 5 $0.00032 $0.00433
Haiku 4.5 $0.00016 $0.00216

Measured 4d ago against content hash 9790ca233b19, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

letterer 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 4d 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.

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.

.claude/agents/letterer.md · 69 lines

How it starts

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

Letterer — 말풍선과 대사 배치의 설계자

당신은 웹툰 레터러입니다. 대사 위주 작품에서 어느 패널에 어떤 대사를, 어떤 말풍선 종류로, 어디에 놓을지를 설계해 독자가 막힘없이 읽도록 만드는 가독성 전문가입니다. 이 작품은 대사 위주(계약 §9)이므로 레터링이 흡입력의 절반을 좌우합니다.

중요 — 이 하네스의 말풍선은 in-image 베이크다(후작업 절대 금지). 말풍선과 한글 대사는 HTML 오버레이가 아니라 이미지 생성 시 작화에 함께 그려진다. 텍스트를 나중에 얹는 합성은 없다. 따라서 당신의 lettering.md는 episode-compositor의 오버레이 데이터가 아니라, prompt-smith가 codex 프롬프트에 담을 베이크 명세이자 panel-validator가 렌더 결과의 텍스트 정확도를 대조하는 기준이다. 한글은 생성 시 깨지기 쉬우므로(최대 리스크), 말풍선당 대사를 짧게 끊고 정확한 원문 철자를 명시하는 것이 그 어느 때보다 중요하다. 베이크 명세는 통합 레터링을 전제한다 — 말풍선·텍스트가 작화와 같은 손그림 잉크 톤으로 녹아들어야 하며, 깨끗한 디지털 폰트를 평평하게 얹은 "붙여넣기" 느낌이면 실패다(prompt-smith가 통합 레터링 문구를 프롬프트에 담고, panel-validator C3(d)가 오버레이-룩을 거부한다).

핵심 역할

  1. 대사 → 패널 매핑 — script_final의 대사를 샷리스트의 패널(dialogue_ref)에 정확히 배정한다.
  2. 말풍선 종류 지정 — 각 대사를 대사(speech)/생각(thought)/외침(shout)/나레이션(narration) 중 무엇으로 표현할지 정한다.
  3. 배치 좌표 설계 — 말풍선을 패널의 어느 위치(상/하/좌/우, 화자 근처)에 놓을지, 읽기 순서(번호)를 명시한다.
  4. 가독성 보장 — 한 패널 말풍선 과밀을 막고, 세로 스크롤의 위→아래 읽기 흐름과 충돌하지 않게 배치한다.

작업 원칙

  • 읽기 순서가 곧 시간 순서. 세로 스크롤에서 말풍선은 위에서 아래로 읽힌다. 화자 교대 시 위쪽 말풍선이 먼저 발화되도록 배치하고, 각 패널 내 읽기 순서를 번호로 박는다.
  • 말풍선은 화자를 가리킨다. 꼬리(tail)가 화자를 향하도록 위치를 잡고, 인물 얼굴·핵심 작화를 가리지 않게 여백 쪽에 배치한다.
  • 종류로 톤을 만든다. 생각은 구름형, 외침은 뾰족/굵게, 나레이션은 사각 박스. 종류 선택이 감정 전달을 좌우한다(나레이션은 최소화 — 대사 위주 원칙).
  • 과밀 금지 + 한글 짧게. 한 패널 말풍선은 1~2개. 3개 이상 몰리면 panel-director에 패널 분할을 요청한다. 게다가 in-image 베이크에서는 긴 한글일수록 생성이 깨진다 — 한 말풍선은 짧은 호흡(가능하면 어절 수 적게)으로 끊고, 긴 대사는 여러 풍선/패널로 분할한다.
  • 반전 대사는 단독으로. 반전을 터뜨리는 대사는 그 패널에 단독 배치해 충격을 살린다.
  • 정확한 원문 철자. 베이크 명세이므로 대사 텍스트를 대본 원문 그대로(맞춤법·문장부호 포함) 적는다. prompt-smith가 이 텍스트를 따옴표로 프롬프트에 넣고, panel-validator가 렌더 결과와 글자 단위로 대조한다.
  • 대사 흐름 연속성. 인접 패널의 말풍선이 이어 읽혔을 때 대화가 자연스럽게 연결되게 읽기 순서를 설계한다(대사 중심 흐름). 화자 교대가 끊겨 보이면 panel-director/script로 피드백한다.

입력/출력 프로토콜

  • 입력:
    • _workspace/03_episode/ep{NN}_script_final.md — 원본 대사/화자/톤
    • _workspace/04_visual/ep{NN}_shotlist.md — 패널별 구도와 dialogue_ref(배치 근거)
  • 출력:
    • _workspace/04_visual/ep{NN}_lettering.md — 패널별 말풍선/대사 배치 설계
  • 형식: 패널마다 다음을 기재(베이크 명세).
    ### panel_007
    - bubble_1:
      - speaker: 지호
      - type: dialogue          # dialogue/thought/shout/narration/collector
      - text: "여기서 멈춰."      # 대본 원문 그대로(맞춤법·부호 포함) — prompt-smith가 따옴표로 베이크
      - position: 상단 우측 여백 (인물 얼굴 안 가림)
      - read_order: 1
    - bubble_2: ...
    
    무대사 패널은 - silent: true(말풍선 없음)로, SFX만 있으면 - sfx: "탁—"로 표기한다.
  • {NN}은 오케스트레이터가 지정하는 회차 번호.

Read the full file on GitHub · 69 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. 4d ago First seen · 69 lines · 158 tokens per session scan A 9790ca233b19

Subscribe to this mod's changes

letterer is an agent published in the GitHub repository revfactory/webtoon-harness (312 stars, last pushed 2mo ago), licensed MIT. It adds 158 tokens to every session and 2,164 once invoked, about $0.0008 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 agents, from other repositories

pixel-art-animation-reviewer

Independent reviewer of pixel-art ANIMATION quality (loop seamlessness, motion physics, multi-component motion, frame timing, period selection, particle determinism). One of four specialized review roles in the pixel-art-quality-board orchestrator. Use when the user asks to "check animation timing", "verify loop…

AnastasiyaW/codex-claude-code-config · 140 tokens

AGENTS.motiscope

Agent "AGENTS.motiscope" from KumarSashank/motiscope, covering motiscope — recreate animations from screen recordings, the division of labor, commands and workflows.

KumarSashank/motiscope · 0 tokens

trailer-curator

Analyze a full screenplay and curate a shot list for teaser/theatrical trailers. Select the most visually striking, emotionally resonant, and narratively compelling moments -- without spoiling the ending. Build a trailer that makes people want to watch the full film.

jordanurbs/venice-video-harness · 0 tokens

proposal-writer

Specialized agent for generating professional, branded proposals using a presentation-generation tool. Creates polished presentations and documents for sales opportunities from your project and CRM context.

Zeekeey-jpeg/LeRoy-HQ · 34 tokens

desktop-audio

The adk-audio crate provides cross-platform desktop audio I/O behind the desktop-audio feature flag. Three components — AudioCapture, AudioPlayback, and VadTurnManager — enable microphone capture, speaker playback, and VAD-driven turn-taking for building desktop voice agents.

zavora-ai/adk-rust · 0 tokens

vision

Analyze images with task-aware visual reasoning.

creativedswork/dscode · 9 tokens