Claude-skill-registry install-skills

Configure and customize skills for your workspace by asking questions and updating skill files with your preferences.

install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
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"
manifest: skills/data/install-skills/SKILL.md
source content

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
  4. 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
  5. Confirm configuration:

    • Show summary of changes made
    • Confirm the skill is now configured for their workspace
    • Provide example commands they can use
  6. 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