Installs into .claude/skills of the current project.
Are you the author of Init Config?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/majiayu000-init-config-claude-skill-registry)
---
name: init-config
description: Generate $HOME/.claude/CLAUDE.md with AI-driven environment detection and advanced configuration options
argument-hint: []
user-invocable: true
allowed-tools:
# Core file and interaction tools
- Read
- Write
- TodoWrite
- AskUserQuestion
- WebSearch
# Bash: System commands
- Bash(*)
---
## Initialization
1. **Track Progress**
- Use the **TodoWrite** tool to create a task list for all phases of this workflow.
- Update the status of tasks as you complete each phase.
## Phase 1: Environment Discovery
**Goal**: Understand the user's technology stack by detecting installed languages, tools, and package managers.
**Actions**:
1. **Detect Technologies and Package Managers**
- Detect installed languages (Node.js, Python, Rust, Go, Java, Docker, etc.)
- For languages with multiple package managers, detect all available options
- Store detected information for later selection
## Phase 2: Developer Profile
**Goal**: Collect developer name and email for personalized configuration.
**Actions**:
Ask for developer name and email using **AskUserQuestion** with 2 questions:
- **Question 1**: "What is your name?"
- Header: "Developer"
- Option: `{"label": "Skip name", "description": "Don't include name in configuration"}`
- Note: User inputs custom name via automatic "Other" option (no additional placeholder needed)
- **Question 2**: "What is your email address?"
- Header: "Contact"
- Option: `{"label": "Skip email", "description": "Don't include email in configuration"}`
- Note: User inputs custom email via automatic "Other" option (no additional placeholder needed)
Important: Only provide the "Skip" option. The "Other" option is automatically provided for direct text input.
## Phase 3: TDD Preference
**Goal**: Determine if Test-Driven Development requirements should be included in the configuration.
**Actions**:
Ask if TDD should be included using **AskUserQuestion**:
- Header: "TDD Mode"
- Question: "Should the configuration include Test-Driven Development (TDD) requirements?"
- Options:
- `{"label": "Include TDD (Recommended)", "description": "Add mandatory TDD workflow"}`
- `{"label": "Exclude TDD", "description": "Generate without TDD requirements"}`
Store the user's choice (true/false) for use in Phase 7.
## Phase 4: Technology Stack & Package Manager Selection
**Goal**: Select technology stacks and preferred package managers for each language.
**Actions**:
1. **Select Technology Stacks**
- Use **AskUserQuestion** with `multiSelect: true`
- Header: "Tech Stack"
- Question: "Which technology stacks should be included?"
- Dynamically generate options based on detected technologies
- Mark detected tools as "Recommended"
2. **Select Package Managers** (if multiple detected for selected languages)
- For each language with multiple package managers, ask user preference
- **Node.js** options: npm, pnpm (Recommended), yarn, bun
- **Python** options: pip, uv (Recommended), poetry
- Only show detected package managers
## Phase 5: Best Practices Research
**Goal**: Optionally search for and append latest 2026 best practices for selected technologies.
**Actions**:
Ask if web search should be performed using **AskUserQuestion**:
- Header: "Research"
- Question: "Search for latest best practices for selected technologies?"
- Options:
- `{"label": "Search and append (Recommended)", "description": "Find 2026 best practices"}`
- `{"label": "Skip search", "description": "Use only base template"}`
If enabled, search and extract 2-3 key sentences for each technology:
- **Plain text only**: Extract descriptive sentences about best practices
- **No code snippets**: Exclude bash commands, code examples, or command-line instructions
- **No URLs**: Remove all links and references to external resources
- Format as simple, readable paragraphs or bullet points
## Phase 6: Style Preference
**Goal**: Determine emoji usage preference for the generated configuration.
**Actions**:
Ask emoji preference using **AskUserQuestion**:
- Header: "Style"
- Question: "Should emojis be used in the configuration files?"
- Options:
- `{"label": "No Emojis (Recommended)", "description": "Professional, text-only formatting"}`
- `{"label": "Use Emojis", "description": "Add visual indicators using emojis"}`
## Phase 7: Assembly & Generation
**Goal**: Assemble final configuration content from template fragments, developer profile, and technology sections.
**Actions**:
1. **Assemble template using script**:
- Run: `${CLAUDE_PLUGIN_ROOT}/scripts/assemble-template.sh "${CLAUDE_PLUGIN_ROOT}/assets/claude-template-no-tdd.md" "<tdd_choice>" "<temp_output_file>" "${CLAUDE_PLUGIN_ROOT}"`
- Where `<tdd_choice>` is "true" if TDD was selected in Phase 3, "false" otherwise
- Use a temporary file for the assembled template
2. **Prepare Developer Profile Section**
```markdown
## Developer Profile
- **Name**: [User's Name or "Developer"]
- **Email**: [User's Email or omit if skipped]
```
3. **Generate Tech Stack Sections**
- Generate configuration for each selected technology
- Use selected package managers in all examples
- Apply emoji preference
- Append web search summaries if enabled
4. **Assemble Final Content**
- Read the assembled template from step 1
- Combine: header + developer profile + assembled template + tech stack sections
## Phase 8: Length Validation
**Goal**: Validate that the generated configuration meets optimal length requirements (1,500-3,000 words).
**Actions**:
1. **Validate content length**
- Write assembled content to a temporary file
- Run validation script: `${CLAUDE_PLUGIN_ROOT}/scripts/validate-length.sh`
2. **Handle results**:
- ACCEPTABLE/OPTIMAL: Proceed to Phase 9
- TOO_LONG/EXCESSIVE: Ask user via **AskUserQuestion**:
- Header: "Length"
- Question: "Configuration exceeds best practice length. How to proceed?"
- Options: Auto-trim / Keep as-is / Manual review
- TOO_SHORT: Show info and proceed
## Phase 9: Write CLAUDE.md
**Goal**: Write the final configuration to the user's home directory with comprehensive summary reporting.
**Actions**:
1. **Write final file to `$HOME/.claude/CLAUDE.md`**
- Check if `$HOME/.claude/CLAUDE.md` exists
- Backup to `$HOME/.claude/CLAUDE.md.bak` if needed
- Ensure directory `$HOME/.claude/` exists
- Write assembled content to `$HOME/.claude/CLAUDE.md`
2. **Report summary**
- File location: `$HOME/.claude/CLAUDE.md`
- Backup location (if created)
- Developer info
- TDD mode
- Technology stacks with package managers
- Web search status
- Word count and validation status
## Best Practices
- Progressive workflow: Each phase builds on previous results
- User control: Always ask before making significant decisions
- Safety: Always backup existing files before overwriting