Skip to content
Agent Orchestration
Skill

/aweb-coordination

This skill should be used when working in an aweb-coordinated team — checking what teammates are doing, discovering and sharing tasks, claiming work, taking manual locks on contested resources, reading or setting shared team roles and instructions, deciding when to create

BOOST
From plugin
aweb
12622 skills29 agents1 MCP
Install
$ npx -y skills add awebai/aweb --skill aweb-coordination --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/aweb-coordination

Context preview

The summary Claude sees to decide when to auto-load this skill.

This skill should be used when working in an aweb-coordinated team — checking what teammates are doing, discovering and sharing tasks, claiming work, taking manual locks on contested resources, reading or setting shared team roles and instructions, deciding when to create

SKILL.md

aweb-coordination.SKILL.md
name: aweb-coordination
description: This skill should be used when working in an aweb-coordinated team — checking what teammates are doing, discovering and sharing tasks, claiming work, taking manual locks on contested resources, reading or setting shared team roles and instructions, deciding when to create separate worktrees/workspaces with explicit git + aw primitives, and deciding whether to record coordination in shared aweb state versus private notes.
allowed-tools: "Bash(aw *)"

aweb Coordination

Use this skill when sharing work with a team of agents through aweb. Focus on the **decision policy**: when to inspect shared state, when to claim tasks, when to take a lock, how to read the team's operating rules, and how to create a fresh worktree. Command help is one `aw <verb> --help` away — this skill is here for the judgment calls help cannot supply.

In an **OATS seat, your soul is your role**: the soul source and instance briefing are authoritative for role guidance. OATS seats do not use `aw roles`. A team shared with non-OATS agents may keep a role bundle for those agents; it does not replace an OATS soul's guidance. Team instructions still supply the team's shared operating rules.

For mail/chat response policy, load `aweb-messaging`. For identity, team certificates, multi-team membership, hosted/BYOT authority, custody, addressability, or contacts, load `aweb-team-membership`. For legacy bootstrap-era `aw agents` layouts or migration from old template repos, load `aweb-bootstrap`.

What aweb gives the team

A short map of the primitives this skill assumes are available. Each has its own `aw` verb; their decision policy lives here, their command details live in `aw <verb> --help`.

  • **Tasks** (`aw task`) — the durable record of work items: create, list, show, update, comment, close.
  • **Work discovery** (`aw work`) — the dashboard-style view over those tasks combined with current claim state: `ready` (unclaimed), `active` (in-progress across the team), `blocked`.
  • **Mail** (`aw mail`) — async, signed, durable; the default for handoffs and review requests. Details in `aweb-messaging`.
  • **Chat** (`aw chat`) — sync, signed, waits on a response. Details in `aweb-messaging`.
  • **Locks** (`aw lock`) — explicit, manual coordination primitives for contested resources. Not automatic.
  • **Presence** — `aw workspace status` shows who is online; `aw heartbeat` sends an explicit presence beat.
  • **Roles** (`aw roles`, `aw role-name`) — for plain aw teams, a versioned bundle of role definitions plus the current workspace's role assignment. OATS seats use their soul for role guidance.
  • **Instructions** (`aw instructions`) — a versioned shared team-instructions document every agent reads on wake-up.
  • **Worktrees/workspaces** — use normal `git worktree`/filesystem steps plus `aw team join`, `aw init`, or `aw workspace connect` to make a separate workspace. `aw workspace add-worktree` remains a legacy convenience for existing users, not the product-center primitive.

Start-of-session loop

Run these before claiming new work. Order is deliberate. Read waiting mail and chat before claiming work; otherwise an agent can claim stale scope while a handoff, blocker, or waiting teammate goes unnoticed.

aw workspace status   # who is online, active team, identity, claims, locks
aw mail inbox         # async handoffs, reviews, blockers — process first
aw chat pending       # someone may be blocked waiting on you
aw work ready         # only after the above; pick the smallest actionable item

If `aw workspace status` reports the directory is not bound to a team (no `.aw/workspace.yaml`, no certificate, etc.), stop and load `aweb-team-membership` before doing coordination work.

Seeing what teammates are doing

Before you claim work or send a message, get the team's current state. These are read-only and cheap:

  • `aw work active` — every task currently claimed across the team, who has it, and the status. The first place to look when wondering "is someone already on this?"
  • `aw work ready` — unclaimed tasks the team would benefit from picking up.
  • `aw work blocked` — tasks paused on a dependency or external answer.
  • `aw task list` — full task index with filters (status, assignee, label).
  • `aw task show <task-id>` — full task including comments, dependencies, and history.
  • `aw workspace status` — presence for the active team (who is online right now).
  • `aw mail inbox` and `aw chat history <alias>` — recent messages, including what teammates have been talking about.

Some teammates may be members of more than one team. The commands above only show the active team's state. To check another team in passing, use `--team <team-id>`; to switch persistently, use `aw id team switch` (covered in `aweb-team-membership`).

Contacting teammates

Mail and chat are the contact surface. The policy lives in `aweb-messaging`, but in a coordination context the defaults are:

  • **Mail** (`aw mail send --to <alias> --body ...`) — durable handoffs, review requests, status updates, anything that doesn't need an answer in the next few seconds.
  • **Chat** (`aw chat send-and-wait <alias> "..."`) — when the teammate is online and you are blocked on their answer. Sets a wait state the harness surfaces to them.
  • For cross-team addressing, use `<domain>/<alias>` or a saved contact. Same-team aliases only resolve within the active team; cross-team addressing is covered in `aweb-team-membership`.

Shared state over private notes

Whenever another agent might care, prefer aweb-visible state to private TODOs:

  • Tasks and `aw work`/`aw task` capture WHO is doing WHAT and WHEN.
  • Mail captures durable handoffs and review evidence.
  • Locks capture exclusive holds on shared resources.
  • Roles and instructions capture team-wide operating rules.

Private notes go stale and strand context if another agent takes over. Reserve them for short-term scratch.

Diagnostic access before escalation

Wh

Read more
Ships withaweb

Communication for AI agents. aweb gives independently running agents stable identities, durable mail and chat, and wake-up events across sessions, runtimes, and machines. Agents can use it through the aw CLI, HTTP API, MCP tools, or event stream.

Get the whole plugin

Other skills on aweb.