Install, upgrade, configure, and verify developer CLI tools safely. Use when a user asks to install a new CLI, command-line app, SDK tool, package-manager binary, GitHub release binary, language runtime tool, or AI/vendor CLI; configure shell PATH/completions; run first login; set API keys, tokens, or env variables for a CLI; migrate an existing CLI install; or troubleshoot a CLI installation while avoiding secret leakage.
npx skills add https://github.com/CodeAlive-AI/ai-driven-development --skill installing-cli-tools
Use this skill to take a CLI from "not installed" to "usable and verified" without exposing credentials in chat, logs, shell history, or repo files. Treat installation and secret setup as separate phases.
command -v tool, tool --version, package-manager queries, and existing config file paths only when needed.brew, npm, pipx, uv tool, cargo install, go install) when official and maintained.sudo unless the install path truly requires it and the user has agreed.tool --version, tool doctor or equivalent, and a non-destructive authenticated command if relevant.Never read, print, summarize, grep, or search for existing secret values in .env, shell rc files, keychains, SSH keys, cloud credential files, or password-manager vaults. Do not run broad commands like env, printenv, or recursive token searches.
For new credentials, use the safest supported option in this order:
tool auth login.op, bw, pass, gopass, or direnv with a secret backend, if the user already uses it.0600.Do not put secret values in command arguments, chat messages, shell history, logs, generated docs, git commits, package manager config, MCP config, or shell startup files. If a command needs a value, prefer an interactive prompt, stdin, or a temporary file with 0600 permissions that is removed immediately after use.
Before accepting a credential from the user, state the destination and persistence model in one sentence, for example: "This will store the token in macOS Keychain under service example-cli; I will not print it back." If the current environment cannot safely accept hidden input, stop and ask the user to run the official login command locally.
Use precise commands and avoid noisy discovery. Good checks:
command -v example
example --version
brew list --versions example
npm view example-cli version
python3 -m pipx list
For GitHub release binaries, verify the asset matches OS and CPU architecture. Use shasum -a 256 when upstream publishes checksums. Prefer signed or notarized macOS artifacts when available.
For installer scripts fetched over the network, do not pipe directly into a shell unless the user explicitly requests that official install style. Prefer downloading to a temporary file, reading the script enough to understand what it changes, then running it.
Modify shell files only for PATH, completions, aliases requested by the user, or non-secret configuration. Before editing, identify the active shell and target file. Keep edits idempotent and bounded by clear comments when adding a block.
Do not add API keys, tokens, passwords, or provider credentials to .zshrc, .bashrc, .profile, .config/fish/config.fish, or project shell hooks. For env variables that point to non-secret paths or feature flags, explain why they are safe.
Verify both installation and authentication without destructive actions:
tool --version, tool help, or package-manager metadata.tool auth status, whoami, account show, or a read-only API call.If verification requires a paid operation, mutation, or secret display command, do not run it. Use the vendor's status command or ask the user for permission to run a specific safe alternative.
Track install actions as you go. When finishing, include the uninstall command or manual rollback path:
For failed installs, clean temporary files and partial symlinks when that is clearly safe. Ask before deleting user-owned config, caches, or credentials.
Guide for creating high-quality MCP (Model Context Protocol) servers that enable LLMs to interact with external services through well-designed tools. Use when building MCP servers to integrate external APIs or services, whether in Python (FastMCP) or Node/TypeScript (MCP SDK).
Automatically creates user-facing changelogs from git commits by analyzing commit history, categorizing changes, and transforming technical commits into clear, customer-friendly release notes. Turns hours of manual changelog writing into minutes of automated generation.
Use when implementation is complete, all tests pass, and you need to decide how to integrate the work - guides completion of development work by presenting structured options for merge, PR, or cleanup
Guide for creating high-quality MCP (Model Context Protocol) servers that enable LLMs to interact with external services through well-designed tools. Use when building MCP servers to integrate external APIs or services, whether in Python (FastMCP) or Node/TypeScript (MCP SDK).
React Native and Expo best practices for building performant mobile apps. Use when building React Native components, optimizing list performance, implementing animations, or working with native modules. Triggers on tasks involving React Native, Expo, mobile performance, or native platform APIs.
React and Next.js performance optimization guidelines from Vercel Engineering. This skill should be used when writing, reviewing, or refactoring React/Next.js code to ensure optimal performance patterns. Triggers on tasks involving React components, Next.js pages, data fetching, bundle optimization, or performance improvements.
Next.js best practices - file conventions, RSC boundaries, data patterns, async APIs, metadata, error handling, route handlers, image/font optimization, bundling
Use when starting feature work that needs isolation from current workspace or before executing implementation plans - creates isolated git worktrees with smart directory selection and safety verification
Take codealive-ai/installing-cli-tools from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.
The instructions reference cargo, go.
Without those the skill loads but fails at the first command.