tmux-task-runner

Run long-running tasks in detached tmux sessions with persistent logs.

76|8|Updated Oct 21, 2025
One-click install
npx skills add https://github.com/shanev/skills --skill tmux-task-runner
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: tmux-task-runner
Source: https://github.com/shanev/skills/tree/main/tmux-task-runner
Command: npx skills add https://github.com/shanev/skills --skill tmux-task-runner

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires tmux.

What problem does it solve?

Developers often face challenges with long-running commands like builds, tests, or deployments that tie up their terminal, making it impossible to work on other tasks. This Skill eliminates that bottleneck by running these processes in the background, ensuring you never lose output and can monitor progress without interruption.

Core Features & Use Cases

  • Detached Execution: Launch any command (e.g., npm run build, pytest, terraform apply) in a dedicated, isolated tmux session, freeing your terminal instantly.
  • Persistent Logging & Status: All command output is saved to a timestamped log file, and execution metadata (exit code, duration) is recorded, even if your terminal closes.
  • Real-time Monitoring: Easily check the status, tail logs, or attach to the session interactively to see live output, ensuring you're always informed without being blocked.
  • Use Case: Initiate a complex CI/CD pipeline simulation or a machine learning model training session. You can then continue coding, reviewing, or even switch projects, knowing you can check the task's progress or final results at any moment.

Quick Start

Start a build process in the background

./run.sh run build "npm run build"

Monitor its progress (replace SESSION_ID with the actual session name)

./run.sh tail task-build-SESSION_ID

Check final status (replace SESSION_ID with the actual session name)

./run.sh status task-build-SESSION_ID

Frequently Asked Questions about tmux-task-runner

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I run long-running tasks in the background without blocking my terminal?

Run long-running tasks in the background using tmux sessions, which detach execution instantly and let you continue working. This Skill launches commands like builds, tests, or deployments in isolated sessions, freeing your terminal immediately while preserving all output in timestamped logs.

Can I monitor a background task's progress without attaching to its session?

Yes. Tail logs or check status metadata without interrupting the running process. This Skill captures real-time output to persistent log files and records execution metadata like exit codes and duration, letting you check progress or final results at any moment.

How do I set up automated execution for CI/CD pipelines and development servers?

Launch CI/CD pipelines, builds, tests, and development servers as detached tmux tasks with environment overrides and accessible monitoring controls. The Skill handles persistent logging and status tracking, letting you initiate complex workflows and switch projects while monitoring remains accessible.

What do I need to run background tasks with this approach?

You need tmux installed on your system. This Skill requires only that dependency to run detached commands, capture output, and provide monitoring controls—no additional components or frameworks are required.

Does this work for data-processing pipelines and machine learning training?

Yes. This Skill applies to any long-running task including data-processing pipelines and model training sessions. Detached execution with real-time output capture and persistent logs ensures you can monitor progress or retrieve final results without terminal interference.

Why use tmux sessions instead of running tasks directly in the background?

Tmux sessions provide persistent, isolated execution environments with real-time output capture, accessible monitoring (tail, attach, status), and persistent logs that survive terminal closure. This prevents output loss and gives you flexible, on-demand visibility into running processes.