| name | moai-project-language-initializer |
| version | 1.0.0 |
| created | Wed Nov 05 2025 00:00:00 GMT+0000 (Coordinated Universal Time) |
| updated | Wed Nov 05 2025 00:00:00 GMT+0000 (Coordinated Universal Time) |
| status | active |
| description | Handle comprehensive project language and user setup workflows including language selection, agent prompt configuration, user profiles, team settings, and domain selection |
| keywords | project, initialization, language, configuration, batch-questions, team-setup |
| allowed-tools | Read, Write, Edit, MultiEdit, Glob, TodoWrite, AskUserQuestion |
MoAI Project Language & User Initializer
This skill manages the comprehensive project initialization workflow that was previously handled in the 0-project.md command. It extracts the complex batched question patterns into a reusable, efficient skill that reduces user interactions while maintaining full functionality.
Core Responsibility
Handle all project setup workflows including:
- Language selection (Korean, English, Japanese, Chinese)
- Agent prompt language configuration (English vs Localized)
- User nickname collection (max 20 chars)
- Team mode configuration (GitHub settings, Git workflows)
- Domain selection processes
- Report generation settings with token cost warnings
- MCP server configuration (Figma Access Token setup)
Usage Patterns
First-Time Project Initialization
# Complete setup workflow
Skill("moai-project-language-initializer")
# Executes: Basic Batch → Team Mode Batch (if applicable) → Report Generation → Domain Selection → MCP Configuration (if applicable)
Settings Modification
# Update specific settings
Skill("moai-project-language-initializer", mode="settings")
Team Mode Configuration
# Configure team-specific settings
Skill("moai-project-language-initializer", mode="team_setup")
Language Support Matrix
| Language | Code | Conversation Language | Agent Prompt Language | Documentation Language |
|---|---|---|---|---|
| English | en | English | English (recommended) | English |
| Korean | ko | 한국어 | English/Locale choice | 한국어 |
| Japanese | ja | 日本語 | English/Locale choice | 日本語 |
| Chinese | zh | 中文 | English/Locale choice | 中文 |
Team Mode Workflows
Feature Branch + PR Workflow
- Best for: Team collaboration, code reviews, audit trails
- Process: feature/SPEC-{ID} branch → PR review → develop merge
- Settings:
spec_git_workflow: "feature_branch"
Direct Commit to Develop Workflow
- Best for: Prototypes, individual projects, rapid iteration
- Process: Direct develop commits (no branches)
- Settings:
spec_git_workflow: "develop_direct"
Per-SPEC Decision Workflow
- Best for: Flexible teams, mixed project types
- Process: Ask user for each SPEC
- Settings:
spec_git_workflow: "per_spec"
Token Cost Management
Report Generation Costs
| Setting | Tokens/Report | Reports/Command | Total Session Tokens | Cost Impact |
|---|---|---|---|---|
| Enable | 50-60 | 3-5 | 150-300 | Full cost |
| Minimal | 20-30 | 1-2 | 20-60 | 80% reduction |
| Disable | 0 | 0 | 0 | Zero cost |
Agent Prompt Language Costs
| Setting | Language | Token Efficiency | Cost Impact |
|---|---|---|---|
| English | English | Baseline | Standard |
| Localized | Korean/Japanese/Chinese | 15-20% more tokens | Higher cost |
Configuration Management
The skill automatically manages .moai/config.json persistence:
Basic Configuration Structure
{
"language": {
"conversation_language": "ko",
"conversation_language_name": "한국어",
"agent_prompt_language": "localized"
},
"user": {
"nickname": "GOOS",
"selected_at": "2025-11-05T12:00:00Z"
}
}
Team Mode Additional Configuration
{
"github": {
"auto_delete_branches": true,
"spec_git_workflow": "feature_branch",
"auto_delete_branches_rationale": "PR 병합 후 원격 브랜치 자동 정리",
"spec_git_workflow_rationale": "SPEC마다 feature 브랜치 생성으로 팀 리뷰 가능"
}
}
Report Generation Configuration
{
"report_generation": {
"enabled": true,
"auto_create": false,
"user_choice": "Minimal",
"warn_user": true,
"configured_at": "2025-11-05T12:00:00Z"
}
}
Domain Selection Configuration
{
"stack": {
"selected_domains": ["frontend", "backend"],
"domain_selection_date": "2025-11-05T12:00:00Z"
}
}
Error Handling & Validation
Input Validation
- Nickname: Max 20 characters, special characters allowed
- Language selection: Must be from supported languages list
- Domain selection: Multi-select with skip option
- Team settings: Boolean and enum validation
Configuration Validation
- JSON schema validation for config.json
- Backward compatibility checks
- Mode detection validation
- Required field presence checks
Error Recovery
- Graceful degradation for missing config sections
- Default value application for invalid inputs
- Retry mechanisms for failed batch calls
- Rollback capability for partial configurations
Integration Points
With Alfred Commands
/alfred:0-project: Primary integration point/alfred:1-plan: Uses domain selection for expert activation/alfred:2-run: Applies language settings to sub-agent prompts/alfred:3-sync: Respects report generation settings
With Other Skills
moai-alfred-ask-user-questions: Uses TUI survey patternsmoai-skill-factory: Can be invoked for skill template applicationmoai-alfred-agent-guide: Provides agent lineup based on domains
Configuration Dependencies
.moai/config.json: Primary configuration storemode: Determines team vs personal workflowgithub: Team-specific settingslanguage: Conversation and prompt language settings
Best Practices
For Users
- Choose English for agent prompts to reduce token costs (15-20% savings)
- Enable Minimal report generation for cost-effective operation
- Configure team settings upfront for consistent workflow
- Select relevant domains for expert agent activation
For Developers
- Use batch patterns to minimize user interactions
- Provide clear token cost warnings before expensive operations
- Validate all inputs before persisting configuration
- Maintain backward compatibility with existing config files
For Team Collaboration
- Use Feature Branch + PR workflow for code review
- Enable auto-delete branches for repository hygiene
- Select appropriate domains for expert agent routing
- Configure consistent language settings across team
- Set up MCP servers with proper authentication (Figma tokens)
MCP Server Configuration
Figma Access Token Setup
When Figma MCP is detected in .claude/settings.json, guide users through token configuration:
Detection Logic
# Check if Figma MCP is configured
settings_path = Path(".claude/settings.json")
if settings_path.exists():
settings = json.loads(settings_path.read_text())
figma_configured = "mcpServers" in settings and "figma" in settings["mcpServers"]
Token Setup Workflow
- Verify Figma MCP Installation: Check for Figma in mcpServers configuration
- Guide Token Creation: Direct user to Figma developer portal
- Secure Token Storage: Configure environment variable or
.envfile - Validation: Test Figma MCP connectivity
User Guidance Messages
🔐 Figma Access Token Setup Required
Your project has Figma MCP configured, but needs an access token:
Steps:
1. Visit: https://www.figma.com/developers/api#access-tokens
2. Create a new access token
3. Choose storage method:
- Environment variable (recommended): export FIGMA_ACCESS_TOKEN=your_token
- .env file: Add FIGMA_ACCESS_TOKEN=your_token to .env
- Shell profile: Add to ~/.zshrc or ~/.bashrc
4. Restart Claude Code to activate token
Token Validation
def validate_figma_token():
"""Test Figma MCP connectivity with token"""
# Try to access Figma files via MCP
# Return success/failure with guidance
MCP Server Status Checking
Provide users with current MCP server status:
def check_mcp_status():
"""Check all configured MCP servers"""
servers = {
"context7": check_context7_mcp(),
"figma": check_figma_mcp(),
"playwright": check_playwright_mcp()
}
return servers
Implementation Notes
This skill extracts and consolidates the complex initialization logic from the original 0-project.md command (800 lines) into a focused, reusable skill (500 lines) while maintaining:
- Full functionality: All original features preserved
- UX improvements: Batch calling patterns maintained
- Error handling: Comprehensive validation and recovery
- Integration: Seamless compatibility with existing workflows
- Performance: Optimized configuration management
The skill serves as a foundation for project initialization and can be extended with additional configuration patterns as needed.