Skip to content

Consolidate language variants into a single skill with locale parameter #130

@sean3808

Description

@sean3808

Problem

The current plugin registers 6 separate skills for language support:

  • planning-with-files (English)
  • planning-with-files-ar (Arabic)
  • planning-with-files-de (German)
  • planning-with-files-es (Spanish)
  • planning-with-files-zh (Chinese Simplified)
  • planning-with-files-zht (Chinese Traditional)

Each variant appears as a distinct entry in the user's skill list. For users who only need one language, the other 5 are dead weight — they clutter the skill list and consume system prompt tokens on every session (each skill's description is injected into context).

Analysis

After inspecting v2.33.0:

Aspect Same across all 6?
Scripts (session-catchup.py, init-session.sh, etc.) ✅ Byte-for-byte identical
Templates ✅ Identical structure
Core logic in SKILL.md ✅ Same rules, same workflow
SKILL.md prose & hook command_message ❌ Translated per language

The only difference is the natural-language text in SKILL.md and hook messages. The actual planning logic is identical.

Why this is unnecessary

AI coding assistants (Claude Code, Cursor, Codex, etc.) already respond in the user's configured output language regardless of the skill's source language. A user with output: zh-TW configured will get Traditional Chinese responses from an English SKILL.md — the AI handles the translation naturally.

Duplicating the entire skill per language:

  1. Pollutes the skill list — users see 5 skills they'll never invoke
  2. Wastes context tokens — each skill description is loaded into the system prompt every session
  3. Increases maintenance burden — any logic change must be replicated across 6 SKILL.md files

Suggestion

Consolidate into a single skill (planning-with-files) with one of these approaches:

Option A: Single SKILL.md, let the AI translate

Remove language variants entirely. The English SKILL.md already works for all languages because the AI translates its output. This is the simplest approach.

Option B: Locale parameter

Keep one skill, add an optional locale argument:

/plan --locale zh-TW

If locale-specific hook messages are important, the skill can select the appropriate message strings at runtime.

Option C: User-configurable locale in config

Add a locale field to the plugin config that controls hook message language, without duplicating the skill.

Environment

  • Plugin version: 2.33.0
  • Platform: Windows 11 / Claude Code CLI

Thanks for the great plugin — the core planning workflow is solid. This is purely a packaging concern.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions