From aweek
Delegates tasks between aweek agents via async inbox queue. Lists available agents, prompts for sender/recipient selection, task description, priority, context, source ID, and confirms before queuing.
How this skill is triggered — by the user, by Claude, or both
Slash command
/aweek:delegate-taskThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Delegate a task from one agent to another. The task is placed in the recipient's async inbox queue and will be picked up on the next heartbeat. This enables inter-agent collaboration without synchronous cross-agent sessions.
Delegate a task from one agent to another. The task is placed in the recipient's async inbox queue and will be picked up on the next heartbeat. This enables inter-agent collaboration without synchronous cross-agent sessions.
You MUST follow this exact workflow when this skill is invoked. Use the project's Node.js modules in src/skills/delegate-task.js — never write inbox JSON files directly.
List all available agents so the user can choose sender and recipient:
echo '{"dataDir":".aweek/agents"}' \
| aweek exec agent-helpers listAllAgents --input-json -
The response is an array of { config } records. Project each entry to
{ id: config.id, name: config.identity?.name, role: config.identity?.role }
for display. Treat fewer than 2 entries as the "need more agents" case.
Ask the user using AskUserQuestion: "Which agent is delegating the task? (select by number or name)"
Ask the user using AskUserQuestion: "Which agent should receive the task? (select by number or name)"
Ask the user for the task details:
Task Description (required): Ask using AskUserQuestion: "Describe the task to delegate (max 2000 characters):"
Priority (optional): Ask using AskUserQuestion: "Priority level? (critical / high / medium / low) — default: medium"
critical, high, medium, lowmedium if the user skips or enters empty.Context (optional): Ask using AskUserQuestion: "Any additional context for the recipient? (press Enter to skip)"
Source Task ID (optional): Ask using AskUserQuestion: "Source task ID for traceability? (press Enter to skip)"
Display a summary of the delegation before executing:
--- Delegation Summary ---
From: <SENDER_NAME> (<SENDER_ID>)
To: <RECIPIENT_NAME> (<RECIPIENT_ID>)
Task: <TASK_DESCRIPTION>
Priority: <PRIORITY>
Context: <CONTEXT or "none">
Source Task: <SOURCE_TASK_ID or "none">
Ask using AskUserQuestion: "Proceed with this delegation? (yes/no)"
If the user confirms, execute:
echo '{
"fromAgentId": "<FROM_AGENT_ID>",
"toAgentId": "<TO_AGENT_ID>",
"taskDescription": "<TASK_DESCRIPTION>",
"options": {
"priority": "<PRIORITY>",
"context": "<CONTEXT_OR_OMIT>",
"sourceTaskId": "<SOURCE_TASK_ID_OR_OMIT>"
}
}' | aweek exec delegate-task delegateTask --input-json -
The response JSON is the inbox message record — highlight result.id as
the message identifier. To render the formatted summary the user sees,
pipe that response back through the formatter:
# $MESSAGE is the JSON payload from the previous call
echo "$MESSAGE" | aweek exec delegate-task formatDelegationResult \
--input-json - --format text
Replace placeholders with actual values, properly JSON-escaped. Omit
context and sourceTaskId from the options object if the user skipped
them.
If the user declines, inform them: "Delegation cancelled. No changes were made."
Show the formatted delegation result. Highlight:
.aweek/agents/critical, high, medium, low (default: medium)/aweek:create-agentEach delegation creates a unique message with a generated ID. Re-enqueuing the exact same message object (by ID) is a no-op — the inbox store deduplicates by message ID. This ensures heartbeat retries never produce duplicate inbox entries.
.aweek/agents/<agent-id>.inbox.json)status field: pending -> in-progress -> completed / failedfrom, to, sourceTaskId, and timestampsAgents are stored in .aweek/agents/<agent-id>.json relative to the project root.
Inbox queues are stored in .aweek/agents/<agent-id>.inbox.json relative to the project root.
npx claudepluginhub runbear-io/aweek --plugin aweekCoordinates multiple AI agents through a single orchestrator: decomposes tasks, routes to specialists, prevents duplication, and enforces quality gates with heartbeat monitoring.
Proactively orchestrates AI agents: scans statuses, assesses progress, sends instructions, and coordinates multi-agent workflows until completion.