Use when high-quality translation is needed with multi-agent review and quality gates before overwriting source files.
Iterative translation pipeline: translator → reviewer → md-reviewer → refiner (max 2 iterations).
Core principle: No overwrite unless reviewer passes. Draft isolation until quality confirmed.
Markdown rule: Source block shape is binding. Translators and refiners must preserve block order and block type, not just the wording.
Before ANY action, create tasks using TaskCreate:
Verify required files: data/translation-progress.json, glossary.json, style-decisions.json. Stop if missing.
Resolve target files:
$ARGUMENTS specifies files → use directly.all / next → auto-select from translation-progress.json:
in_progress files first.not_started in chapter order. Default batch = 3 files.翻譯進度:已完成 X / Y 個章節
本批次自動選取以下 N 個檔案:
- [in_progress 繼續] <file>
- [not_started 新增] <file>
是否繼續?或請指定其他範圍。
Verification: Target file list confirmed by user; all 3 required files exist.
uv run python scripts/validate_glossary.py
uv run python scripts/term_read.py --fail-on-missing --fail-on-forbidden
If fails → stop and fix terminology first.
Verification: Both commands exit 0 with no missing/forbidden terms.
Read style-decisions.json.translation_mode.mode. If missing, ask user:
Verification: translation_mode.mode is persisted in style-decisions.json.
Pre-read shared context once per batch:
GLOSSARY_CONTENT = glossary.jsonSTYLE_CONTENT = style-decisions.json (includes translation_notes as hard constraints)For each target file, run the pipeline:
in_progress; update translation-progress.json → in_progressuv run python scripts/draft.py --skill super-translate path <TARGET_FILE>
./translator-prompt.md
./reviewer-prompt.md
md-review skill using ../md-review/reviewer-prompt.md
AGENTS.md./refiner-prompt.md
Unknown terms: Run term_edit.py --set-zh workflow, then rerun file.
Parallel dispatch: When batch has 2+ independent files and no shared terminology conflicts, dispatch multiple translator agents concurrently using Agent tool. Reviewer/refiner remain sequential per file.
Verification: Per file: reviewer JSON and md-review JSON both return "pass": true, and no block-shape mismatch remains; otherwise iteration cap reached and user consulted.
Only if reviewer passes:
uv run python scripts/draft.py --skill super-translate writeback <TARGET_FILE>
Immediately update translation-progress.json: status → completed, recalculate _meta.completed, update _meta.updated. Update task → completed.
If blocked: keep source unchanged, status stays in_progress, mark task blocked.
Verification: Writeback script exits 0; translation-progress.json shows file as completed with updated _meta; task marked completed.
After each batch:
已完成 X / Y 個章節git commit -m "progress: X/Y"
Verification: git log -1 shows checkpoint commit with progress: X/Y message; report displayed to user.
uv run python scripts/validate_glossary.py
uv run python scripts/term_read.py --fail-on-missing --fail-on-forbidden
Invoke check-consistency skill. Resolve violations before marking run complete.
Verification: Both validation commands exit 0; check-consistency reports no violations; all tasks marked completed.
Colocated with this skill. Orchestrator inlines all placeholders before dispatch:
./translator-prompt.md — draft generation./reviewer-prompt.md — source fidelity + translation quality check../md-review/reviewer-prompt.md — markdown structure + style compliance check./refiner-prompt.md — apply both review streamsdigraph super_translate {
rankdir=TB;
start [label="Resolve scope\n& preconditions", shape=box];
preflight [label="Terminology\npreflight", shape=box];
mode [label="Resolve\ntranslation mode", shape=box];
translate [label="Dispatch\ntranslator", shape=box];
review [label="Dispatch\nreviewer", shape=box];
mdreview [label="Dispatch\nmd reviewer", shape=box];
pass [label="Both pass?", shape=diamond];
refine [label="Dispatch\nrefiner", shape=box];
cap [label="Iteration\ncap?", shape=diamond];
writeback [label="Writeback +\nupdate progress", shape=box];
ask [label="Ask user", shape=box];
checkpoint [label="Batch checkpoint\n& commit", shape=box];
more [label="More files?", shape=diamond];
verify [label="Final\nverification", shape=box];
start -> preflight -> mode -> translate;
translate -> review;
review -> mdreview;
mdreview -> pass;
pass -> writeback [label="yes"];
pass -> cap [label="no"];
cap -> refine [label="< 2"];
cap -> ask [label="= 2"];
refine -> review;
writeback -> checkpoint;
checkpoint -> more;
more -> start [label="yes"];
more -> verify [label="no"];
}
translation-progress.json at file start, every review loop, and file close.| Thought | Reality |
|---|---|
| "Just overwrite source, reviewer will pass next time" | Draft isolation exists for a reason. NEVER overwrite without pass. |
| "Skip task updates until the end" | Sync contract is per-file, not per-run. |
| "I'll invent a translation for this unknown term" | Run term_edit.py --set-zh workflow. No exceptions. |
| "Skip terminology preflight, it was fine last time" | Glossary changes between runs. Always preflight. |
| "One file left, no need for checkpoint commit" | Every completed batch gets a commit. No exceptions. |
| "I can batch-replace with regex for speed" | Manual translation only. Script-generated prose is forbidden. |
See ./translator-prompt.md, ./reviewer-prompt.md, ../md-review/reviewer-prompt.md, and ./refiner-prompt.md for full dispatch context and placeholder specifications.