本文へ移動
cccskills
無料GitHub で公開

teamharness-task-delegation

Use when you act as Leader to turn ready Quick Task or Project Work state into Worker task instructions, send assignment messages, check submitted results, and define completion/blocker report contracts. Do not use to create projects, create rooms, or execute Worker tasks.

インストール方法を見る

含まれるファイル(1)

  • SKILL.md8.1 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Task Delegation

Use this skill when acting as Leader to create Project Work task specs, send assignment messages, and check submitted Worker results.

Each delegated task should have a task id, owner, scope, expected deliverables, acceptance criteria, and blocker reporting path. Write task instructions to the shared task directory before asking the owner to execute.

A submitted result is only a candidate result until accepted by the Leader. Do not use this skill to turn ordinary conversation into tasks.

Scope

Use this skill for:

  • taskflow calls as Leader
  • converting a ready project node into a Worker task spec
  • checking a submitted Worker result
  • routing task assignment and completion messages

Use teamharness-project-management to create projects, plan DAG or Loop work, resolve ready nodes, record Loop iteration decisions, and accept results into project progress.

Delegate Only Ready Nodes

Use delegate_task only for Project Work nodes that are ready in project state. Do not create bare tasks directly from a user request. First create or update a project DAG, then delegate a ready project node returned by projectflow readyNodes, or create/update a Loop and delegate a ready project node returned by readyLoopNodes.

For Quick Task, projectflow create_quick_project is used instead. It already writes shared/tasks/{task-id}/meta.json, shared/tasks/{task-id}/spec.md, and marks the task assigned; do not call delegate_task again for that task. create_quick_project does not auto-notify, so after it returns ok: true, send the assignment message described in the Assignment Message section below.

Before delegation:

  1. Resolve the Worker Matrix ID or stable member name from the team roster.
  2. Confirm the node came from readyNodes or readyLoopNodes.
  3. Write a bounded task spec through taskflow. The spec must include the completion report instruction below.
  4. Keep Worker deliverables under shared/tasks/{task-id}/.... Do not ask a Worker to write or submit shared/projects/...; project reports are Leader owned.
  5. Use the current Matrix Task room for the assignment. Do not fall back to the requester/source session.
  6. delegate_task mentions the assigned Worker automatically after it succeeds — do not send a second mention.

teamharness-roomflow owns task-room creation, reuse, external source binding, and Worker invites before Project Work reaches this skill.

Delegate Task

Call taskflow with role: "leader" and pass payload as an object:

{
  "role": "leader",
  "action": "delegate_task",
  "payload": {
    "projectId": "demo-project-001",
    "taskId": "demo-project-001-01",
    "roomId": "room:!task-room:matrix.local",
    "spec": "# Task demo-project-001-01\n\n## Context\nExplain why this task exists.\n\n## Expected Result\nCreate deliverables under shared/tasks/demo-project-001-01/ and submit a result with STATUS, SUMMARY, and DELIVERABLES.\n\n## Acceptance Criteria\n- The result addresses the task scope.\n- Deliverables are listed in result.md.\n\n## Completion Report\nAfter `taskflow submit_task` returns `ok: true`, reply in the current Task room and mention the exact Leader Matrix user from this task context:\n\n<Leader Matrix user> TASK_COMPLETED: demo-project-001-01 - Result: shared/tasks/demo-project-001-01/result.md\n\nDo not use `NO_REPLY` after a successful task submission.\n"
  }
}

delegate_task writes:

shared/tasks/{task-id}/meta.json
shared/tasks/{task-id}/spec.md

It changes the project node status to indicate the node is delegated/assigned, publishes the task directory to shared storage, and automatically sends the Worker assignment notification with m.mentions in the Task room, returning the Matrix eventId in the response.

Task Spec Completion Report

Every delegated task spec must include this final instruction, with the task id and result path adjusted for the actual task:

## Completion Report

After `taskflow submit_task` returns `ok: true`, reply in the current assignment
room and mention the exact Leader Matrix user from this task context:

<Leader Matrix user> TASK_COMPLETED: demo-project-001-01 - Result: shared/tasks/demo-project-001-01/result.md

Do not use `NO_REPLY` after a successful task submission.

If the project node already contains a custom completion line, preserve it and still make the Leader mention requirement explicit.

Assignment Message

delegate_task automatically notifies the assigned Worker in the Task room: it validates room membership, sends a message with m.mentions mentioning the Worker's full Matrix ID, and returns the Matrix eventId. Do not send a second assignment message after delegate_task — that duplicates the assignment and can trigger the Worker twice.

create_quick_project does not auto-notify. After it returns ok: true, send a normal current-session reply in the Task room and mention the Worker:

@worker-a:matrix.local TASK_ASSIGNED: demo-project-001-01 - Please start this task. Spec: shared/tasks/demo-project-001-01/spec.md

Do not use the message tool for this same-room assignment. The direct Task room reply is the trigger; using message plus a direct mention can trigger the Worker twice.

Do not ask the Worker to edit project files. Do not ask several Workers to own the same task directory.

Check Submitted Task

When a Worker reports completion or blocker status, call:

{
  "role": "leader",
  "action": "check_task",
  "payload": {
    "taskId": "demo-project-001-01"
  }
}

If effective is false, do not accept the task. Tell the Worker what is missing and wait for a corrected result.

If effective is true, retain the returned current task.submission_id, return to teamharness-project-management, and pass that identity as submissionId with an explicit boolean accepted decision. You may decide only as the trusted Leader runtime; do not trust a payload role, and never delegate acceptance or cancellation to the Worker. For every normal task that already has a submission identity, omitting submissionId is an error for both accept and cancel; only the documented no-identity legacy migration may omit it.

Result Contract

Expect Worker results to contain:

STATUS: SUCCESS
SUMMARY: Short summary

DELIVERABLES:
- shared/tasks/{task-id}/path

For report-style tasks, let the Worker write the full report directly to shared/tasks/{task-id}/result.md before calling submit_task. The tool records structured status in task metadata and does not create or rewrite result.md. Do not treat result.md as only a short envelope when it is the expected deliverable.

Accepted statuses are:

  • SUCCESS
  • SUCCESS_WITH_NOTES
  • REVISION_NEEDED
  • BLOCKED
  • INTERRUPTED

Treat INTERRUPTED like BLOCKED at the terminal decision boundary: accepting either status records the task and plan node as blocked and resolves the continuation with resolution: blocked.

Submitting a result ends that Worker task. If more work is needed, create a new project node and delegate a new task.

Post-Action Notification

delegate_task sends the Worker assignment automatically: it validates room membership, sends the assignment message with m.mentions in the Task room, and returns the Matrix eventId in the response. No additional assignment message is needed after a successful delegate_task.

submit_task and the notificationNeeded field are structured hints for the completion report. When a Worker reports TASK_COMPLETED with a result path, check the result and follow teamharness-project-management for acceptance or rejection.

You should check notificationNeeded after accepting a task result to determine whether a requester report or downstream notification is due. See teamharness-project-management Post-Action Notification for the full protocol.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Use as a helper when the admin is assigning work but has not specified an existing Worker, so you need to search Nacos for a suitable Worker and ask whether to import it; also use when the admin explicitly says to import a Worker from the market or gives a direct nacos package URI.

日本語の概要は準備中です。原文の説明を表示しています。

agentscope-ai/AgentTeams5,7402026年10月12日 更新

Analyze current OpenClaw setup and generate a migration package (ZIP) for importing into AgentTeams as a managed Worker

日本語の概要は準備中です。原文の説明を表示しています。

agentscope-ai/AgentTeams5,7402026年10月12日 更新

Use when determining sender identity in any room, managing trusted contacts, configuring the admin's primary notification channel, handling first-contact from a new channel, or escalating to admin across channels.

日本語の概要は準備中です。原文の説明を表示しています。

agentscope-ai/AgentTeams5,7402026年10月12日 更新

将编码工作委托给 Manager 持有的 AI CLI 工具(Claude Code / Gemini CLI / qodercli)执行

日本語の概要は準備中です。原文の説明を表示しています。

agentscope-ai/AgentTeams5,7402026年10月12日 更新

Execute AI coding CLI tools (Claude Code / Gemini CLI / qodercli) on behalf of Workers. Use when a Worker sends a coding-request: message, asking Manager to run coding operations in their workspace.

日本語の概要は準備中です。原文の説明を表示しています。

agentscope-ai/AgentTeams5,7402026年10月12日 更新

Use before sending or suppressing any Leader message to Workers, Manager, or Team Admin. Always use this skill for cross-room Matrix messages, @mention decisions, task assignment notifications, structured status reports, completion reports, blocker/revision messages, questions, requester updates, or when deciding whether a same-room reply is enough.

日本語の概要は準備中です。原文の説明を表示しています。

agentscope-ai/AgentTeams5,7402026年10月12日 更新

agentscope-ai のスキルをすべて見る

このスキルの問題を報告する