Generate $HOME/.claude/CLAUDE.md with AI-driven environment detection and advanced configuration options
Scanned 9/2/2026
Install to Claude Code
npx -y skills add majiayu000/claude-skill-registry --skill init-config --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Init Config?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/majiayu000-init-config-claude-skill-registry)More formats (shields.io, HTML) on the badges page.
---
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
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!