Configure and customize skills for your workspace by asking questions and updating skill files with your preferences.
Scanned 2/12/2026
Install via CLI
openskills install majiayu000/claude-skill-registry---
name: install-skills
description: Configure and customize skills for your workspace by asking questions and updating skill files with your preferences.
argument-hint: [skill-name]
disable-model-invocation: false
allowed-tools: Read, Edit, AskUserQuestion
---
# Install Skills Configuration Tool
Configure skills by asking the user for their preferences and updating the skill files accordingly.
## Arguments
- `$0` (optional): Skill name to configure. If not provided, configure all available skills that need setup.
## Supported Skills
### Build Skill
The `build` skill can be configured with:
1. **Build directory pattern**: Where builds are stored relative to workspace
- **Always prompt with at least these options:**
- `build/${buildType}` (e.g., `build/Debug`, `build/Release`) - Recommended
- `build` (single build directory)
- Additional optional patterns:
- `cmake-build-${buildType}` (CLion style)
- Custom pattern
2. **Default build type**: What build type to use when not specified
- Options: `Release`, `Debug`, `RelWithDebInfo`, `ASAN`, `TSAN`, `MSAN`, `UBSAN`
3. **Default target**: What to build by default
- Common targets: `clickhouse`, `clickhouse-server`, `clickhouse-client`, or build all
### Test Skill
The `test` skill can be configured with:
1. **Build directory pattern**: Where to find the clickhouse binary for testing
- Should match the build skill configuration
- Used to set PATH for test runner
- **Always prompt with at least:** `build/${buildType}` and `build`
2. **Default build type for testing**: Which build to use when running tests
- Options: `Release`, `Debug`, `RelWithDebInfo`, `ASAN`, `TSAN`, etc.
- Typically the same as the build skill default
## Configuration Process
1. **Identify the skill to configure:**
- If `$ARGUMENTS` is provided, configure that specific skill
- Otherwise, configure all available skills that need setup (build and test together)
2. **When configuring both build and test skills together:**
- Ask all questions upfront (build directory, default build type, default target)
- Use the same answers to configure both skills
- The test skill will use the same build directory and default build type as the build skill
- After configuration, update CLAUDE.md to load both skills
3. **For the build skill:**
a. **Ask about build directory structure:**
- Use `AskUserQuestion` to ask: "What is your build directory structure?"
- **MANDATORY:** Always include at least these two options:
- `build/${buildType}` - Separate directory per build type (e.g., build/Debug, build/Release)
- `build` - Single build directory for all build types
- Additional optional options:
- `cmake-build-${buildType}` - CLion/JetBrains style
- Custom - Let user specify their own pattern
b. **Ask about default build type:**
- Use `AskUserQuestion` to ask: "What should be the default build type?"
- Options (with descriptions):
- `RelWithDebInfo` - Optimized with debug info (recommended for development)
- `Debug` - Full debug symbols, no optimization
- `Release` - Fully optimized, no debug info
- `ASAN` - AddressSanitizer build
- `TSAN` - ThreadSanitizer build
- Other sanitizers as options
c. **Ask about default target:**
- Use `AskUserQuestion` to ask: "What should be the default build target?"
- Options:
- `clickhouse` - Main binary (recommended)
- `clickhouse-server` - Server only
- `clickhouse-client` - Client only
- `all` - Build everything
- Custom - Let user specify
d. **Update the build skill file:**
- Read `.claude/skills/build/SKILL.md`
- Use `Edit` tool to update:
- Build directory path pattern
- Default build type in the arguments section
- Default target in the arguments section
- Update examples to reflect new defaults
- Update the "Build Process" section with the actual paths
3. **For the test skill:**
a. **Ask about build directory structure:**
- Use the same build directory structure selected for the build skill
- Or ask separately if configuring test skill independently
- **MANDATORY:** When asking, always include at least these two options:
- `build/${buildType}` - Separate directory per build type
- `build` - Single build directory
b. **Ask about default build type for testing:**
- Use `AskUserQuestion` to ask: "Which build should be used for running tests?"
- Options (with descriptions):
- `RelWithDebInfo` - Optimized with debug info (recommended, same as build default)
- `Debug` - Full debug build
- `Release` - Optimized build
- `ASAN` - AddressSanitizer build (for memory testing)
- `TSAN` - ThreadSanitizer build (for concurrency testing)
c. **Update the test skill file:**
- Read `.claude/skills/test/SKILL.md`
- Use `Edit` tool to update:
- Binary path in step 3 (verify server) to match build directory pattern
- Binary path in step 4 (PATH export) to match build directory pattern
- Update examples and notes with correct paths
4. **Confirm configuration:**
- Show summary of changes made
- Confirm the skill is now configured for their workspace
- Provide example commands they can use
5. **Update CLAUDE.md to load configured skills:**
After configuring skills, update `.claude/CLAUDE.md` to include them in the "Always load and apply" section:
a. **Read the current CLAUDE.md:**
- Use `Read` tool to read `.claude/CLAUDE.md`
b. **Update the skills list:**
- Find the section that starts with "Always load and apply the following skills:"
- The section currently lists only `.claude/skills/install-skills`
- Add entries for all configured skills:
- `.claude/skills/build` - if build skill was configured
- `.claude/skills/test` - if test skill was configured
c. **Use Edit to update CLAUDE.md:**
- Replace the skills list to include all configured skills
- Maintain the format with one skill per line prefixed with "- "
- Example result:
```
Always load and apply the following skills:
- .claude/skills/install-skills
- .claude/skills/build
- .claude/skills/test
```
d. **Confirm the update:**
- Inform user that CLAUDE.md has been updated to load the configured skills
- Explain that the skills will be automatically available in future sessions
## Implementation Details
- Always use `AskUserQuestion` to gather preferences before making changes
- Use `Read` to read the current skill files and CLAUDE.md
- Use `Edit` to make precise updates to skill files and CLAUDE.md
- Present clear options with descriptions to help users choose
- **IMPORTANT:** When prompting for build directory, ALWAYS include at minimum: `build/${buildType}` and `build` as options
- Validate user inputs before applying changes
- Show before/after summary of what changed
- After configuring skills, always update CLAUDE.md to include them in the load list
## Example Usage
- `/install-skills` - Configure all skills (build and test together)
- `/install-skills build` - Configure only the build skill
- `/install-skills test` - Configure only the test skill
## Notes
- Configuration is workspace-specific and stored in `.claude/skills/`
- Changes are made to the local skill files
- Users can manually edit skill files later if needed
- The tool preserves other skill content while updating only the specified sections
No comments yet. Be the first to comment!