Configure skills by asking the user for their preferences and updating the skill files accordingly.
The
skill can be configured with:
-
Build directory pattern: Where builds are stored relative to workspace
- Always prompt with at least these options:
- (e.g., , ) - Recommended
- (single build directory)
- Additional optional patterns:
- (CLion style)
- Custom pattern
-
Default build type: What build type to use when not specified
-
Default target: What to build by default
- Common targets: , , , or build all
The
skill can be configured with:
-
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: and
-
Default build type for testing: Which build to use when running tests
- Options: , , , , , etc.
- Typically the same as the build skill default
-
Identify the skill to configure:
- If is provided, configure that specific skill
- Otherwise, configure all available skills that need setup (build and test together)
-
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
-
For the build skill:
a. Ask about build directory structure:
- Use to ask: "What is your build directory structure?"
- MANDATORY: Always include at least these two options:
- - Separate directory per build type (e.g., build/Debug, build/Release)
- - Single build directory for all build types
- Additional optional options:
- - CLion/JetBrains style
- Custom - Let user specify their own pattern
b. Ask about default build type:
- Use to ask: "What should be the default build type?"
- Options (with descriptions):
- - Optimized with debug info (recommended for development)
- - Full debug symbols, no optimization
- - Fully optimized, no debug info
- - AddressSanitizer build
- - ThreadSanitizer build
- Other sanitizers as options
c. Ask about default target:
- Use to ask: "What should be the default build target?"
- Options:
- - Main binary (recommended)
- - Server only
- - Client only
- - Build everything
- Custom - Let user specify
d. Update the build skill file:
- Read
.claude/skills/build/SKILL.md
- Use 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
-
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:
- - Separate directory per build type
- - Single build directory
b. Ask about default build type for testing:
- Use to ask: "Which build should be used for running tests?"
- Options (with descriptions):
- - Optimized with debug info (recommended, same as build default)
- - Full debug build
- - Optimized build
- - AddressSanitizer build (for memory testing)
- - ThreadSanitizer build (for concurrency testing)
c. Update the test skill file:
- Read
.claude/skills/test/SKILL.md
- Use 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
-
Confirm configuration:
- Show summary of changes made
- Confirm the skill is now configured for their workspace
- Provide example commands they can use
-
Update CLAUDE.md to load configured skills:
After configuring skills, update
to include them in the "Always load and apply" section:
a. Read the current 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:
- - if build skill was configured
- - 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