awman
Guide for using awman to run AI coding agents in isolated containers with multi-step workflows and a REST API. Use when configuring parallel agent sessions, authoring awman workflows, driving the awman api server, managing worktrees, migrating from amux, or troubleshooting awman container runs.
What this skill does
# awman awman is a Rust CLI and TUI for running AI coding agents (Claude Code, Codex, OpenCode, and others) in isolated Docker or Apple Containers sandboxes. It coordinates parallel agent sessions, executes multi-step workflows, and exposes a REST API for headless programmatic control. **awman is not a tmux wrapper.** The name invites that assumption. awman ships its own tab-based TUI with its own keybindings. Tmux is not a dependency. awman was previously named **amux**. See "Migrating from amux" below. Source: https://github.com/prettysmartdev/awman (accessed 2026-06-02) License: Apache-2.0 | Latest at research time: v0.9.1 (2026-05-28) ## When to Use This Skill Activate when: - Setting up a project for parallel agent sessions (`awman init`, `awman ready`) - Running a chat session or one-off prompt via the awman CLI - Authoring or executing multi-step workflows (`awman new workflow`, `awman exec workflow`) - Driving the REST API server (`awman api`) from an automation script - Migrating an existing amux setup to awman - Troubleshooting container isolation, worktrees, or config resolution - Configuring agent selection, container runtimes, or environment passthrough ## Prerequisites - A container runtime: **Docker** (Linux, macOS, Windows) or **Apple Containers** (macOS 26+). Set via global `runtime` config key. The two runtimes are mutually exclusive. - Runtime running and healthy before any `awman` session starts. ## Install Mise is the recommended install path. It manages the version, pins reproducibly, and uses the GitHub releases backend — no extra dependencies. A ready-to-copy pin lives at `templates/0.9.1/mise.toml` in this skill — copy it into the target repo's `mise.toml` (or merge under `[tools]`) and run `mise install`. **Global pin (one-time, any project):** ```sh mise use -g github:prettysmartdev/[email protected] ``` **Per-project pin (recommended for repos that run awman):** ```sh cp templates/0.9.1/mise.toml <your-repo>/mise.toml # then: cd <your-repo> && mise install ``` The template's contents: ```toml [tools] "github:prettysmartdev/awman" = "0.9.1" ``` **Verify:** ```sh mise which awman && awman --version ``` Fall back to the upstream installer (`curl -s https://prettysmart.dev/install/awman.sh | sh`) only when mise is unavailable (locked-down CI image, no GitHub release network access). State the reason explicitly when doing so. Building from source requires Rust 1.94+ and `make` (`git clone https://github.com/prettysmartdev/awman.git && cd awman && make install`). Do not use Homebrew, asdf, or mason — none are documented by upstream. ## Migrating from amux The rename is automatic for existing users: - Config migrates automatically on first run. Change any `AMUX_*` environment variables to `AWMAN_*` and you are done. - The binary is now `awman`; the installer offers to clean up old `amux` binaries. - Config keys under `headless.*` are now under `api.*` (e.g. `headless.workDirs` → `api.workDirs`). - The server command `amux headless start` is now `awman api start`. - Per-repo config moved from `aspec/.amux.json` to `GITROOT/.awman/config.json` (see Config below). - Markdown workflow files (`.md`) are **no longer supported** — use TOML or YAML. ## First-Run Diagnostic awman is pre-1.0 and ships frequently. Run these before trusting that docs match the installed binary: ```sh awman --version awman config show ``` `awman config show` prints the merged effective config (global + per-repo). Use it to verify `runtime`, `default_agent`, and overlay state rather than reading JSON files directly. ## Command Tree | Command | Purpose | |---------|---------| | `awman init [--aspec] [--agent <name>]` | Scaffold project: writes `.awman/config.json` and per-agent Dockerfiles | | `awman ready [--refresh]` | Verify environment; `--refresh` re-audits and rebuilds the agent Dockerfile | | `awman chat [--agent <name>] [--auto] [--yolo]` | Interactive agent session in a TUI tab | | `awman exec prompt "<text>"` | One-off prompt without a persistent session | | `awman exec workflow <path> [--work-item <nnnn>] [--yolo] [--worktree]` | Run a multi-step workflow file | | `awman new spec\|workflow\|skill [--interview]` | Scaffold a work item, workflow, or custom skill | | `awman specs amend <nnnn>` | Update an existing work item | | `awman status [--watch]` | Session/workflow dashboard | | `awman config show\|get\|set [--global]` | Inspect/modify merged config | | `awman api start\|status\|logs\|kill` | Manage the REST API server (default port 9876) | | `awman remote run\|session` | Drive a remote awman api server | | `awman` (no args) | Open the TUI | See `templates/0.9.1/commands.md` for the full v0.9.1 command surface with flags and examples. ## Agents Supported agents: `claude`, `codex`, `opencode`, `maki`, `gemini`, `antigravity`, `copilot`, `crush`, `cline`. Each agent has a Dockerfile in `.awman/Dockerfile.<agent>` (seeded from upstream templates). Customize the Dockerfile to add tools or environment configuration for that agent. **Selection precedence** (highest wins): 1. Per-step `agent:` field in the workflow file 2. `--agent <name>` flag on the CLI invocation 3. `agent` key in per-repo `.awman/config.json` 4. `default_agent` key in `~/.awman/config.json` (global default; factory default: `"claude"`) ## Worktrees Opt-in via `--worktree` on `awman chat` / `awman exec`. All steps in a single workflow run share one worktree. Worktrees are **never auto-deleted**. At session end, awman prompts: merge / discard / keep. On abort, the worktree is preserved for manual inspection. Monitor disk use when running repeated `--yolo --worktree` workflow runs. Containers run `--rm` and auto-remove at session end. Only the Git repository is bind-mounted; `/workspace` inside the container is ephemeral beyond what lands in the Git tree. ## Config Files awman reads one `config.json` per scope: | File | Scope | Created by | Commit? | |------|-------|-----------|---------| | `~/.awman/config.json` | Global | Manually or `awman config set --global` | No | | `GITROOT/.awman/config.json` | Per-repo | `awman init` | Yes | Per-repo takes precedence on overlapping scalar keys. `overlays.skills` and `overlays.directories` merge **additively** across scopes. The repo `.awman/` directory also holds per-agent Dockerfiles seeded by `awman init`. Always use `awman config show` to see merged values rather than hand-editing the JSON. See `references/config.md` for the full per-key schema (type, default, scope, merge behavior). ## API Mode `awman api start` runs a REST server on port 9876 (configurable via `--port`). It serves **HTTPS with a self-signed certificate by default** — pass `--dangerously-skip-tls` for plain HTTP in trusted local setups. It accepts bearer-token auth. Sessions are restricted to directories in `api.workDirs` (global config) or passed via `--workdirs`. **FIFO queue per session.** Submitting a second command while one is in flight enqueues it — submission never blocks and returns immediately with a `command_id`. Poll `GET /v1/commands/:id` or stream `/v1/commands/:id/logs/stream` (Server-Sent Events) to track progress. A `POST /v1/sessions` with a workdir outside the allowlist returns HTTP 403. Prefer `awman remote` over raw curl when driving the server from the CLI — it carries auth and the session header per the operator-tooling-first convention. See `references/api.md` for the full endpoint table and curl examples. ## Workflow Authoring Workflows are TOML (`.toml`) or YAML (`.yml`/`.yaml`) files authored via `awman new workflow [--interview]` and executed via `awman exec workflow <path>`. **Markdown (`.md`) workflows are no longer supported as of 0.9.1.** Step fields are lowercase only: `name` and `prompt` are required; `depends_on`, `agent`, and `model` are optional. Template variables available in prompts: `{{work_item_number}}` (zero-padded 4-digit), `{{work_item}}` (bare number), `{{work_item_content}}` (full
Related in Backend & APIs
jfrog
IncludedInteract with the JFrog Platform via the JFrog CLI and REST/GraphQL APIs. Use this skill when the user wants to manage Artifactory repositories, upload or download artifacts, manage builds, configure permissions, manage users and groups, work with access tokens, configure JFrog CLI servers, search artifacts, manage properties, set up replication, manage JFrog Projects, run security audits or scans, look up CVE details, query exposures scan results from JFrog Advanced Security, manage release bundles and lifecycle operations, aggregate or export platform data, or perform any JFrog Platform administration task. Also use when the user mentions jf, jfrog, artifactory, xray, distribution, evidence, apptrust, onemodel, graphql, workers, mission control, curation, advanced security, exposures, or any JFrog product name.
cupynumeric-migration-readiness
IncludedPre-migration readiness assessor for porting NumPy to cuPyNumeric. Use BEFORE substantial porting work begins when the user asks whether code will scale on GPU, whether they should migrate to cuPyNumeric, which NumPy patterns transfer cleanly, what must be refactored before porting, or mentions pre-port assessment, scaling analysis, or refactor planning. Inspect the user's source code, look up NumPy usage, cross-reference the cuPyNumeric API support manifest, and distinguish distributed-scaling-friendly patterns from blockers such as unsupported APIs, scalar synchronization, host round-trips, Python/object-heavy control flow, shape/data-dependent branching, and in-place mutation hazards. Produce a verdict of READY, LIGHT REFACTOR, SIGNIFICANT REFACTOR, or NOT RECOMMENDED, with concrete refactor pointers.
alibabacloud-data-agent-skill
IncludedInvoke Alibaba Cloud Apsara Data Agent for Analytics via CLI to perform natural language-driven data analysis on enterprise databases. Data Agent for Analytics is an intelligent data analysis agent developed by Alibaba Cloud Database team for enterprise users. It automatically completes requirement analysis, data understanding, analysis insights, and report generation based on natural language descriptions. This tool supports: discovering data resources (instances/databases/tables) managed in DMS, initiating query or deep analysis sessions, real-time progress tracking, and retrieving analysis conclusions and generated reports. Use this Skill when users need to query databases, analyze data trends, generate data reports, ask questions in natural language, or mention "Data Agent", "data analysis", "database query", "SQL analysis", "data insights".
token-optimizer
IncludedReduce OpenClaw token usage and API costs through smart model routing, heartbeat optimization, budget tracking, and native 2026.2.15 features (session pruning, bootstrap size limits, cache TTL alignment). Use when token costs are high, API rate limits are being hit, or hosting multiple agents at scale. The 4 executable scripts (context_optimizer, model_router, heartbeat_optimizer, token_tracker) are local-only — no network requests, no subprocess calls, no system modifications. Reference files (PROVIDERS.md, config-patches.json) document optional multi-provider strategies that require external API keys and network access if you choose to use them. See SECURITY.md for full breakdown.
resend-cli
IncludedUse this skill when the task is specifically about operating Resend from an AI agent, terminal session, or CI job via the official resend CLI: installing/authenticating the CLI, sending/listing/updating/cancelling emails, batch sends, domains and DNS, webhooks and local listeners, inbound receiving, contacts, topics, segments, broadcasts, templates, API keys, profiles, or debugging Resend CLI/API failures. Trigger on mentions of Resend CLI, `resend`, `resend doctor`, `resend emails send`, `resend domains`, `resend webhooks listen`, `resend emails receiving`, or agent-friendly terminal automation.
alibabacloud-odps-maxframe-coding
IncludedUse this skill for MaxFrame SDK development and documentation navigation on Alibaba Cloud MaxCompute (ODPS). Helps answer MaxFrame API, concept, official example, and supported pandas API questions; create data processing programs; read/write MaxCompute tables; debug jobs (remote or local); and build custom DPE runtime images. Trigger when users mention MaxFrame, MaxCompute with MaxFrame, ODPS table processing, DPE runtime, MaxFrame docs/examples, DataFrame/Tensor operations, or GPU runtime setup. Works for both English and Chinese queries about Alibaba Cloud data processing with MaxFrame.