Best for
- Use when setting up, pinning runtimes/CLI tools, or migrating from asdf/nvm/pyenv/brew/Make.
laurigates/claude-plugins/configure-plugin/skills/configure-mise/SKILL.md
mise runtime/tool version manager - mise.toml, backends (pipx/aqua/npm/cargo/go), tasks, env, lockfile. Use when setting up, pinning runtimes/CLI tools, or migrating from asdf/nvm/pyenv/brew/Make.
Decision brief
Set up and audit mise as the unified manager for language runtimes, CLI tools, environment variables, and project tasks. mise replaces asdf/nvm/pyenv (runtimes), cargo install/brew install (CLI binaries), and Make/just (tasks) behind one mise.toml.
Compatibility matrix
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Not declared | No explicit evidence | Portability before use |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/laurigates/claude-plugins --skill "configure-plugin/skills/configure-mise"Inspect the Agent Skill "configure-mise" from https://github.com/laurigates/claude-plugins/blob/c056e44b978db58648ad20440dc1515cb09af09d/configure-plugin/skills/configure-mise/SKILL.md at commit c056e44b978db58648ad20440dc1515cb09af09d. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
From Context, classify the repo:
Prefer the modern mise.toml name over legacy .mise.toml. Use mise.local.toml for machine-specific or secret-bearing overrides and ensure it is gitignored.
Pin runtimes the project needs, then add CLI tools by backend (table above). Pin as loosely as safe: python = "3.13" (allow patch upgrades) for libraries; exact pins (opentofu = "1.11.2") for tools where reproducibility matters. Detect latest stable versions with WebSearch/mise…
[env] — project env vars and PATH; load secrets from a gitignored file with .file = ".env.local" (never inline secrets). See REFERENCE.md.
Report a compliance table:
Permission review
The documentation asks the agent to read local files, directories, or repositories.
**`[env]`** — project env vars and PATH; load secrets from a gitignored file with `_.file = ".env.local"` (never inline secrets). See REFERENCE.md.The documentation asks the agent to run terminal commands or scripts.
pipx.uvx setting true [SET | MISSING (pipx tools present)]The documentation asks the agent to create, modify, or delete local files.
Write/patch the target config (Step 2 file).The documentation asks the agent to read local files, directories, or repositories.
**Untrusted config**: mise refuses to load an untrusted file — run `mise trust` after writing.Evidence record
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 92/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 54 | Source | Repository attention, not individual Skill quality |
| Compatibility | 0 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
Set up and audit mise as the unified manager for language runtimes, CLI tools, environment variables, and project tasks. mise replaces asdf/nvm/pyenv (runtimes), cargo install/brew install (CLI binaries), and Make/just (tasks) behind one mise.toml.
| Use this skill when... | Use another approach when... |
|---|---|
Setting up mise.toml to pin a project's runtimes and CLI tools | Installing one tool ad-hoc — run mise use <tool>@<ver> directly |
Picking the right backend for a tool (core / pipx: / aqua: / npm: / cargo: / go:) | The project only needs Python/JS libraries — use /configure:package-management (uv/bun) |
Migrating from .tool-versions/asdf, .nvmrc, .python-version, Homebrew, or a Makefile | Defining build/test recipes only, no version management — use /configure:justfile or /configure:makefile |
Adding [tasks], [env], secret loading, or a mise.lock for reproducible installs | Running a specific runtime version once — mise exec <tool>@<ver> -- <cmd> (see global rule mise-stale-tool-copies / dependency-management) |
| Auditing an existing mise setup for pinning, lockfile, trust, and backend correctness | Configuring CI runtime install — that consumes the mise.toml this skill produces (jdx/mise-action) |
pwdfind . -maxdepth 2 \( -name 'mise.toml' -o -name '.mise.toml' -o -path './.config/mise.toml' -o -name 'mise.local.toml' \)find . -maxdepth 1 -name 'mise.lock'find . -maxdepth 2 \( -name '.tool-versions' -o -name '.nvmrc' -o -name '.python-version' -o -name '.ruby-version' -o -name '.go-version' \)find . -maxdepth 1 \( -name 'Makefile' -o -name 'justfile' -o -name 'Brewfile' \)Parse from command arguments:
--check-only: Audit and report; make no changes (CI/review mode).--fix: Apply the recommended config without prompting for each step.--global: Target the global config (~/.config/mise/config.toml) instead of a project mise.toml.--migrate <source>: Convert an existing setup into mise.toml. Sources: asdf (.tool-versions), nvm (.nvmrc), pyenv (.python-version), brew (Brewfile CLI tools), makefile (targets → [tasks]).mise installs every tool through a backend. Picking the right one mirrors the user's tool-install priority (dependency-management rule): mise first, with the most secure/fastest backend.
| Tool kind | Backend | Syntax | Why |
|---|---|---|---|
| Language runtime | core | python = ["3.12","3.13"], node = "lts", go = "1.23", rust = "latest" | Native version switching, the reason mise exists |
| Python CLI tool | pipx: | "pipx:ruff" = "latest" | Routed through uvx (fast); set pipx.uvx = true |
| Standalone CLI binary | aqua: | "aqua:BurntSushi/ripgrep" = "latest" | Checksums + SLSA provenance + Cosign — the secure default |
| Node global | npm: | "npm:typescript-language-server" = "latest" | When no aqua entry exists |
| Rust tool (no aqua) | cargo: | "cargo:tokei" = "latest" | Builds from source; prefer aqua if available |
| Go tool (no aqua) | go: | "go:golang.org/x/tools/gopls" = "latest" | Installs via go install |
| GitHub release (no aqua) | github: | "github:starship/starship" = "latest" | Direct release-asset fetch |
Rule of thumb: runtime → core; Python CLI → pipx:; everything else → aqua: first, falling back to npm:/cargo:/go:/github: only when the aqua registry lacks the tool. Verify aqua availability at https://github.com/aquaproj/aqua-registry.
From Context, classify the repo:
.tool-versions, .nvmrc, .python-version) → migration candidate.mise.toml → audit mode (Step 5).mise.toml.Detect which runtimes the project already implies: pyproject.toml/.python-version → Python; package.json/.nvmrc → Node; go.mod → Go; Cargo.toml → Rust.
| Target | File | Committed? |
|---|---|---|
| Project (default) | mise.toml at repo root | yes — pins the team to the same versions |
| Project, local overrides | mise.local.toml | no — add to .gitignore |
Global (--global) | ~/.config/mise/config.toml | n/a (dotfiles) |
Prefer the modern mise.toml name over legacy .mise.toml. Use mise.local.toml for machine-specific or secret-bearing overrides and ensure it is gitignored.
[tools] blockPin runtimes the project needs, then add CLI tools by backend (table above). Pin as loosely as safe: python = "3.13" (allow patch upgrades) for libraries; exact pins (opentofu = "1.11.2") for tools where reproducibility matters. Detect latest stable versions with WebSearch/mise ls-remote <tool> before writing.
Minimal example:
[tools]
python = "3.13"
node = "lts"
"pipx:ruff" = "latest"
"pipx:pre-commit" = "latest"
"aqua:jqlang/jq" = "latest"
"aqua:cli/cli" = "latest" # gh
[env], [tasks], [settings] as needed[env] — project env vars and PATH; load secrets from a gitignored file with _.file = ".env.local" (never inline secrets). See REFERENCE.md.[tasks] — migrate Makefile/just recipes here so mise run <task> replaces make <target>. Supports depends, alias, multi-line run. See REFERENCE.md for the full grammar.[settings] — set pipx.uvx = true whenever any pipx: tool is present (works around jdx/mise#7477); experimental = true for newer backends; legacy_version_file = true to keep honoring .tool-versions/.nvmrc during migration.--check-only)Report a compliance table:
mise Configuration Report
=========================
Config file mise.toml [PRESENT | MISSING]
Runtimes pinned python, node [PINNED | UNPINNED]
CLI backends aqua / pipx [SECURE | cargo-from-source | mixed]
pipx.uvx setting true [SET | MISSING (pipx tools present)]
Lockfile mise.lock [COMMITTED | MISSING]
Local overrides mise.local.toml [GITIGNORED | TRACKED ⚠ | n/a]
Trust trusted [TRUSTED | UNTRUSTED]
Legacy files remaining .tool-versions [MIGRATED | STILL PRESENT]
Overall: [N issues]
Checks: every runtime pinned; CLI tools prefer aqua: over cargo:/source builds; pipx.uvx = true present if any pipx: tool; mise.lock committed; mise.local.toml gitignored if present; config trusted (mise trust). If --check-only, stop here.
--fix or on confirmation)mise trust the config (required before mise will use a new/edited file).mise install to materialize tools.mise lock to generate/refresh mise.lock, then track it (git add mise.lock).mise.local.toml exists, ensure .gitignore covers it.mise doctor to verify the setup is healthy.--migrate <source>)| Source | Action |
|---|---|
asdf | Read .tool-versions, map each line to a [tools] entry, keep legacy_version_file = true, then remove .tool-versions once verified. asdf plugin names usually match mise core/aqua names. |
nvm | .nvmrc → node = "<ver>". |
pyenv | .python-version → python = "<ver>" (a list if multiple). |
brew | Move CLI tools (not casks/services/build-deps) from Brewfile to aqua:/core backends; leave GUI apps, fonts, daemons, and compilers in Homebrew. |
makefile | Convert each target to a [tasks.<name>] with run; map prerequisites to depends. See REFERENCE.md task grammar. |
Always verify with mise install && mise doctor before deleting the source file. See REFERENCE.md for per-source mapping tables and worked examples.
A committed mise.toml + mise.lock is consumed in CI by jdx/mise-action (mise install then mise run <task>), giving local↔CI parity (the local-ci-parity rule). Point the user to /configure:ci-workflows rather than writing the workflow here.
| Context | Command |
|---|---|
| Audit only | /configure:mise --check-only |
| Auto-configure | /configure:mise --fix |
| List installed tools (JSON) | mise ls --json |
| Show active versions | mise current |
| Available versions of a tool | mise ls-remote <tool> |
| Show outdated | mise outdated |
| Diagnose | mise doctor |
| Generate lockfile | mise lock |
| Flag | Description |
|---|---|
--check-only | Report status without modifying files |
--fix | Apply the recommended config without per-step prompts |
--global | Target ~/.config/mise/config.toml instead of project mise.toml |
--migrate <source> | Convert asdf/nvm/pyenv/brew/makefile into mise.toml |
# Audit an existing setup
/configure:mise --check-only
# Set up mise.toml for the current project
/configure:mise
# Auto-configure, no prompts
/configure:mise --fix
# Migrate an asdf project
/configure:mise --migrate asdf
# Convert Makefile targets into mise tasks
/configure:mise --migrate makefile
curl https://mise.run | sh) or note it is itself a Homebrew bootstrap tool; do not block the audit.mise trust after writing.pipx: tool fails to resolve: ensure uv is a mise-managed tool and pipx.uvx = true is set (jdx/mise#7477).org/repo name must match an aqua-registry entry; fall back to github:/cargo:/go: or core.~/.default-npm-packages re-seeding — see the global mise-stale-tool-copies rule.libatomic.so.1; gate node to platforms that have it (chezmoi-style os guard) or pin an older line./configure:package-management — uv/bun for Python/JS libraries (mise installs the runtimes; uv/bun manage deps)/configure:justfile, /configure:makefile — task runners mise's [tasks] can replace/configure:ci-workflows — CI that consumes mise.toml via jdx/mise-actiondependency-management (tool-install priority, mise exec vs mise use), mise-stale-tool-copies (per-version cleanup)[tasks]/[env]/[settings] grammar, backend cheat-sheet, migration mapping tablesFrequently asked questions
Set up and audit mise as the unified manager for language runtimes, CLI tools, environment variables, and project tasks. mise replaces asdf/nvm/pyenv (runtimes), cargo install/brew install (CLI binaries), and Make/just (tasks) behind one mise.toml.
The source record exposes this install command: npx skills add https://github.com/laurigates/claude-plugins --skill "configure-plugin/skills/configure-mise". Inspect the command and pinned source before running it.
Static rules flagged read-files, exec-script, write-files in the source; the page lists the matching lines and excerpts.
Alternatives
coreyhaines31/marketingskills
When the user wants to plan, design, or implement an A/B test or experiment, or build a growth experimentation program. Also use when the user mentions "A/B test," "split test," "experiment," "test this change," "variant copy," "multivariate test," "hypothesis," "should I test this," "which version is better," "test two versions," "statistical significance," "how long should I run this test," "growth experiments," "experiment velocity," "experiment backlog," "ICE score," "experimentation program
garrytan/gbrain
End-to-end discipline for turning any large data source (audio libraries, email takeouts, document corpora, chat exports, API dumps) into brain pages at scale. The lifecycle spine: SCHEMA → ACCESS → TRIAL → EVALUATE → IMPROVE → CODIFY → TEST → SKILLIFY → BULK → MONITOR. State is tracked in a durable JSON manifest (see MANIFEST-PATTERN.md) so any crash, session boundary, or subagent fan-out resumes from ground truth instead of memory.
alirezarezvani/claude-skills
App Store Optimization (ASO) toolkit for researching keywords, analyzing competitor rankings, generating metadata suggestions, and improving app visibility on Apple App Store and Google Play Store. Use when the user asks about ASO, app store rankings, app metadata, app titles and descriptions, app store listings, app visibility, or mobile app marketing on iOS or Android. Supports keyword research and scoring, competitor keyword analysis, metadata optimization, A/B test planning, launch checklist
dotnet/skills
Migrates .NET test projects from VSTest to Microsoft.Testing.Platform (MTP). Use when user asks to "migrate to MTP", "switch from VSTest", "enable Microsoft.Testing.Platform", "use MTP runner", set OutputType=Exe only for test projects in Directory.Build.props, or mentions EnableMSTestRunner, EnableNUnitRunner, or UseMicrosoftTestingPlatformRunner. USE FOR: MTP behavioral differences vs VSTest (exit code 8, zero tests discovered, --ignore-exit-code, TESTINGPLATFORM_EXITCODE_IGNORE); centralizing