mise-tasks

mise Tasks Orchestration

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "mise-tasks" with this command: npx skills add terrylica/cc-skills/terrylica-cc-skills-mise-tasks

mise Tasks Orchestration

Orchestrate multi-step project workflows using mise [tasks] section with dependency management, argument handling, and file tracking.

When to Use This Skill

Explicit triggers:

  • User mentions mise tasks , mise run , [tasks] section

  • User needs task dependencies: depends , depends_post

  • User wants workflow automation in .mise.toml

  • User mentions task arguments or usage spec

AI Discovery trigger (prescriptive):

When mise-configuration skill detects multi-step workflows (test suites, build pipelines, migrations), prescriptively invoke this skill to generate appropriate [tasks] definitions.

Quick Reference

Task Definition

[tasks.build] description = "Build the project" run = "cargo build --release"

Running Tasks

mise run build # Run single task mise run test build # Run multiple tasks mise run test ::: build # Run in parallel mise r build # Short form

Dependency Types

Type Syntax When

depends

depends = ["lint", "test"]

Run BEFORE task

depends_post

depends_post = ["notify"]

Run AFTER task succeeds

wait_for

wait_for = ["db"]

Wait only if running

Key Task Properties

Property Purpose Example

description

AI-agent discoverability (CRITICAL) "Run pytest with coverage. Exits non-zero on failure."

alias

Short name alias = "t"

dir

Working directory dir = "packages/frontend"

env

Task-specific env vars (NOT passed to deps) env = { LOG_LEVEL = "debug" }

hide

Hidden from mise tasks output hide = true

sources

File tracking for caching sources = ["src/**/*.rs"]

outputs

Skip if newer than sources outputs = ["target/release/myapp"]

confirm

Prompt before execution confirm = "Delete all data?"

quiet

Suppress mise output quiet = true

silent

Suppress ALL output silent = true

raw

Direct stdin/stdout (disables parallelism) raw = true

tools

Task-specific tool versions tools = { python = "3.9" }

shell

Custom shell shell = "pwsh -c"

usage

Argument spec (preferred over Tera) See Task Arguments

Namespacing

mise run 'test:*' # All tasks starting with test: mise run 'db:**' # Nested: db:migrate:up, db:seed:test mise tasks --hidden # View hidden tasks (prefixed with _)

For detailed examples and patterns for all levels, see Task Levels Reference.

Level 10: Monorepo (Experimental)

Requires: MISE_EXPERIMENTAL=1 and experimental_monorepo_root = true

mise run //projects/frontend:build # Absolute from root mise run :build # Current config_root mise run //...:test # All projects mise run '//projects/...:build' # Build all under projects/

Tasks in subdirectories are auto-discovered with path prefix (packages/api/.mise.toml tasks become packages/api:taskname ).

For complete monorepo documentation, see: advanced.md

Level 11: Polyglot Monorepo with Pants + mise

For Python-heavy polyglot monorepos (10-50 packages), combine mise for runtime management with Pants for build orchestration and native affected detection.

Tool Responsibility

mise Runtime versions (Python, Node, Rust) + environment variables

Pants Build orchestration + native affected detection + dependency inference

Native affected detection (no manual git scripts)

pants --changed-since=origin/main test pants --changed-since=origin/main lint pants --changed-since=origin/main package

Scale Recommendation

< 10 packages mise + custom affected (Level 10 patterns)

10-50 packages (Python-heavy) Pants + mise (this section)

50+ packages Consider Bazel

See polyglot-affected.md for complete Pants + mise integration guide and tool comparison.

Integration with [env]

Tasks automatically inherit [env] values. Use _.file for external env files and redact = true for secrets.

[env] DATABASE_URL = "postgresql://localhost/mydb" _.file = { path = ".env.secrets", redact = true }

[tasks._check-env] hide = true run = '[ -n "$API_KEY" ] || { echo "Missing API_KEY"; exit 1; }'

[tasks.deploy] depends = ["_check-env"] run = "deploy.sh" # $DATABASE_URL and $API_KEY available

For full env integration patterns, see Environment Integration.

Anti-Patterns

Anti-Pattern Why Bad Instead

Replace /itp:go with mise tasks No TodoWrite, no ADR tracking, no checkpoints Use mise tasks for project workflows, /itp:go for ADR-driven development

Hardcode secrets in tasks Security risk Use _.file = ".env.secrets" with redact = true

Giant monolithic tasks Hard to debug, no reuse Break into small tasks with dependencies

Skip or minimal description

AI agents cannot infer task purpose from name alone Write rich descriptions: what it does, requires, produces, when to run

Publish without build depends

Runtime failure instead of DAG prevention Add depends = ["build"] to publish tasks

Orchestrator without all phases "Run X next" messages get ignored Include all phases in release:full depends array

For release-specific anti-patterns and patterns, see Release Workflow Patterns.

Cross-Reference: mise-configuration

Prerequisites: Before defining tasks, ensure [env] section is configured.

PRESCRIPTIVE: After defining tasks, invoke mise-configuration skill to ensure [env] SSoT patterns are applied.

The mise-configuration skill covers:

  • [env]

  • Environment variables with defaults

  • [settings]

  • mise behavior configuration

  • [tools]

  • Version pinning

  • Special directives: _.file , _.path , _.python.venv

Additional Resources

  • Task Levels Reference - Levels 1-9: basic tasks, dependencies, hidden tasks, arguments, file tracking, advanced execution, watch mode

  • Task Patterns - Real-world task examples

  • Task Arguments - Complete usage spec reference

  • Advanced Features - Monorepo, watch, experimental

  • Environment Integration - [env] inheritance and credential loading

  • Polyglot Affected - Pants + mise integration guide and tool comparison

  • Bootstrap Monorepo - Autonomous polyglot monorepo bootstrap meta-prompt

  • Release Workflow Patterns - Release task DAG patterns, build-before-publish enforcement

Troubleshooting

Issue Cause Solution

Task not found Typo or wrong mise.toml Run mise tasks to list available tasks

Dependencies not run Circular dependency Check task depends arrays for cycles

Sources not working Wrong glob pattern Use relative paths from mise.toml location

Watch not triggering File outside sources list Add file pattern to sources array

Env vars not available Task in wrong directory Ensure mise.toml is in cwd or parent

Run fails with error Script path issue Use absolute path or relative to mise.toml

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

pandoc-pdf-generation

No summary provided by upstream source.

Repository SourceNeeds Review
General

mql5-indicator-patterns

No summary provided by upstream source.

Repository SourceNeeds Review
General

semantic-release

No summary provided by upstream source.

Repository SourceNeeds Review
General

ascii-diagram-validator

No summary provided by upstream source.

Repository SourceNeeds Review