
WorkBuddy Skill setup: Using 'preset instructions' for free translation to save 2 hours daily
Every time I take on a new client, I have to repeat the same spiel: which version of the glossary to use, whether output format should be markdown or txt, don't translate proper nouns, force half-width punctuation, add spaces between Chinese and English... Annoying? Yes. After repeating this for three years, I decided to plug this hole once and for all using WorkBuddy's Skill feature.
My environment is macOS + WorkBuddy Desktop. It might not apply to everyone, but the logic is universal.
Phenomenon: The "repetitive labor" in AI conversations is more tiring than translation itself
There's a weird cycle in the translation industry: you spend 10 minutes translating a paragraph, then 5 minutes writing instructions telling the AI how to fix it. Next time you switch clients, you spend another 5 minutes rewriting. By the end of the day, less than half your time was spent actually translating. The problem isn't that the AI isn't smart enough; it's that you're reinventing the wheel every time.
Cause: Failing to turn "rules" into reusable files
WorkBuddy's Skill is essentially just a folder, with SKILL.md as the core. Like most people, I initially wrote long instructions directly in the chat box. Later, I realized that once the conversation closed, the context was lost. The next day, when I asked again, the AI forgot who I was.
Later, following the official docs, I created my first Skill called trans-en-zh.
Operation path: Open WorkBuddy → Click "Skills" on the left → Click "New" → Enter name trans-en-zh → The system automatically generates the ~/.workbuddy/skills/trans-en-zh/ folder. Inside, there's only SKILL.md by default.
The header of SKILL.md must include YAML metadata:
---
name: EN_to_ZH_Tech_Docs
description: Activate only when the user explicitly says "translate" and mentions the client name
agent_created: true
---
I stumbled on the description. Initially, I wrote it too broadly (e.g., "Help the user translate"), resulting in it popping up to say "Please provide text" whenever I asked "How do I read this API doc?" Later, I changed it to precise keyword matching, triggering only for "Translate XX client's file."
Then I wrote the body rules. I included these:
- Glossary path:
references/glossary.csv, automatically loaded before each translation - Output template:
templates/dual-column.html, bilingual comparison as required by the client - Format rules: Do not translate proper nouns; mark original text with
* - Quality check: Call
scripts/qa-check.pyto check for omissions and punctuation errors
Implementation Configuration: More key parameters aren't necessarily better
There are only three core parameters in my Skill setup:
trigger_keywordsare written in the YAMLdescription. I only include "translate" and each client's abbreviation, e.g., "Client A," "Client B." This prevents accidental triggers during daily queries (like "What's the weather today?").output_formatis forced tomarkdown, but the template defines HTML rendering because the client needs to copy-paste directly into Notion. I placed afinal-output.mdintemplates/as an intermediate format, then converted it viamd2html.shinscripts/. This allows debugging by viewing the raw markdown.compliancerules are inCOMPLIANCE.md: sensitive word library (industry terms banned by the client), character limits (each paragraph under 200 characters).
Permissions/Collaboration Strategy: Solo use, but prevent slips
I'm the only user, but the Skill folder is in a sync drive, occasionally continued on iPad. I did two things:
- Set all Skill
SKILL.mdfiles tochmod 644(read-only) to prevent accidental edits. Manuallychmod 744when changes are needed. - Use different Skills for different clients, named
trans-clientname. Clearly state the client name in thedescriptionto avoid AI confusion. For example,trans-googleandtrans-mshave different glossaries and output formats.
Daily Maintenance Tips: Spend 10 minutes scanning every Friday
- Check if
references/glossary.csvhas new unrecorded terms. Every Friday, I review new words encountered in last week's translations and add them. - Check sub-Agent configurations under
agents/. I set up aqa-agentspecifically to run spell checks before output. If it gets stuck, check logs (~/.workbuddy/logs/) to locate issues, usually caused by incorrect script paths.
Pitfall Avoidance: The dumbest trap is forgetting agent_created: true
When creating my first Skill, I missed this field. As a result, WorkBuddy ignored all rules within the Skill, treating it as normal chat. It took two hours of checking docs to find out. Another trap: Scripts in scripts/ must use absolute paths, otherwise WorkBuddy can't find them. I initially used ./qa-check.py and got an error; changing it to /Users/lin/.workbuddy/skills/trans-en-zh/scripts/qa-check.py made it work.
Trend: The replication cost of Skills approaches zero
Now, taking on a new client just requires copying a trans-template folder, modifying the description and glossary.csv, and it's done in 10 minutes. Previously, I'd write 30 minutes of instructions; now it's one sentence: "Translate Client C's email, attachment is on the desktop."
Summary in one sentence: WorkBuddy
Original link: https://cloud.tencent.com/developer/article/2703186
Physix Frontier