task-runner

Run monorepo tasks with dependency ordering using monorepo-task-runner. Covers mtr run, mtr status, tasks.yaml format, and the web dashboard.

7 stars

Best use case

task-runner is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Run monorepo tasks with dependency ordering using monorepo-task-runner. Covers mtr run, mtr status, tasks.yaml format, and the web dashboard.

Teams using task-runner should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/task-runner/SKILL.md --create-dirs "https://raw.githubusercontent.com/heldernoid/agentic-build-templates/main/projects/developer-tools/monorepo-task-runner/skills/task-runner/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/task-runner/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How task-runner Compares

Feature / Agenttask-runnerStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Run monorepo tasks with dependency ordering using monorepo-task-runner. Covers mtr run, mtr status, tasks.yaml format, and the web dashboard.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# task-runner skill

Use this skill when the user wants to:
- Run one or more tasks with dependency resolution
- View current task status
- Understand tasks.yaml configuration
- Use the web dashboard to monitor a run

## Prerequisites

```
# Server must be running (starts automatically with mtr run)
node dist/mtr.js serve
# or just run tasks directly
node dist/mtr.js run --all
```

## tasks.yaml format

```yaml
tasks:
  <name>:
    command: <shell command>      # required
    depends_on: [task1, task2]    # optional - other task names
    inputs:                       # optional - glob patterns for cache key
      - "packages/*/src/**/*.ts"
    outputs:                      # optional - files to cache/restore
      - "packages/*/dist/**"
    env:                          # optional - extra env vars
      NODE_ENV: production
    cwd: packages/server          # optional - working directory
    timeout: 300000               # optional - ms (default 300s)
```

## Running tasks

```bash
# Run all tasks
mtr run --all

# Run specific tasks (includes their dependencies automatically)
mtr run build

# Run multiple tasks
mtr run lint typecheck

# Skip cache for a full re-run
mtr run --all --force

# Custom config file
mtr run --config ./ci/tasks.yaml --all
```

## Task status

```bash
mtr status
```

Output columns: TASK, STATUS, LAST RUN, DURATION, CACHE

Status values:
- success - completed successfully
- failed - exited non-zero
- cached - skipped, cache hit used
- skipped - not run because a dependency failed
- running - currently executing
- pending - waiting for dependencies

## Dependency resolution

Tasks are executed in topological order. Tasks at the same stage (no mutual dependency) run concurrently up to MTR_CONCURRENCY (default 4).

Example for tasks.yaml with `test -> build -> [lint, typecheck]`:
- Stage 1: lint and typecheck run concurrently
- Stage 2: build runs after both pass
- Stage 3: test runs after build passes

If any task fails: no new tasks start, running tasks finish, dependents marked skipped.

## Web dashboard

Open http://127.0.0.1:3300 to see:
- Pipeline view: stage grid with task cards, live status updates via SSE
- Run history: all past runs with status and duration
- Task detail: per-task run history, cache hit rate
- Cache view: list entries, delete individual or all

The dashboard auto-refreshes during active runs. No manual reload needed.

## Environment variables

```
MTR_PORT=3300           Web UI port
MTR_HOST=127.0.0.1      Bind address
MTR_CACHE_DIR=./.mtr-cache   Cache location
MTR_CONCURRENCY=4       Parallel task limit
MTR_WEB_ENABLED=1       0 to disable web UI
```

## Exit codes

- 0: all tasks passed
- 1: one or more tasks failed
- 2: config error (bad tasks.yaml, circular dependency)

Related Skills

ssh-runner

7
from heldernoid/agentic-build-templates

Execute read-only commands on remote Linux servers via SSH using the ssh2 npm package.

load-test-runner

7
from heldernoid/agentic-build-templates

No description provided.

eval-runner

7
from heldernoid/agentic-build-templates

Run LLM evaluation test suites and detect regressions. Use when you need to: test LLM responses against expected outputs, score responses with exact match, regex, or AI judge, compare model performance across runs, detect quality regressions in CI, or benchmark multiple models. Triggers include "LLM eval", "test my prompts", "evaluate model", "run evals", "regression test LLM", "score responses", "compare models", or any task requiring systematic LLM quality measurement.

Skill: farm-task-manager

7
from heldernoid/agentic-build-templates

## Purpose

Skill: Uptime Monitoring

7
from heldernoid/agentic-build-templates

## Overview

Skill: Status Page

7
from heldernoid/agentic-build-templates

## Overview

Skill: unit-conversion

7
from heldernoid/agentic-build-templates

## Overview

Skill: recipe-scaler

7
from heldernoid/agentic-build-templates

## Overview

reading-list

7
from heldernoid/agentic-build-templates

Operate the reading-list API to save, manage, tag, search, and export articles.

email-digest

7
from heldernoid/agentic-build-templates

Configure, test, and troubleshoot the reading-list daily email digest delivered via nodemailer.

websocket-realtime

7
from heldernoid/agentic-build-templates

Use the WebSocket connection in poll-builder to receive live vote updates. Use when you need to stream real-time poll results, monitor a poll for new votes, or build a live dashboard. Triggers include "live results", "real-time updates", "stream votes", "watch poll", or "WebSocket".

poll-builder

7
from heldernoid/agentic-build-templates

Self-hosted poll creation tool with real-time results. Use when you need to create a poll, check vote counts, close a poll, export results, or get the shareable link for a poll. Triggers include "create poll", "vote", "poll results", "survey", "collect votes", "share poll", or any task involving polling or voting.