Install
$ agentstack add skill-totallygreg-claude-mp-mise-tooling ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ 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.
About
Mise Tooling
Overview
mise (jdx/mise) is a polyglot dev environment manager that replaces asdf + direnv + make. It manages tool versions, per-project environment variables, and tasks in a single config file. This skill covers configuration patterns, task organization, environment management, and the DRY patterns needed for multi-project workspaces.
When helping with mise, prefer outputting mise.toml config snippets. Always check mise cfg to see what config files are loaded before diagnosing issues. Use mise tasks to show available tasks and mise env to show resolved environment variables.
When to Use This Skill
- Writing or modifying
mise.toml/.mise.tomlconfigurations - Creating tasks (inline TOML, included files, or file-based scripts)
- Setting up
[env]with dynamic values (exec(),_.source,_.file) - Organizing tasks across multiple files with
task_config.includes - Debugging environment variable resolution or profile switching
- Setting up multi-tenant credential management with profiles
- DRY patterns for shared task logic across projects
- Task templates and inheritance for reusable definitions
- Looking up mise CLI commands and flags
Core Capabilities
1. Configuration System
mise walks UP the directory tree — child projects inherit parent configs. This enables shared tasks at the workspace root with project-specific overrides.
See references/mise_config_guide.md for the full configuration hierarchy, file precedence, profile loading order, [env] patterns, lifecycle hooks, monorepo support, and secret handling.
2. Task System
Tasks are the most powerful feature — they turn complex workflows into mise run commands. Tasks can be defined inline in mise.toml, in separate included files, or as executable scripts in mise-tasks/. mise builds a DAG from task dependencies and executes independent tasks in parallel.
See references/mise_task_patterns.md for task organization, task_config.includes behavior (critical gotchas), DRY patterns, task templates/inheritance, DAG execution model, visibility controls, output caching, and the usage field for CLI arg parsing.
3. Environment Management
Profiles (mise.{env}.toml) enable multi-tenant credential switching. Combined with exec() for dynamic secret resolution (keychains, vaults) and _.source for dotenv files, mise handles the full spectrum from simple .env files to enterprise credential management.
See references/mise_environment_management.md for the multi-tenant credential pattern, keychain integration, and cloner-friendly defaults.
4. Tool Version Management
[tools]
python = "3.12"
node = "lts"
uv = "latest"
Multiple versions, per-tool postinstall hooks, and backends (npm, pipx, GitHub releases, aqua).
5. Watch Mode & Hooks
Continuous file watching (mise watch) for rebuild-on-change workflows. Lifecycle hooks ([hooks]) for enter/leave/cd events. See references/mise_config_guide.md.
Common Workflows
"Create a new task"
Simple inline task:
[tasks.lint]
description = "Run linter"
run = "ruff check src/"
Task with arguments (no -- needed for positional args):
[tasks.deploy]
description = "Deploy to environment"
usage = '''
arg "[env]" help="Target environment" default="staging"
flag "-f --force" help="Skip confirmation"
'''
run = 'echo "Deploying to $usage_env (force=$usage_force)"'
For complex tasks, use file-based scripts in .mise/tasks/ with #USAGE directives. For reusable patterns, define [task_templates.*] and use extends.
"Share tasks across projects"
- Define tasks in a parent directory's
mise.tomlortasks/directory - Child projects inherit automatically via mise's directory walk
- Use
{{config_root}}in task scripts to resolve paths relative to the config that defined the task
"Set up credentials for a new tenant"
# mise.prod.toml — activated by MISE_ENV=prod or .miserc.toml
[env]
API_KEY = "{{exec(command='keychainctl pair get myapp API_KEY')}}"
Set default tenant in .miserc.toml (env = ["prod"]). Cloners use _.source = ".env" as fallback. Switch tenants: MISE_ENV=staging mise run deploy.
"Look up a CLI command"
See references/mise_cli_reference.md for compact command tables covering task management, run flags, environment, and tool operations.
"Apply a proven automation pattern"
See references/mise_use_case_patterns.md for milestone aggregation, hardware discovery, interactive confirmation, post-task cleanup, CI/CD adaptation, and cross-project task sharing decision trees.
Authoring Conventions
When writing or editing mise.toml, apply these conventions:
- Section order (top-to-bottom, omit empty):
[settings]→[env]→[tools]→[hooks]/[vars]/[task_config]/[task_templates](if present) →[tasks.*]. - Task ordering: lifecycle, not alphabetical — setup/install first, run/operate next, maintenance/occasional last. Slot new tasks into the right group; don't append blindly.
- Inline vs script: one-liners stay inline; once a task needs conditionals, loops, or more than ~5 lines, extract to
scripts/.shand invoke viarun = "scripts/.sh"— easier to shellcheck, test, and reuse outside mise. Upgrade to a file-based task under.mise/tasks/only when you want mise-native features: auto-discovery,#USAGEarg parsing,#MISE sources/outputs, or directory-based namespacing. Seemise_task_patterns.md. - Editing discipline: if a task could fit in more than one lifecycle group, ask the user. Do not reorder unrelated existing tasks unless cleanup was explicitly requested.
See references/mise_config_guide.md (Style & Layout) for rationale and worked examples.
Resources
references/
mise_config_guide.md— Configuration hierarchy, precedence, env patterns, exec(), hooks, monorepo, settingsmise_task_patterns.md— Task organization, includes, DRY patterns, DAG model, templates, visibility, caching, usage fieldmise_environment_management.md— Multi-tenant credentials, profiles, keychain integrationmise_cli_reference.md— CLI commands, run flags, task listing, environment and tool managementmise_use_case_patterns.md— Milestone aggregation, hardware discovery, confirmation, cleanup, CI/CD, cross-project sharing
Cross-references
- environment-composition
sesh_config_guide.md— sesh + mise integration for dev environments - zsh-dev — Shell function patterns that complement mise tasks
- signals-monitoring —
fswatch/entrfor simpler file watching (vsmise watch)
External
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: totallyGreg
- Source: totallyGreg/claude-mp
- License: MIT
- Homepage: https://github.com/totallyGreg/claude-mp
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.