.claude/skills/mise/SKILL.md
Use when adding, updating, troubleshooting, or managing mise tool dependencies. Supplements /install with mise-specific context about backends, lockfiles, and the github-first policy.
npx skillsauth add ivy/dotfiles miseInstall 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.
Mise-specific context for managing CLI tool dependencies. Use /install to add
a new tool end-to-end; use /mise when you need to understand backends,
troubleshoot failures, update versions, or regenerate lockfiles.
$ARGUMENTS
| File | Purpose |
|------|---------|
| home/dot_config/mise/config.toml | User tool manifest — edit here, never ~/.config/mise/config.toml |
| home/dot_config/mise/mise.lock | User lockfile (auto-generated) |
| mise.toml | Project dev tool manifest (bats, shellcheck, hk, etc.) |
| mise.lock | Project lockfile (auto-generated) |
| home/run_onchange_00-install-mise-tools.sh.tmpl | Install trigger — runs on config/lock hash change |
Per ADR-005:
| Priority | Backend | When to use |
|----------|---------|-------------|
| 1 | Native (python, node) | Runtimes |
| 2 | github:owner/repo | CLI tools with GitHub releases |
| 3 | cargo: | Rust tools without prebuilt binaries |
| 4 | pipx: | Python CLI tools |
| 5 | npm: | Node CLI tools |
Do NOT use aqua: backend. Registry lag and attestation mismatches break
chezmoi apply. The github: backend talks directly to GitHub Releases with
checksum, attestation, and SLSA verification.
Find the GitHub repo and latest release tag:
gh release view --repo owner/repo --json tagName --jq '.tagName'
Determine version format — most use bare numbers (0.18.2) or v-prefixed
tags (mise strips the v automatically). Some tools use non-standard tags
(e.g., jq uses jq-1.8.1). If the tag doesn't follow vX.Y.Z, use the
full tag string as the version.
Edit home/dot_config/mise/config.toml — add under the CLI tools section:
"github:owner/repo" = "1.2.3"
Apply and regenerate lockfile:
chezmoi apply ~/.config/mise/config.toml
mise install --yes
mise --cd home/dot_config/mise lock
Verify the tool runs. Check the binary name — it may differ from the repo
name (e.g., BurntSushi/ripgrep installs rg).
Check current vs latest:
mise ls
gh release view --repo owner/repo --json tagName --jq '.tagName'
Edit the version in home/dot_config/mise/config.toml
Apply, install, and regenerate lockfile:
chezmoi apply ~/.config/mise/config.toml
mise install --yes
mise --cd home/dot_config/mise lock
There are two lockfiles pinning checksums across 7 platforms (linux-arm64, linux-arm64-musl, linux-x64, linux-x64-musl, macos-arm64, macos-x64, windows-x64). Regenerate both after any config change:
mise lock # project-level (mise.toml)
mise --cd home/dot_config/mise lock # user-level (config.toml)
"No matching asset found" — The tool doesn't publish binaries matching the expected platform naming. Check available assets:
gh release view --repo owner/repo --json assets --jq '.assets[].name'
If assets exist but use unusual naming, the github: backend may not auto-detect
them. Options:
cargo: backend if it's a Rust toolchezmoiexternal with a wrapper script in ~/.local/bin"No GitHub attestations found" — This was the aqua failure mode. The
github: backend handles missing attestations gracefully — it verifies when
available but doesn't block when absent.
Non-standard release tags — If mise install returns 404, the tag format
likely doesn't match. Check the actual tag:
gh release view --repo owner/repo --json tagName --jq '.tagName'
Use the full tag string as the version (e.g., jq-1.8.1 not 1.8.1).
Lockfile conflicts — Delete and regenerate both:
mise lock # project-level
mise --cd home/dot_config/mise lock # user-level
home/dot_config/mise/config.toml, never ~/.config/mise/config.tomllatest — always pin to a specific versiontools
Write a handoff brief summarizing the current conversation so a fresh agent can pick up the work. Writes to a file if given, otherwise copies to the clipboard.
data-ai
Use when the user wants to set, change, or clear git commit co-authors for pair or mob programming.
tools
Use when bootstrapping hk pre-commit hooks for a project.
testing
Interview the user relentlessly about a plan or design until reaching shared understanding, resolving each branch of the decision tree. Use when user wants to stress-test a plan, get grilled on their design, or mentions "grill me".