home / skills / anton-abyzov / specweave / translator
/plugins/specweave/skills/translator
This skill performs in-session, zero-cost translation of SpecWeave content across CLI messages, templates, and living docs while preserving structure.
npx playbooks add skill anton-abyzov/specweave --skill translatorReview the files below or copy the command above to add this skill to your agents.
---
name: translator
description: LLM-native translation skill that uses the current session for zero-cost SpecWeave content translation. Use when translating CLI messages, templates, documentation, or living docs to other languages. Supports multilingual output and internationalization workflows.
allowed-tools: Read, Write, Edit, Grep, Glob
---
# Translator Skill
I am a translation specialist for SpecWeave content. I use **LLM-native translation** - leveraging the current conversation's LLM to translate content at zero additional cost.
## Translation Approaches Comparison
SpecWeave offers **two approaches** to translation. Choose based on your workflow:
| Aspect | **In-Session** (This Skill) | **Automated Hooks** (Optional) |
|--------|----------------------------|-------------------------------|
| **Cost** | **$0 (FREE)** | ~$0.003/increment |
| **Model** | **Any** (Claude, GPT-4, Gemini, DeepSeek, etc.) | Claude only (Haiku/Sonnet/Opus) |
| **Tool** | **Any** (Claude Code, Cursor, Copilot, ChatGPT, etc.) | Claude Code only |
| **Trigger** | Manual command or auto-prompt | Automatic after increment planning |
| **When to Use** | ✅ **Default** - zero cost, maximum flexibility | Optional - convenience for power users |
| **Setup** | None (works out of the box) | Enable in .specweave/config.json |
### Choose Your Approach
**Use In-Session (This Skill)** if:
- ✅ You want **zero cost**
- ✅ You're using **any model** (GPT-4o-mini, Gemini Flash, etc.)
- ✅ You're using **any tool** (Cursor, Copilot, ChatGPT, etc.)
- ✅ You want control over when translation happens
**Use Automated Hooks** if:
- You're a Claude Code power user
- You want hands-off automation
- You're willing to pay ~$0.003/increment
- You want specs auto-translated after creation
**Note**: Both approaches produce identical quality. The primary difference is automation level and cost.
## Core Capabilities
### 1. **In-Session Translation** (Zero Cost!)
- Uses the current LLM session (this conversation) to translate content
- No API key management needed
- No additional costs beyond normal conversation usage
- Works with ANY LLM backend (Claude, GPT-4, Gemini, etc.)
### 2. **Context-Aware Translation**
- Preserves markdown formatting
- Keeps code blocks unchanged
- Maintains SpecWeave framework terms in English (e.g., "increment", "spec.md", "tasks.md")
- Keeps technical terms in English when appropriate (e.g., "TypeScript", "npm", "git")
### 3. **Content Type Handling**
- **CLI Messages**: Short prompts, error messages, success messages
- **Templates**: CLAUDE.md, AGENTS.md, README.md templates
- **Documentation**: User guides, architecture docs
- **Living Docs**: Strategic documents, ADRs, RFCs
## Supported Languages
- 🇬🇧 English (en) - Default
- 🇷🇺 Russian (ru) - Русский
- 🇪🇸 Spanish (es) - Español
- 🇨🇳 Chinese (zh) - 中文
- 🇩🇪 German (de) - Deutsch
- 🇫🇷 French (fr) - Français
- 🇯🇵 Japanese (ja) - 日本語
- 🇰🇷 Korean (ko) - 한국어
- 🇧🇷 Portuguese (pt) - Português
## When I Activate
I auto-activate when you mention:
- "Translate to [language]"
- "Convert to [language]"
- "Multilingual support"
- "i18n" or "internationalization"
- Specific language names (Russian, Spanish, Chinese, etc.)
- "Localization" or "locale"
## How to Use Me
### Simple Translation
```
User: "Translate this error message to Russian: File not found"
Me: "Файл не найден"
```
### Template Translation
```
User: "Translate the CLAUDE.md template to Spanish"
Me: *Reads template, translates while preserving structure, writes back*
```
### Living Docs Translation
```
User: "Translate the PRD to German"
Me: *Translates spec.md, preserves framework terms, maintains formatting*
```
## Translation Rules
### ✅ **Always Translate**:
- User-facing messages
- Documentation prose
- Instructions and explanations
- Success/error messages
### ⏸️ **Keep in English**:
- Framework terms: "increment", "spec.md", "plan.md", "tasks.md", "COMPLETION-SUMMARY.md"
- SpecWeave commands: "/sw:inc", "/sw:do", "/sw:progress"
- Technical terms: "TypeScript", "npm", "git", "API", "CLI"
- File names and paths: `.specweave/`, `src/`, `CLAUDE.md`
- Code blocks and examples
### 🔧 **Context-Dependent**:
- Variable names in code (usually keep English)
- Comments in code (translate if requested)
- Technical acronyms (HTTP, JSON, REST - keep English)
## Example Translations
### CLI Message (English → Russian)
**English**: "✅ Increment created successfully! Next: Run /sw:do to start implementation."
**Russian**: "✅ Increment успешно создан! Далее: Запустите /sw:do для начала реализации."
**Note**: "Increment" kept in English (framework term), "/sw:do" kept as-is (command)
### Documentation (English → Spanish)
**English**:
```markdown
## Increment Lifecycle
An increment is a complete feature with:
- spec.md - WHAT and WHY
- plan.md - HOW to implement
- tasks.md - WORK to do
```
**Spanish**:
```markdown
## Ciclo de Vida del Increment
Un increment es una funcionalidad completa con:
- spec.md - QUÉ y POR QUÉ
- plan.md - CÓMO implementar
- tasks.md - TRABAJO a realizar
```
**Note**: "Increment", "spec.md", "plan.md", "tasks.md" kept in English (framework terms)
## Quality Guidelines
1. **Accuracy**: Translate meaning, not just words
2. **Natural**: Sound like a native speaker wrote it
3. **Consistency**: Use same terms throughout
4. **Context**: Understand SpecWeave concepts before translating
5. **Formatting**: Preserve markdown, code blocks, links
## Workflow
When you ask me to translate:
1. **Detect Context**: What type of content is this?
2. **Read Source**: If it's a file, I'll read it first
3. **Apply Rules**: Follow translation rules above
4. **Translate**: Use the current LLM session (this conversation)
5. **Preserve Structure**: Maintain formatting, code blocks, etc.
6. **Write Back**: If requested, save translated content
## Limitations
**What I DON'T Do**:
- ❌ Use external translation APIs (everything is LLM-native)
- ❌ Translate code itself (only comments/strings if requested)
- ❌ Change framework structure or behavior
- ❌ Translate incrementally (full content at once for consistency)
**What I DO Best**:
- ✅ Translate documentation and user-facing content
- ✅ Maintain technical accuracy
- ✅ Preserve SpecWeave conventions
- ✅ Work with ANY LLM (Claude, GPT-4, Gemini, etc.)
## Tips for Best Results
1. **Be Specific**: "Translate CLAUDE.md to Russian" > "Translate this"
2. **Provide Context**: Mention if it's CLI, docs, or living docs
3. **Request Preservation**: "Keep framework terms in English" (I do this by default)
4. **Batch Translate**: Give me multiple files at once for consistency
---
**Remember**: I'm using the current LLM session for translation, so there are **zero additional costs** beyond the normal conversation. This is the power of LLM-native multilingual support!
This skill is an LLM-native translator for SpecWeave content that uses the current conversation to produce zero-cost translations. It preserves formatting, code blocks, and key framework terms while supporting multiple languages and internationalization workflows. Use it to translate CLI messages, templates, documentation, and living docs without external APIs or extra cost.
The skill reads the provided content in-session and uses the active LLM to generate translations while preserving markdown, code blocks, filenames, and SpecWeave terms. It applies context-aware rules to keep technical terms and commands in English when appropriate and can handle single messages, full files, or batches. No API keys or external translation services are required; translations happen within the current conversation.
Which languages are supported?
Common languages are supported including English, Russian, Spanish, Chinese, German, French, Japanese, Korean, and Portuguese; others work too—specify the language name.
Will code or filenames be changed?
No—code blocks, examples, filenames, paths, and SpecWeave framework terms remain unchanged unless you explicitly request translation.