Claude-skill-registry install-skills
Configure and customize skills for your workspace by asking questions and updating skill files with your preferences.
git clone https://github.com/majiayu000/claude-skill-registry
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/install-skills" ~/.claude/skills/majiayu000-claude-skill-registry-install-skills && rm -rf "$T"
skills/data/install-skills/SKILL.mdInstall Skills Configuration Tool
Configure skills by asking the user for their preferences and updating the skill files accordingly.
Arguments
(optional): Skill name to configure. If not provided, configure all available skills that need setup.$0
Supported Skills
Build Skill
The
build skill can be configured with:
-
Build directory pattern: Where builds are stored relative to workspace
- Always prompt with at least these options:
(e.g.,build/${buildType}
,build/Debug
) - Recommendedbuild/Release
(single build directory)build
- Additional optional patterns:
(CLion style)cmake-build-${buildType}- Custom pattern
- Always prompt with at least these options:
-
Default build type: What build type to use when not specified
- Options:
,Release
,Debug
,RelWithDebInfo
,ASAN
,TSAN
,MSANUBSAN
- Options:
-
Default target: What to build by default
- Common targets:
,clickhouse
,clickhouse-server
, or build allclickhouse-client
- Common targets:
Test Skill
The
test 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:
andbuild/${buildType}build
-
Default build type for testing: Which build to use when running tests
- Options:
,Release
,Debug
,RelWithDebInfo
,ASAN
, etc.TSAN - Typically the same as the build skill default
- Options:
Configuration Process
-
Identify the skill to configure:
- If
is provided, configure that specific skill$ARGUMENTS - Otherwise, configure all available skills that need setup (build and test together)
- If
-
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?"AskUserQuestion - MANDATORY: Always include at least these two options:
- Separate directory per build type (e.g., build/Debug, build/Release)build/${buildType}
- Single build directory for all build typesbuild
- Additional optional options:
- CLion/JetBrains stylecmake-build-${buildType}- Custom - Let user specify their own pattern
b. Ask about default build type:
- Use
to ask: "What should be the default build type?"AskUserQuestion - Options (with descriptions):
- Optimized with debug info (recommended for development)RelWithDebInfo
- Full debug symbols, no optimizationDebug
- Fully optimized, no debug infoRelease
- AddressSanitizer buildASAN
- ThreadSanitizer buildTSAN- Other sanitizers as options
c. Ask about default target:
- Use
to ask: "What should be the default build target?"AskUserQuestion - Options:
- Main binary (recommended)clickhouse
- Server onlyclickhouse-server
- Client onlyclickhouse-client
- Build everythingall- Custom - Let user specify
d. Update the build skill file:
- Read
.claude/skills/build/SKILL.md - Use
tool to update:Edit- 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
- Use
-
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 typebuild/${buildType}
- Single build directorybuild
b. Ask about default build type for testing:
- Use
to ask: "Which build should be used for running tests?"AskUserQuestion - Options (with descriptions):
- Optimized with debug info (recommended, same as build default)RelWithDebInfo
- Full debug buildDebug
- Optimized buildRelease
- AddressSanitizer build (for memory testing)ASAN
- ThreadSanitizer build (for concurrency testing)TSAN
c. Update the test skill file:
- Read
.claude/skills/test/SKILL.md - Use
tool to update:Edit- 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:.claude/CLAUDE.mda. Read the current CLAUDE.md:
- Use
tool to readRead.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:
- if build skill was configured.claude/skills/build
- if test skill was configured.claude/skills/test
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
- Use
Implementation Details
- Always use
to gather preferences before making changesAskUserQuestion - Use
to read the current skill files and CLAUDE.mdRead - Use
to make precise updates to skill files and CLAUDE.mdEdit - Present clear options with descriptions to help users choose
- IMPORTANT: When prompting for build directory, ALWAYS include at minimum:
andbuild/${buildType}
as optionsbuild - 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
- Configure all skills (build and test together)/install-skills
- Configure only the build skill/install-skills build
- Configure only the test skill/install-skills test
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