npx claudepluginhub parhumm/jaan-to --plugin jaan-toThis skill is limited to using the following tools:
> Generate multi-language microcopy packs for UI components.
Creates isolated Git worktrees for feature branches with prioritized directory selection, gitignore safety checks, auto project setup for Node/Python/Rust/Go, and baseline verification.
Executes implementation plans in current session by dispatching fresh subagents per independent task, with two-stage reviews: spec compliance then code quality.
Dispatches parallel agents to independently tackle 2+ tasks like separate test failures or subsystems without shared state or dependencies.
Generate multi-language microcopy packs for UI components.
$JAAN_CONTEXT_DIR/config.md - Configuration$JAAN_CONTEXT_DIR/localization.md - Language preferences (auto-created if missing)$JAAN_CONTEXT_DIR/tone-of-voice.md - Tone guidelines (auto-created if missing)$JAAN_TEMPLATES_DIR/jaan-to-ux-microcopy-write.template.md - Output template$JAAN_LEARN_DIR/jaan-to-ux-microcopy-write.learn.md - Past lessons (loaded in Pre-Execution)${CLAUDE_PLUGIN_ROOT}/docs/extending/language-protocol.md - Language resolution protocol${CLAUDE_PLUGIN_ROOT}/docs/extending/ux-microcopy-write-reference.md - Per-language rules, export templates, JSON schema, output format, definition of doneInitiative: $ARGUMENTS
IMPORTANT: The initiative/feature description above is your input. Use it directly. Do NOT ask for the initiative again.
Optional: Screenshot paths can be provided to show UI elements where copy appears. Images will be embedded in the output as .
MANDATORY — Read and execute ALL steps in: ${CLAUDE_PLUGIN_ROOT}/docs/extending/pre-execution-protocol.md
Skill name: ux-microcopy-write
Execute: Step 0 (Init Guard) → A (Load Lessons) → B (Resolve Template) → C (Offer Template Seeding)
Read and apply language protocol: ${CLAUDE_PLUGIN_ROOT}/docs/extending/language-protocol.md
Override field for this skill: language_ux-microcopy-write
Language exception: This setting controls only plugin conversation language. The multi-language microcopy output is independently controlled by
$JAAN_CONTEXT_DIR/localization.mdand this skill's own Language Selection step.
Check if language preferences already exist:
Use Read tool on: $JAAN_CONTEXT_DIR/localization.md
If file exists:
If file does NOT exist OR user selected "Modify":
Show available languages:
Use AskUserQuestion:
If "Custom" selected:
Write language preferences to: $JAAN_CONTEXT_DIR/localization.md
Check if tone preferences already exist:
Use Read tool on: $JAAN_CONTEXT_DIR/tone-of-voice.md
If file exists:
If file does NOT exist OR user selected "Modify":
Use AskUserQuestion:
If "Sample-based" selected:
Reference: See
${CLAUDE_PLUGIN_ROOT}/docs/extending/ux-microcopy-write-reference.mdsection "Tone Profile Detection Template" for the display template with formality, warmth, directness, emotion levels and language-specific pronouns.
Write tone profile to: $JAAN_CONTEXT_DIR/tone-of-voice.md
Analyze initiative/feature description for microcopy needs using keyword detection:
Reference: See
${CLAUDE_PLUGIN_ROOT}/docs/extending/ux-microcopy-write-reference.mdsection "Category Detection Rules" for keyword-to-category mapping rules.
Show detected categories + additional common ones:
SMART CATEGORY DETECTION
────────────────────────
Based on your initiative, I detected these categories:
✓ {detected category 1}
✓ {detected category 2}
✓ {detected category 3}
Additional common categories:
○ {suggested category 1}
○ {suggested category 2}
Available microcopy categories (11 total):
Reference: See
${CLAUDE_PLUGIN_ROOT}/docs/extending/ux-microcopy-write-reference.mdsection "Microcopy Categories Catalog" for the full list of 11 categories with descriptions.
Use AskUserQuestion:
If "Custom" selected:
For each selected category, build inventory of items needed:
For each category, show common examples and ask:
Reference: See
${CLAUDE_PLUGIN_ROOT}/docs/extending/ux-microcopy-write-reference.mdsection "Category Item Examples" for common examples per category (Labels & Buttons, Error Messages, etc.) to show users when building inventory.
If screenshot paths were provided, read images to identify visible UI elements needing copy and inform category/item selection.
After gathering counts, build complete inventory list:
ITEM INVENTORY
──────────────
Labels & Buttons: 8 items
Error Messages: 5 items
Success Messages: 3 items
CTAs: 6 items
Total: 22 items across 4 categories
Show complete plan before proceeding:
MICROCOPY GENERATION PLAN
──────────────────────────
Languages: {list with native names} ({n} languages)
Tone Profile: {tone summary}
Categories: {selected categories} ({n} categories)
Total Items: {count} items
Process:
1. Generate 3 English options per item
2. Iterate up to 5 rounds if needed
3. Support custom user input
4. Translate to all {n} languages
5. Cultural adaptation per language
6. RTL handling for Persian
7. Quality validation checklist
Output Files:
- $JAAN_OUTPUTS_DIR/ux/content/{id}-{slug}/{id}-microcopy-{slug}.md
- $JAAN_OUTPUTS_DIR/ux/content/{id}-{slug}/{id}-microcopy-{slug}.json
Use AskUserQuestion:
If "Edit": Return to appropriate step based on user feedback
Do NOT proceed to Phase 2 without explicit approval.
For each item in inventory:
GENERATING ITEM {current}/{total}
──────────────────────────────────
Category: {category_name}
Item Type: {item_description}
Tone: {tone_profile}
Generate 3 options in English following best practices:
Reference: See
${CLAUDE_PLUGIN_ROOT}/docs/extending/ux-microcopy-write-reference.mdsection "Generation Best Practices" for per-category guidelines (Error Messages, CTAs/Labels, Empty States, Success Messages) with structure patterns and examples.
Show 3 options to user:
Option 1: {text1}
Option 2: {text2}
Option 3: {text3}
Use AskUserQuestion:
If "My own" selected:
If "More" selected:
If "Option 1/2/3" selected:
For each selected language, translate approved English text with cultural adaptation:
Reference: See
${CLAUDE_PLUGIN_ROOT}/docs/extending/ux-microcopy-write-reference.mdsection "Per-Language Translation Rules" for full per-language rules (pronouns, punctuation, text expansion, script/direction).
Apply the language-specific rules from the reference to each translation. Store translations in memory for output generation.
After each item completed, show:
✓ Item {current}/{total} completed
Category: {category}
EN: {english_text}
Translated to {n} languages
Continue loop until all items completed.
Before writing output, validate all generated microcopy:
Universal Checks:
 syntax and URL-encoded pathsReference: See
${CLAUDE_PLUGIN_ROOT}/docs/extending/ux-microcopy-write-reference.mdsection "Quality Validation: Language-Specific Checks" for per-language and cultural adaptation checklists.
If any check fails:
Source ID generator and generate next ID:
source "${CLAUDE_PLUGIN_ROOT}/scripts/lib/id-generator.sh"
SUBDOMAIN_DIR="$JAAN_OUTPUTS_DIR/ux/content"
NEXT_ID=$(generate_next_id "$SUBDOMAIN_DIR")
Generate slug from feature name:
Generate executive summary:
Multi-language microcopy pack for {feature_name} covering {n} categories ({category_list}) in {n} languages ({language_list}). Includes culturally-adapted copy with RTL support for Persian/Farsi and tone-of-voice consistency across all languages.
Reference: See
${CLAUDE_PLUGIN_ROOT}/docs/extending/ux-microcopy-write-reference.mdsection "Output Preview Format" for the complete preview template with metadata, category items, character counts, and native speaker warning.
Use AskUserQuestion:
If "Revise": Loop back to Step 5 for specific items
If screenshot paths were provided:
Reference: See
${CLAUDE_PLUGIN_ROOT}/docs/extending/asset-embedding-reference.mdfor the asset resolution protocol (path detection, copy rules, markdown embedding).
Source ${CLAUDE_PLUGIN_ROOT}/scripts/lib/asset-handler.sh. For each screenshot: check is_jaan_path — if inside $JAAN_*, reference in-place; if external, ask user before copying. Use resolve_asset_path for markdown-relative paths.
If approved:
OUTPUT_FOLDER="$JAAN_OUTPUTS_DIR/ux/content/${NEXT_ID}-${slug}"
mkdir -p "$OUTPUT_FOLDER"
Write to: $OUTPUT_FOLDER/${NEXT_ID}-microcopy-${slug}.md
Use template from: $JAAN_TEMPLATES_DIR/jaan-to-ux-microcopy-write.template.md
Reference: See
${CLAUDE_PLUGIN_ROOT}/docs/extending/ux-microcopy-write-reference.mdsection "Main File Sections" for the complete list of sections to fill (title, summary, metadata, warnings, localization, tone, items, exports, validation).
Write to: $OUTPUT_FOLDER/${NEXT_ID}-microcopy-${slug}.json
Reference: See
${CLAUDE_PLUGIN_ROOT}/docs/extending/ux-microcopy-write-reference.mdsection "JSON Output Structure" for the complete JSON schema with metadata, translations, direction, and script fields.
Source index updater:
source "${CLAUDE_PLUGIN_ROOT}/scripts/lib/index-updater.sh"
Add to index:
add_to_index \
"$SUBDOMAIN_DIR/README.md" \
"$NEXT_ID" \
"${NEXT_ID}-${slug}" \
"{Feature Name}" \
"{Executive Summary from Step 7}"
Show confirmation:
✅ MICROCOPY PACK CREATED
─────────────────────────
ID: {NEXT_ID}
Folder: $JAAN_OUTPUTS_DIR/ux/content/{NEXT_ID}-{slug}/
Main: {NEXT_ID}-microcopy-{slug}.md
JSON: {NEXT_ID}-microcopy-{slug}.json
Index: Updated $JAAN_OUTPUTS_DIR/ux/content/README.md
Total Items: {n} items across {n} categories in {n} languages
Reference: See
${CLAUDE_PLUGIN_ROOT}/docs/extending/ux-microcopy-write-reference.mdsection "Export Format Templates" for React i18next, Vue i18n, and ICU MessageFormat examples with installation and usage code.
Show export format examples from the reference to the user, tailored to their generated microcopy data.
Use AskUserQuestion:
If "Fix now" or "Both":
If "Learn" or "Both":
/jaan-to:learn-add ux-microcopy-write "{feedback}"If "No":
$JAAN_OUTPUTS_DIR pathReference: See
${CLAUDE_PLUGIN_ROOT}/docs/extending/ux-microcopy-write-reference.mdsection "Definition of Done" for the complete 14-item checklist (language prefs, tone, categories, languages, validation, ID, files, index, review warning, exports, approval).