From planning-plugin
Change the working language of an existing specification. Use when transferring a project to a team member who works in a different language.
How this skill is triggered — by the user, by Claude, or both
Slash command
/planning-plugin:migrate-languageThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Migrate working language for: **$ARGUMENTS**
Migrate working language for: $ARGUMENTS
.claude/planning-plugin.json from the current project directory"Planning Plugin is not configured for this project. Run
/planning-plugin:initto set up."
supportedLanguages (default: ["en", "ko", "vi"])en = English, ko = Korean, vi = VietnameseCommunication language: All user-facing output in this skill (summaries, questions, feedback presentations, next-step guidance) must be in {workingLanguage_name}.
--to={lang} flag: target language code (required)/planning-plugin:migrate-language feature-name --to=visupportedLanguages. If not, error: "Unsupported language: {lang}. Supported languages: {supportedLanguages}"docs/specs/{feature}/.progress/{feature}.json/planning-plugin:spec first."workingLanguage from the progress fileworkingLanguage equals the target language, error: "Already using {lang_name} ({lang}) as the working language."docs/specs/{feature}/{to}/{feature}-spec.md/planning-plugin:translate {feature} first."Display the migration summary and ask for confirmation:
Working language change: {current_lang_name} ({current_lang}) → {target_lang_name} ({target_lang})
Feature: {feature}
Status: {current status from progress file}
⚠ All translations will be marked as out of sync.
Continue?
If the user declines, abort with: "Migration cancelled."
Perform these changes in order:
4a. Remove sync header from new source file
Read docs/specs/{feature}/{to}/{feature}-spec.md and remove the <!-- Synced with ... --> comment line at the top of the file (if present).
4b. Update progress file
Read and update docs/specs/{feature}/.progress/{feature}.json:
workingLanguage to the target languagetranslations:
translations (it is now the source)workingLanguage as a new key in translations{ "synced": false, "lastSyncedAt": null }Write the updated progress file.
Display:
✅ Working language migrated: {old_lang_name} → {new_lang_name}
Changes:
- Source of truth: docs/specs/{feature}/{to}/{feature}-spec.md
- Progress file updated: workingLanguage → "{to}"
- All translations marked as out of sync
Next steps:
1. Edit the {new_lang_name} spec at docs/specs/{feature}/{to}/{feature}-spec.md
2. Run /planning-plugin:translate {feature} to re-sync translations from the new source
3. To also change the default language for new specs, update .claude/planning-plugin.json
npx claudepluginhub ohmyhotelco/hare-cc-plugins --plugin planning-pluginInjects i18n considerations into brainstorming, planning, and review workflows. Prompts teams to think about localization before code is written; adapts enforcement based on project configuration.
Translates agent-almanac content (skills, agents, teams, guides) into a target locale while preserving code blocks, IDs, and technical structure. Use when localizing content for a new language, updating stale translations, or batch-translating a domain.
Sets up Lokalise local dev loop: i18n structure, TS exports, push/pull scripts, auto-sync watching, React/Vue integrations, mocks, pre-commit hooks.