Install
$ agentstack add skill-vinnie357-claude-skills-mise Open-source listing — not yet scanned by AgentStack. Follow the source repository for install instructions.
Security review
⚠ Flagged1 finding(s); flagged for manual review. · v0.1.0 How review works →
- • Prompt-injection patterns
- • Secret / credential exfiltration
- • Dangerous shell & filesystem operations
- • Untrusted network calls
- • Known-malicious package signatures
- high Pipes remote content directly into a shell (remote code execution).
What it can access
- ● Network access Used
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ● Environment & secrets Used
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming — see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps — measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
mise - Development Environment Management
This skill activates when working with mise for managing tool versions, environment variables, and project tasks.
When to Use This Skill
Activate when:
- Setting up development environments
- Managing tool and runtime versions (Node.js, Python, Ruby, Go, etc.)
- Configuring environment variables and secrets
- Defining and running project tasks
- Creating reproducible development setups
- Working with monorepos or multiple projects
What is mise?
Current stable: v2026.3.15
mise is a polyglot runtime manager and development environment tool that combines:
- Tool version management - Install and manage multiple versions of dev tools
- Environment configuration - Set environment variables per project
- Task automation - Define and run project tasks
- Cross-platform - Works on macOS, Linux, and Windows
Install with curl https://mise.run | sh (or brew install mise), then activate in the shell: eval "$(mise activate zsh)". Full install matrix, shims, IDE and CI/CD integration: references/setup-and-troubleshooting.md.
Tool Backends
mise uses different backends (package managers) to install tools:
- asdf - Traditional asdf plugins (default for many tools)
- github - GitHub release-asset installer (replaces deprecated ubi backend)
- cargo - Rust packages (requires Rust installed)
- npm - Node.js packages (requires Node installed)
- go - Go packages (requires Go installed)
- aqua - Package manager
- pipx - Python packages (requires Python installed)
- gem - Ruby packages (requires Ruby installed)
- gitlab - Direct from GitLab repositories
- http - Direct HTTP downloads
Prefer registry short names (ripgrep) over backend-prefixed forms (cargo:ripgrep) when the tool is in the mise registry (mise registry | grep ). Fall back to an explicit backend prefix when the registry has no entry.
Per-backend detail — github backend options (exe, asset_pattern, extract_all, rename_exe), multi-arch platform keys, cargo prerequisites and git installs, upgrades and aliases: references/backends.md.
Verify Before Pinning — ls-remote
mise ls-remote : returns all available versions for any backend. Run this BEFORE pinning a version in mise.toml to confirm the backend can actually see the tool:
mise ls-remote node # registry tool
mise ls-remote github:sharkdp/fd # explicit backend
mise registry | grep # search the registry
Failure mode — the tool lives in a different repo than you expect. Sometimes the CLI binary is released from a different repository than the documentation or project homepage:
$ mise ls-remote github:juxt/allium | head -5
(no output) # wrong repo — homepage, no releases
$ mise ls-remote github:juxt/allium-tools | head -5
0.1.0 # correct repo for the CLI releases
If ls-remote returns nothing, check whether the project publishes releases to a separate repository (e.g., a -tools, -cli, or -releases repo). Don't pin a version you haven't verified ls-remote can see. Per-backend ls-remote output examples: references/backends.md.
Installing and Using Tools
Key difference: mise install only installs tools; mise use installs AND adds the tool to your configuration file. mise use is the primary way to add tools to projects.
mise install # install everything in .mise.toml / .tool-versions
mise install node@20.10.0 # install without touching config
mise use node@20 # fuzzy version — saves "20" (default)
mise use --pin node@20.10.0 # exact version — saves "20.10.0"
mise use node@latest # saves "latest"
mise use cargo:ripgrep@latest # explicit backend
mise use --remove node # remove tool from config
mise use --force node@20 # force reinstall
mise use --dry-run node@20 # preview changes
Version pinning: fuzzy (node@20) auto-updates within the major version; --pin locks the exact version; latest always updates. Best Practice: Use fuzzy versions for flexibility, mise.lock for reproducibility.
Configuration file selection
mise use writes to configuration files in this priority order:
--globalflag:~/.config/mise/config.toml--pathflag: Specified file path--envflag:.mise..toml- Default:
mise.tomlin current directory
.mise.toml Schema
[tools]
node = "20.10.0"
python = "3.12"
terraform = "latest"
# Backends - use quotes for namespaced tools
"cargo:ripgrep" = "latest" # Requires rust installed
"github:sharkdp/fd" = "latest" # GitHub releases
"npm:typescript" = "latest" # Requires node installed
"github:nushell/nushell" = "latest" # Nushell (structured shell)
# Version from file
node = { version = "lts", resolve = "latest-lts" }
mise reads configuration from multiple locations (in order):
.mise.toml- Project local config.mise/config.toml- Project local config (alternative)~/.config/mise/config.toml- Global config- Environment variables -
MISE_*
Environment Variables
[env]
DATABASE_URL = "postgresql://localhost/myapp"
NODE_ENV = "development"
# Go templates — {{ config_root }} is the directory containing mise.toml
APP_ROOT = "{{ config_root }}"
PATH = ["{{ config_root }}/bin", "$PATH"]
# File-based env vars
_.file = ".env"
_.path = ["/custom/bin"]
Secrets via mise set:
mise set SECRET_KEY sops://path/to/secret # sops
mise set API_TOKEN age://path/to/secret # age
mise set BUILD_ID "$(git rev-parse HEAD)" # from command
Tasks
[tasks.build]
description = "Build the project"
run = "npm run build"
sources = ["src/**/*.ts"] # Only run if sources changed
outputs = ["dist/**/*"] # Check outputs for changes
dir = "frontend" # Run in specific directory
env = { NODE_ENV = "production" }
[tasks.test]
description = "Run tests"
run = "npm test"
[tasks.lint]
description = "Run linter"
run = "npm run lint"
depends = ["build"] # depends run first, in order
[tasks.ci]
description = "Run CI pipeline"
depends = ["lint", "test"]
[tasks.watch]
run = "npm run watch"
raw = true # Don't wrap in shell
mise run build # run a task
mise build # short form
mise run lint test # run multiple tasks
mise tasks # list available tasks
mise run script -- arg1 # pass arguments
Define a ci task that aggregates the project's format, lint, and test checks — mise run ci is the local quality gate other skills and agents in this workspace invoke before commit. File-based tasks (.mise/tasks/) and complete Node/Python/monorepo/multi-tool project setups: references/tasks-and-workflows.md.
Sandboxing
mise sandboxing restricts filesystem, network, and env access for mise exec / mise run using OS-level primitives (Landlock/seccomp on Linux, Seatbelt on macOS; Windows unsupported). Gotcha: mise settings experimental=true is required first — without it, deny/allow flags are silently no-ops.
mise x --deny-all --allow-read=. --allow-write=./dist --allow-net=registry.npmjs.org -- npm install
Full flag reference, platform support matrix, task-level config, and limitations: references/sandboxing.md. Runnable examples: templates/sandboxing.md.
Lock Files
mise lock # generate .mise.lock
mise install --locked # use locked versions
[settings]
lockfile = true # Auto-generate lock file
Templates
The templates/ directory contains reusable configuration snippets for common mise patterns:
templates/multi-arch.md— platform-specific asset patterns for GitHub-release tools (pattern detail inreferences/backends.md)templates/sandboxing.md— runnable sandbox invocations
Best Practices
- Use .mise.toml for projects: Better than .tool-versions (more features)
- Pin versions in projects: Ensure consistency across team
- Use tasks for common operations: Document and standardize workflows
- Lock files in production: Use
mise lockfor reproducibility - Global tools for dev: Set global defaults, override per project
- Environment per project: Keep secrets and config in .mise.toml
- Commit .mise.toml: Share config with team
- Don't commit .mise.lock: Let mise generate per environment
- Zero setup for team: Clone and
mise installto get started
References
references/backends.md— per-backend ls-remote examples, github backend options, multi-arch asset patterns, cargo backend, upgrades and aliasesreferences/tasks-and-workflows.md— file-based tasks and complete project workflow examples (Node.js, Python, monorepo, multi-tool)references/sandboxing.md— sandbox flag reference, platform support matrix, task-level config, limitationsreferences/setup-and-troubleshooting.md— installation matrix, shims, IDE integration, CI/CD integration (GitHub Actions, GitLab CI), troubleshooting,.tool-versionsmigrationreferences/transitive-runtime-deps.md—mise execdoes NOT auto-install transitive deps (Elixir-needs-Erlang failure mode); prefer portable secret-generation commands (openssl,python3,/dev/urandom)
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: vinnie357
- Source: vinnie357/claude-skills
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.