working-with-miselisted
Install: claude install-skill technicalpickles/pickled-claude-plugins
# Working with mise
## Overview
mise is a polyglot tool version manager. Use this skill when:
- Adding tools to a project via mise
- Troubleshooting "command not found" when mise should have tools available
- Deciding whether mise is the right choice for a dependency
## The Iron Rules
1. **Use `mise use` to add tools** - never manually edit config files
2. **Detect existing config files first** - don't create new ones when one exists
3. **Fix the shell, don't workaround** - if tools aren't on PATH, diagnose the activation issue rather than using `mise exec` as a permanent workaround
## When to Use mise vs Alternatives
### Use mise when version matters per-project
Tools where different projects need different versions:
- Language runtimes: node, python, ruby, go, rust
- Infrastructure tools: terraform, kubectl, helm
- Tools with breaking changes between versions
```bash
# Good mise candidates - version sensitivity
mise use node@20 # Projects may need different Node versions
mise use terraform@1.5 # IaC often pins specific versions
mise use ruby@3.2 # Gemfiles often require specific Ruby
```
### Use Homebrew/system when version rarely matters
Stable CLIs with consistent interfaces across versions:
- jq, yq - query languages are stable
- gh, hub - GitHub CLI
- ripgrep, fd - search tools
- tree, htop - system utilities
```bash
# Better as Homebrew - version doesn't matter
brew install jq gh ripgrep
```
### Decision checklist
Ask yourself:
1. Does this proje