dot-claude/skills/add-cli-tool/SKILL.md
Add a new CLI tool to the titan setup and make it usable immediately. Use when installing a new CLI tool, registering a tool in the setup script, updating the tool inventory, or when the user says "add tool", "new CLI tool", "register tool", "install X to titan". Also triggers on "I installed X", "add X to the setup", or any request to add a CLI tool to the workstation.
npx skillsauth add sutanunandigrami/claude-titan-setup add-cli-toolInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
This skill registers a new CLI tool across all required locations and makes it
usable in the current session — doing manually what titan-setup.sh would do
on a fresh machine.
Ask (or infer from context) these details:
| Field | Required | Example |
|-------|----------|---------|
| Tool name | Yes | bore-cli |
| Binary name | If different from tool name | bore |
| Install method | Yes | cargo, go, uv, bun, apt, binary |
| Install command | Yes | cargo install bore-cli |
| One-line description | Yes | expose local ports publicly (tunneling) |
| Category | Yes | One of the categories in cli-tools skill |
| Replaces legacy tool? | No | replaces dig → add to CLAUDE.md routing table |
| Replaces an MCP? | No | replaces Fetch MCP → add to CLAUDE.md MCP table |
fd titan-setup.sh ~/ --max-depth 3 --type f
If not found, ask the user for the path. Store it for the rest of this operation.
Run the actual install command so the tool is available this session.
command -v <binary> && echo "OK" || echo "FAILED"
<binary> --help | head -5
If install failed, stop and report the error. Do not proceed to file edits.
Read references/locations.md for the exact grep anchors for each edit location.
5a. Install section — Add to the correct array or block:
cargo → append to CARGO_CRATES=( ... ) arraygo → add entry to declare -A GO_MAP=( ... ) associative arrayuv → append to UV_TOOLS=( ... ) arraybun → append to BUN_TOOLS=( ... ) arrayapt → append to the sudo apt install -y \ linebinary / git → add a new standalone block after the last binary download section5b. cli-tools heredoc — Find the category header (e.g., **Security & Scanning:**)
inside the cat > "$CLAUDE_DIR/skills/cli-tools/SKILL.md" heredoc.
Append the tool entry as a new - \tool` — description` line under that category.
IMPORTANT: Only edit within these specific sections. Do NOT modify any other part of the script.
Apply the SAME cli-tools edit to the live file — this makes the tool discoverable by Claude in the current session without re-running the script:
~/.claude/skills/cli-tools/SKILL.md
Find the same category header and append the same line.
Only if applicable:
## Tool Routing table in ~/.claude/CLAUDE.md
AND in the CLAUDE.md heredoc in titan-setup.sh## CLI Tools That Replace MCPs table in
~/.claude/CLAUDE.md AND in the CLAUDE.md heredoc in titan-setup.shBash(<binary> *) to the "allow" array in BOTH:
~/.claude/settings.jsonbash -n <path-to-titan-setup.sh>
If syntax errors, fix them before proceeding.
Run a simple command with the tool to confirm Claude can invoke it:
<binary> --version
Report to the user:
bash -n after editing the script.command -v succeeds), skip Step 3 but still
register it in all files if missing.tools
Project workspace configuration — auto-detect commands, _workspace.json convention, .envrc templates
development
This skill helps Claude write secure web applications. Use this when working on any web application or when a user requests a scan or audit to ensure security best practices are followed.
tools
Configures Python projects with modern tooling (uv, ruff, ty). Use when creating projects, writing standalone scripts, or migrating from pip/Poetry/mypy/black.
tools
Control tmux sessions — create panes, run commands, read output, monitor processes