Coordinate access to shared task directories using .processing marker files. Use before accessing a Worker's workspace to prevent conflicts when both Manager and Worker might modify files simultaneously.
83%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
Passed
No findings from the security scan
This skill provides a general coordination mechanism for shared task directories. It prevents conflicts when both Manager and Workers need to access/modify the same task workspace.
When a Worker delegates work to Manager (e.g., git operations), the Manager modifies the Worker's workspace. During this time, the Worker might also be modifying files, causing potential conflicts.
Use .processing marker files to signal "work in progress". Any party (Worker or Manager) must check for this marker before modifying a task directory.
tasks/{task-id}/
├── workspace/ # Code workspace (shared between Worker and Manager)
├── notes/ # Worker's notes, plan.md, memory (not synced by Manager)
├── meta.json # Task metadata
└── .processing # Processing marker file (created when work in progress).processing MarkerLocation: tasks/{task-id}/.processing
{
"processor": "manager",
"started_at": "2026-02-25T10:30:00Z",
"expires_at": "2026-02-25T10:45:00Z",
"operation": "git-delegation"
}| Field | Description |
|---|---|
processor | Who is processing: manager or worker name |
started_at | ISO 8601 timestamp when processing started |
expires_at | ISO 8601 timestamp when marker expires (15 min default) |
operation | What operation is in progress (optional) |
run_id | Optional unique identifier for your current operation; coding CLI execution requires it to match before passing through an active marker |
The marker auto-expires after 15 minutes (configurable). This prevents deadlocks if a process crashes without removing the marker.
Always follow this sequence:
Sync from MinIO first:
mc mirror "${AGENTTEAMS_STORAGE_PREFIX}/shared/tasks/${task_id}/" "/root/agentteams-fs/shared/tasks/${task_id}/"Check for .processing:
bash /opt/agentteams/agent/skills/task-coordination/scripts/check-processing-marker.sh "$task_id"If safe, create marker:
bash /opt/agentteams/agent/skills/task-coordination/scripts/create-processing-marker.sh "$task_id" "manager"Perform modifications
Remove marker:
bash /opt/agentteams/agent/skills/task-coordination/scripts/remove-processing-marker.sh "$task_id"Sync to MinIO:
mc mirror "/root/agentteams-fs/shared/tasks/${task_id}/" "${AGENTTEAMS_STORAGE_PREFIX}/shared/tasks/${task_id}/" --overwriteCheck if a task directory is being processed.
bash /opt/agentteams/agent/skills/task-coordination/scripts/check-processing-marker.sh <task-id>Exit codes:
Create a processing marker for a task.
bash /opt/agentteams/agent/skills/task-coordination/scripts/create-processing-marker.sh <task-id> <processor-name> [timeout-mins] [run-id]Parameters:
task-id: Task identifier (e.g., task-20260225-103000)processor-name: Who is processing (manager or worker name)timeout-mins: (Optional) Expiration timeout in minutes (default: 15)run-id: (Optional) Fresh identifier for your operation. Generate it once and pass it unchanged to your coding CLI wrapper and marker removal call. Existing calls without it retain the legacy marker format.Remove the processing marker after work is done.
bash /opt/agentteams/agent/skills/task-coordination/scripts/remove-processing-marker.sh <task-id> [run-id]When you supply run-id, removal refuses to delete a marker belonging to a different run. Existing calls without it retain their original behavior.
This coordination mechanism is used by:
agentscope-ai/AgentTeams
8a661dd
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.