본문으로 건너뛰기
cccskills
무료GitHub에 공개

task-management

Assign ready tasks from a project plan to Worker agents and check their submitted results. The skill defines task specifications, file ownership, and result statuses, helping a coordinator decide whether to accept work or plan follow-up tasks.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

원문원문 설명 보기

Use before any Leader taskflow call or task-level workflow involving delegating a ready DAG or Loop node, writing task meta/spec, checking a Worker task result, handling result statuses, task directory ownership, or Worker result contracts. Always use this skill when the request mentions delegate_task, check_task, task result.md, task spec.md, BLOCKED, REVISION_NEEDED, INTERRUPTED, SUCCESS, or assigning/delegating a Worker task.

설치 방법 보기

이럴 때 유용합니다

  • Assign a ready project task to a Worker
  • Check submitted outputs and result statuses
  • Define ownership of task files
  • Decide how to handle revisions or blocked work

포함된 파일(2)

  • SKILL.md11.7 KB
  • references/dag-tasks.md4.3 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Task Management

You manage individual Worker task delegation and result checks. Use this skill as the task execution layer. Use team-coordination for work organization strategy and project-management for Project state, DAG, Loop, lifecycle, and ready-node operations.

Task state is tool-owned. Do not create, edit, delete, or repair shared/tasks/** with shell commands, heredocs, direct file writes, rm, mkdir, cp, or Python module execution. Use taskflow actions only. If taskflow fails or returns inconsistent state, stop and report the blocker instead of manually patching files.

Scope

Use this skill for:

  • taskflow calls
  • creating Leader-owned task files
  • delegating one ready DAG or Loop node
  • checking one submitted Worker result
  • enforcing task file ownership
  • enforcing Worker result contracts

Do not use this skill to choose DAG vs Loop, design the project graph, pause/resume/complete a Project, or aggregate the final Project result.

Ownership

You own:

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

The Worker owns:

shared/tasks/{task-id}/workspace/
shared/tasks/{task-id}/<deliverables>
shared/tasks/{task-id}/result.md

Do not ask Workers to edit Project-level files:

shared/projects/{project-id}/meta.json
shared/projects/{project-id}/plan.md
shared/projects/{project-id}/result.md

Tool Boundary

Use taskflow for Leader task actions:

  • delegate_task
  • check_task

taskflow is a QwenPaw/CoPaw MCP tool exposed in your tool list. It is not a shell command, CLI binary, Python module, or HTTP endpoint. Call the tool directly; do not search for a binary or manually edit task files if the tool is unavailable.

Worker runtimes use their own task actions:

  • ack_task
  • submit_task

Use project-management for:

  • create_project
  • plan_dag
  • ready_nodes
  • plan_loop
  • ready_loop_nodes
  • record_loop_iteration
  • pause_project
  • resume_project
  • complete_project

Do not call check_active_tasks from heartbeat or routine recovery checks for now; Kubernetes Team Workers do not expose per-Worker /api/chats Services, so runtime probes can misreport healthy Workers as unreachable.

taskflow handles file sync internally: delegate_task auto-pushes the task directory, check_task auto-pulls the task directory. Use filesync separately only for project-level files or non-task shared files.

delegate_task automatically sends the Worker assignment: it publishes the task directory, validates the Worker's room membership, sends a visible Team Room message that @mentions the assigned Worker's full Matrix ID, and returns the Matrix eventId. do NOT send a second assignment message after a successful delegate_task — the auto-notification is the assignment, and a second message duplicates it and can trigger the Worker twice. Do not start polling the task, tell the requester that the Worker is working, or wait for results until the tool returns ok: true with a notification.eventId.

No extra action after delegate_task: the tool's auto-notification is the assignment. Do not output a same-room sentence describing your intent to delegate, such as "I need to delegate the first ready node" or "I will assign this to the dev worker". That text is not a Worker notification and leaves the task unassigned from the Worker's perspective.

Task Spec Language

Write task specs in the language selected by AGENTS.md Response Language.

Localize:

  • prose
  • headings
  • task titles
  • context
  • deliverable descriptions
  • constraints
  • next-step wording

Keep machine-facing identifiers and protocol tokens unchanged:

  • task IDs
  • paths
  • result.md
  • STATUS
  • SUMMARY
  • DELIVERABLES
  • SUCCESS
  • SUCCESS_WITH_NOTES
  • REVISION_NEEDED
  • BLOCKED
  • INTERRUPTED

Worker Name Canonicality

assigned_to, Matrix @mention, and all task tracking fields must use the Worker's Matrix localpart (the part between @ and : in matrixUserID). Extract it mechanically — never guess, strip, or transform.

Lookup (mandatory before assigning any task)

# 1. Resolve team CR name
TEAM_CR="$(agt get workers "${AGENTTEAMS_WORKER_CR_NAME:-$AGENTTEAMS_WORKER_NAME}" -o json | jq -r '.team')"

# 2. Get all team workers
agt get workers --team "$TEAM_CR" -o json

# 3. Extract localpart from matrixUserID for each worker
#    @worker-issue-resolver:domain → worker-issue-resolver

Use the extracted localpart verbatim everywhere:

  • manage-team-state.sh --assigned-to <localpart>
  • Matrix @mention: @<localpart>:<domain>
  • meta.json assigned_to field

Common mistake

CLI .name may include a deployment prefix (e.g. magic-cn-x0a4t4pr201-worker-issue-resolver). Do NOT use .name directly and do NOT manually strip prefixes. Always extract the localpart from .matrixUserID instead.

CLI .namematrixUserID✅ assigned_to❌ Wrong
magic-cn-...-worker-issue-resolver@worker-issue-resolver:domainworker-issue-resolverissue-resolver
magic-cn-...-dev-worker@dev-worker:domaindev-workerworker

Delegate A Ready Node

Delegate only nodes returned by:

  • projectflow(action="ready_nodes") for DAG plans
  • projectflow(action="ready_loop_nodes") for Loop plans

Do not create bare tasks directly from external requests. Start from the Project plan.

Before delegation:

  1. Pull shared/projects/{project-id}/.
  2. Read Project meta.json and plan.md.
  3. Confirm the Project is active.
  4. Resolve ready nodes with project-management.
  5. Select one ready node.

Create the task with taskflow(action="delegate_task"):

{
  "action": "delegate_task",
  "payload": {
    "projectId": "{project-id}",
    "taskId": "{task-id}",
    "roomId": "room:!team-room:domain",
    "spec": "# <localized task heading>: <title>\n\n## <localized context heading>\n...\n\n## <localized expected result heading>\n<localized instructions. Keep deliverables under shared/tasks/{task-id}/ and publish result.md with STATUS, SUMMARY, and DELIVERABLES.>"
  }
}

roomId is required. Set it to the Matrix room where this task was assigned and where the Worker must report completion. For Team work, use the Team Room. For external delegation, use that external assignment room.

delegate_task writes:

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

It also updates the plan marker from [ ] to [~]. Treat [~] as delegated/assigned from your perspective, not proof that the Worker is actively executing.

After delegation:

  1. delegate_task auto-pushes shared/tasks/{task-id}/. Do not call filesync push for the task directory.
  2. Publish shared/projects/{project-id}/, because the plan marker changed.
  3. The delegate_task auto-notification already @mentions the assigned Worker in the assignment room (Team Room for Team work). Do not call message for the assignment — a second message duplicates it and can trigger the Worker twice.

Do not prescribe Worker-internal acknowledgement, push, submit, or planning steps.

Check A Submitted Task

When a Worker reports completion:

  1. In the current room, directly say that you received the message.

  2. Check the submitted task:

    {
      "action": "check_task",
      "payload": {
        "taskId": "{task-id}"
      }
    }
    

    check_task auto-pulls shared/tasks/{task-id}/ and returns the task meta (task field with project_id, room_id, assigned Worker) and the validated result (result field with status, summary, deliverables). Do not call filesync pull or read_file for task files separately.

  3. Pull shared/projects/{project-id}/.

  4. Read Project meta.json and plan.md.

  5. If the Project is paused, stop. Do not check or accept the result, mark [x], resolve ready nodes, call plan_dag, call plan_loop, or delegate follow-up work. Tell the requester that a Worker result arrived while the Project is paused and wait for explicit direction.

  6. Return to team-coordination and decide whether the result satisfies the Project delivery criteria.

  7. Return to project-management and apply the Project-level decision:

    • If accepted, update the plan node to [x], publish Project files, and resolve ready nodes.
    • If revision, repair, verification, replanning, or blocker handling is needed, do not mark [x]; create or replace plan nodes as needed.
  8. Delegate any ready downstream nodes through the normal ready-node delegation flow.

  9. Close the completion loop with requester visibility:

    • Read project-management and use the Project Status Reports template for the report content.
    • Read communication.
    • Use the Requester Reports routing rules.
    • Report to the requester recorded on the Project.
    • If the requester is Team Admin, notify the Team Admin in Leader DM.
    • If the Worker completion arrived in the Team Room, do not treat the Team Room reply or downstream task assignment as the requester update.
  10. You may batch multiple Worker completions and downstream delegations into one requester report, but do not omit Step 9 when Project state changed. Task handling is not complete until the requester or DM admin has been notified.

Project directory pulls in these flows are blocking. If shared/projects/{project-id}/ cannot be pulled as a directory, stop and report the sync failure. Do not switch to pulling only meta.json or plan.md and then modify the plan.

Result Contract

Worker result.md is parsed with this contract:

STATUS: SUCCESS
SUMMARY: Short summary of the result

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

NOTES:
- Optional note

Valid statuses:

StatusMeaning
SUCCESSCandidate dependency input; you must accept it before it can unblock downstream work
SUCCESS_WITH_NOTESCandidate dependency input with notes; you must accept it before it can unblock downstream work
REVISION_NEEDEDWorker task ended; you must decide the next graph shape
BLOCKEDWorker task ended; you must escalate, ask, or replan
INTERRUPTEDRuntime/control-plane interruption ended the task; do not accept it by default

Deliverable paths must be under:

shared/tasks/{task-id}/

SUCCESS and SUCCESS_WITH_NOTES are effective only as candidate results. Dependencies advance only after you accept the result and mark the plan node [x].

Submitting a result ends the Worker task. Do not resume, rewrite, or mutate the old task. Use project-management to plan a new DAG or Loop node if more work is needed.

Plan Markers

Project plans use these task markers:

MarkerMeaning
[ ]pending
[~]delegated
[x]completed / accepted by you
[!]blocked
[→]revision

Use the Unicode arrow marker for revision in plan.md; the parser expects that single marker character.

Only [x] satisfies dependencies for ready_nodes and ready_loop_nodes.

References

Read only when needed:

  • references/dag-tasks.md - detailed task creation and completion workflow for DAG or Loop plan nodes.

Patch Rules

Do not:

  • put organization strategy into task-management
  • create tasks that were not returned by ready-node resolution
  • mark completion before checking the task result with check_task
  • mark [x] just because the Worker wrote SUCCESS
  • ask Workers to edit Project-level files

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Find worker agents in Nacos that match a task, recommend candidates, and import the administrator's chosen worker. It also supports importing a specified nacos package URI, with worker name confirmation and direct reporting of installation failures.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Find a suitable worker for an unassigned task
  • Compare Nacos worker candidates before importing
  • Import a worker from a specified nacos package URI
agentscope-ai/AgentTeams5.8천2026년 10월 17일 업데이트

Prepare an existing OpenClaw setup for import as an AgentTeams managed Worker. Analyze tool dependencies, adapt role instructions and scheduled jobs, and build a ZIP package containing the configuration and custom image requirements.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Moving standalone OpenClaw into AgentTeams
  • Reviewing required tool dependencies
  • Adapting role instructions for a Worker
agentscope-ai/AgentTeams5.8천2026년 10월 17일 업데이트

Manage communication channels by identifying senders, maintaining trusted contacts, and setting the administrator's primary notification destination. It also covers first contact on a new channel and contacting the administrator across channels, with rules for handling unknown senders.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Identify who sent a message in a room
  • Add or remove trusted contacts
  • Configure the administrator's primary notification channel
agentscope-ai/AgentTeams5.8천2026년 10월 17일 업데이트

Prepare coding tasks for delegation to an authorized agent’s AI command-line tool. Set up and synchronize the workspace, write precise change requests, then review returned changes and run relevant checks before reporting completion.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Delegating code implementation or bug fixes to an AI CLI
  • Writing coding requests with clear acceptance criteria
  • Reviewing and testing changes returned by a CLI
agentscope-ai/AgentTeams5.8천2026년 10월 17일 업데이트

Run AI coding command-line tools on behalf of worker agents using their prepared prompts and workspaces. Detect available tools, configure delegation, return results, and apply supported execution controls such as time budgets and permission settings.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Running coding tools for worker agents
  • Detecting and selecting available coding CLIs
  • Setting Qwen Code permissions and time budgets
agentscope-ai/AgentTeams5.8천2026년 10월 17일 업데이트

Guide agent replies in Matrix chat rooms, including when to mention a coordinator, report completion, raise blockers, or answer questions. The rules limit repetitive acknowledgments and stop exchanges that add no new task, question, or decision.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Reporting task completion to a coordinator
  • Raising blockers or questions that need action
  • Reducing repetitive acknowledgments
agentscope-ai/AgentTeams5.8천2026년 10월 17일 업데이트

agentscope-ai의 스킬 모두 보기

이 스킬의 문제 신고