Agent Subtitle Translator
Translate SRT, VTT, and ASS subtitles safely Skill: Agent Subtitle Translator Owner: lumen01 Summary: Translate SRT, VTT, and ASS subtitles safely Tags: latest:1.0.9 Version history: v1.0.9 | 2026-09-04T10:42:18.665Z | auto - Added full project structure including scripts, assets, web UI, agents, and tests directories - Integrated optional local loopback-only visualizer with secure, display-only web interface - Introduced fixtures and validation tests for SRT,
Rank
62
Safety
84
Downloads
2.0k
Updated
Oct 9, 2026
Version
1.0.9
Source
CLAWHUB
About
What it does, and when to use it.
Capability contract not published. No trust telemetry is available yet. 2K downloads reported by the source. Last updated 10/9/2026.
Avoid when
- Contract metadata is missing or unavailable for deterministic execution.
Risk flags: missing_or_unavailable_contract, trust_data_unavailable, schema_references_missing
Public facts
Every fact links back to the source it came from.
- Vendor
- Clawhubvendor · observed Oct 9, 2026
- Protocol compatibility
- OpenClawcompatibility · observed Oct 9, 2026
- Adoption signal
- 2K downloadsadoption · observed Oct 9, 2026
- Latest release
- 1.0.9release · observed Sep 4, 2026
- Handshake status
- UNKNOWNsecurity
Install and run
Setup complexity: low.
clawhub skill install s17dv4tf5j8ta3eh6hph7m1hns8a6ts5:agent-subtitle-translator- Setup complexity is classified as HIGH. You must provision dedicated cloud infrastructure or an isolated VM. Do not run this directly on your local workstation.
- Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.
Contract: missing
curl -s "https://www.xpersona.co/api/v1/agents/clawhub-lumen01-agent-subtitle-translator/snapshot"
Documentation
CLAWHUB
152,949 characters of source documentation, loaded on request.
Extracted files
5 files captured from the source.
SKILL.md
---
name: agent-subtitle-translator
description: Translate one subtitle file at a time with deterministic local parsing, timeline preservation, strict batch mapping, safe output composition, and an optional loopback-only visualizer. Use when an agent needs to translate SRT, WebVTT/VTT, or ASS subtitles; preserve ASS sections, event fields, inline semantic styling, or hard line breaks; normalize VTT to SRT; detect karaoke degradation; or validate an LLM subtitle translation before writing it.
metadata:
author: "Lumen"
openclaw:
requires:
bins:
- node
- npm
- python3
homepage: "https://github.com/Lumen01/agent-subtitle-translator"
---
# Agent Subtitle Translator
Translate only subtitle text with an available translation model. Delegate decoding, parsing, batching, marker validation, timeline mapping, and output writing to `scripts/subtitle_tool.py`. Never send timestamps or original ASS override tags to the model.
## Prerequisite
Run commands from this skill directory. The script uses only the standard library for UTF inputs; legacy encodings require `charset-normalizer`:
```bash
python3 -m pip install -r requirements.txt
python3 scripts/subtitle_tool.py --help
```
Do not request or configure an external LLM API key for the script. Use the translation capability already available to the executing agent.
### Runtime boundary
- The core workflow reads the one subtitle file selected by the user, writes its work package and final output, and never contacts a translation provider.
- The optional visualizer is a local display service. It binds only to `127.0.0.1`, stores task history under `~/.agent-subtitle-translator/visualizer`, and accepts bridge requests only through that local service.
- The bridge does not accept remote URLs, the service never launches a browser subprocess, and visualizer output is confined to the current task's private `output` directory.
- The Agent or user opens the visualizer URL explicitly. The visualizer is display-only and does not receive subtitle uploads or translation controls from the browser.
## Workflow
### Optional Agent visualizer workflow
The deterministic CLI workflow can run without a Web service. When the Agent or user chooses to observe progress in the visualizer, complete these steps before using the bridge:
1. **Check the environment.** Run from the Skill directory. Install or verify the Python dependency from `requirements.txt`, confirm Python can run `scripts/subtitle_tool.py --help`, confirm Node.js satisfies the package requirement (Node 20 or newer), install Node dependencies once with `npm install`, and run `npm run build` successfully.
2. **Check the Web service.** Request `http://127.0.0.1:4317/api/health`. Reuse the service only when the response is healthy, identifies `subtitle-visualizer`, and reports a compatible Skill version. Otherwise start the service after resolving any occupied-port conflict, then record the printed URL.
3. **Open the WebREADME.md
# Agent Subtitle Translator Skill <p align="center"> <img src="assets/icon-large.png" alt="Agent Subtitle Translator logo" width="180"> </p> [简体中文](README.zh-CN.md) Translate one SRT, VTT, or ASS subtitle file with local timeline handling, strict ID validation, and safe ASS structure preservation. This repository is a Skill first. The bundled CLI performs deterministic decoding, parsing, batching, validation, and composition; the executing Agent uses its available translation model, so the CLI needs no external LLM API key. > ⭐ If this Skill helps you, please [star the repository](https://github.com/Lumen01/agent-subtitle-translator). It helps more people discover the project and supports continued improvements. ## Install the Skill ### Ask an Agent to install it Copy this prompt to an Agent with terminal access: ```text Install this Skill following the instructions at https://github.com/Lumen01/agent-subtitle-translator and confirm that the current Agent can use it. If it conflicts with an existing installation, let me know before proceeding. ``` ### Install manually #### Shared by multiple Agents Install one shared copy for Codex, Claude, OpenCode, and other compatible runtimes: ```bash git clone https://github.com/Lumen01/agent-subtitle-translator.git ~/.agents/skills/agent-subtitle-translator python3 -m pip install --user -r ~/.agents/skills/agent-subtitle-translator/requirements.txt ``` Point each runtime at the shared copy if it requires its own skills directory: ```bash mkdir -p ~/.codex/skills ~/.claude/skills ln -s ~/.agents/skills/agent-subtitle-translator ~/.codex/skills/agent-subtitle-translator ln -s ~/.agents/skills/agent-subtitle-translator ~/.claude/skills/agent-subtitle-translator ``` Inspect each destination first; do not replace an existing file, directory, or link blindly. #### One runtime only Clone directly into that runtime's documented skills directory. For example: ```bash git clone https://github.com/Lumen01/agent-subtitle-translator.git ~/.codex/skills/agent-subtitle-translator python3 -m pip install --user -r ~/.codex/skills/agent-subtitle-translator/requirements.txt ``` The installed skill root must contain a discoverable `SKILL.md`. ## Prompt an Agent to use it Name the skill, one input file, and the required target language. The source language is optional. ```text Use $agent-subtitle-translator to translate ~/Movies/movie.en.srt to Simplified Chinese (zh-Hans). Keep the original timing, do not overwrite existing output, and report any degradation. ``` ```text Use $agent-subtitle-translator to translate ~/Movies/signs.ass from English to Brazilian Portuguese (pt-BR). Preserve ASS styles and event metadata wherever safe. ``` The Agent prepares batches of at most 32 entries, translates them using its available model, retries invalid batch structures, validates stable IDs and markers, and composes only after every batch maps safely. The Skill does not impose a concurrency cap; completed batch
_meta.json
{
"ownerId": "kn78ge2mfb4vyz0qn9xpnne8v58a732j",
"slug": "agent-subtitle-translator",
"version": "1.0.9",
"publishedAt": 1788518538665
}.impeccable.md
## Design Context ### Users 普通用户通过 Agent 同时发起一个或多个字幕翻译任务。他们希望不用理解命令行、批次文件或内部实现,也能看到每个任务当前进展、翻译耗时、校验结果、重试原因、降级提示和最终输出。 ### Brand Personality 清晰、可靠、从容。界面要让用户始终知道系统正在做什么、已经完成什么,以及是否需要关注某个问题。 ### Aesthetic Direction 面向普通用户的翻译工作台:左侧是可切换的任务队列,右侧是选中任务的过程详情。提供深色与浅色主题切换,使用明确的状态色、时间信息和事件流形成可读的过程叙事。动效用于表达任务状态变化、批次推进和结果完成,按当前需求保持开启,不提供减弱动效设置。 ### Design Principles 1. 先让用户看懂任务全局,再逐步展开批次和单条字幕细节。 2. 每个状态都给出可读的中文说明、时间和下一步结果。 3. 错误、重试和降级需要显眼且可追溯,不能被装饰性视觉弱化。 4. 多任务并行时保持左侧列表稳定,右侧详情切换不打断后台任务。 5. 视觉风格应具备工具感和秩序感,同时保持普通用户可理解的语言与操作。
AGENTS.md
# Repository Instructions - 在 `dev` 分支中研发迭代。
AionUi
Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!
activepieces
AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents
cherry-studio
AI productivity studio with smart chat, autonomous agents, and 300+ assistants.
CopilotKit
The Frontend for Agents & Generative UI. React + Angular
Machine-readable data
The same record, as JSON, for agents and crawlers.
{
"facts": [
{
"factKey": "vendor",
"category": "vendor",
"label": "Vendor",
"value": "Clawhub",
"href": "https://clawhub.ai/lumen01/skills/agent-subtitle-translator",
"sourceUrl": "https://clawhub.ai/lumen01/skills/agent-subtitle-translator",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-10-09T21:43:21.251Z",
"isPublic": true
},
{
"factKey": "protocols",
"category": "compatibility",
"label": "Protocol compatibility",
"value": "OpenClaw",
"href": "https://www.xpersona.co/api/v1/agents/clawhub-lumen01-agent-subtitle-translator/contract",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-lumen01-agent-subtitle-translator/contract",
"sourceType": "contract",
"confidence": "medium",
"observedAt": "2026-10-09T21:43:21.251Z",
"isPublic": true
},
{
"factKey": "traction",
"category": "adoption",
"label": "Adoption signal",
"value": "2K downloads",
"href": "https://clawhub.ai/lumen01/agent-subtitle-translator",
"sourceUrl": "https://clawhub.ai/lumen01/agent-subtitle-translator",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-10-09T21:43:21.251Z",
"isPublic": true
},
{
"factKey": "latest_release",
"category": "release",
"label": "Latest release",
"value": "1.0.9",
"href": "https://clawhub.ai/lumen01/agent-subtitle-translator",
"sourceUrl": "https://clawhub.ai/lumen01/agent-subtitle-translator",
"sourceType": "release",
"confidence": "medium",
"observedAt": "2026-09-04T10:42:18.665Z",
"isPublic": true
},
{
"factKey": "handshake_status",
"category": "security",
"label": "Handshake status",
"value": "UNKNOWN",
"href": "https://www.xpersona.co/api/v1/agents/clawhub-lumen01-agent-subtitle-translator/trust",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-lumen01-agent-subtitle-translator/trust",
"sourceType": "trust",
"confidence": "medium",
"observedAt": null,
"isPublic": true
}
],
"events": [
{
"eventType": "release",
"title": "Release 1.0.9",
"description": "- Added full project structure including scripts, assets, web UI, agents, and tests directories - Integrated optional local loopback-only visualizer with secure, display-only web interface - Introduced fixtures and validation tests for SRT, VTT, and ASS subtitle handling - Updated documentation to reflect new setup, runtime boundaries, and visualizer workflow - Removed legacy file: skill-card.md",
"href": "https://clawhub.ai/lumen01/agent-subtitle-translator",
"sourceUrl": "https://clawhub.ai/lumen01/agent-subtitle-translator",
"sourceType": "release",
"confidence": "medium",
"observedAt": "2026-09-04T10:42:18.665Z",
"isPublic": true
}
]
}Record generated Oct 10, 2026.
