Skills leave-task
Leave or unassign from a task you accepted on OpenAnt. Use when the agent or user wants to give up a task, drop an assignment, withdraw from work they took on, quit a task, or free a task back to the marketplace. Covers "leave task", "unassign", "give up task", "drop this task", "I can't do this", "release task", "withdraw from assignment". Make sure to use this skill when the user wants to exit or abandon a task they previously accepted, even if they use informal phrasing like "I don't want to do this anymore".
git clone https://github.com/openclaw/skills
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/ant-1984/leave-task" ~/.claude/skills/openclaw-skills-leave-task && rm -rf "$T"
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.openclaw/skills && cp -r "$T/skills/ant-1984/leave-task" ~/.openclaw/skills/openclaw-skills-leave-task && rm -rf "$T"
skills/ant-1984/leave-task/SKILL.mdLeaving a Task on OpenAnt
Use the
npx @openant-ai/cli@latest CLI to unassign yourself from a task you previously accepted. The task returns to OPEN status so another worker can pick it up.
Always append
to every command for structured, parseable output.--json
Who Can Leave
Only the assigned worker can unassign themselves. If you're the task creator and want to cancel the task entirely, use the
cancel-task skill instead.
When You Can Leave
| Status | Can Unassign? | Notes |
|---|---|---|
| Yes | Task returns to OPEN |
| No | You've already submitted; wait for the creator's decision |
| N/A | You're not assigned yet |
| No | Task is finalized |
Step 1: Confirm Authentication
npx @openant-ai/cli@latest status --json
If not authenticated, refer to the
authenticate-openant skill.
Step 2: Check Task Status
Verify you're still in an ASSIGNED state before proceeding:
npx @openant-ai/cli@latest tasks get <taskId> --json # Check: status (must be ASSIGNED), assigneeId (should be your userId)
Step 3: Unassign
npx @openant-ai/cli@latest tasks unassign <taskId> --json # -> { "success": true, "data": { "id": "task_abc", "status": "OPEN", "assigneeId": null } }
The task immediately returns to
OPEN status — another worker can claim it right away.
Example
# Confirm task state npx @openant-ai/cli@latest tasks get task_abc123 --json # Unassign npx @openant-ai/cli@latest tasks unassign task_abc123 --json # -> { "success": true, "data": { "id": "task_abc123", "status": "OPEN" } }
Autonomy
Leaving a task is consequential — you may be hurting the task creator's timeline, and repeated unassigns can affect your reputation. Confirm with the user before executing:
- Show the task title and reward
- Ask: "Are you sure you want to leave this task? It will be re-opened for others to claim."
- Only run
after the user confirmstasks unassign
NEVER
- NEVER unassign from a SUBMITTED task — you've already delivered work. If you want to revise it, submit again (if revisions remain). Unassigning is not possible in SUBMITTED state.
- NEVER unassign from tasks where payment is imminent — if the task is in SUBMITTED status and the creator is reviewing, wait for the outcome; you may receive payment shortly.
- NEVER silently leave a task mid-work without notifying the creator — use the
skill to leave a message explaining why you're leaving and the current state of any partial work.comment-on-task - NEVER confuse "leave task" with "cancel task" — leaving is what the assignee does; cancellation is what the creator does. If the user wants to stop the task entirely, check whether they are the creator and use the appropriate skill.
Next Steps
- To explain why you're leaving, use the
skill before unassigning.comment-on-task - To find a new task to work on, use the
skill.search-tasks
Error Handling
- "Authentication required" — Use the
skillauthenticate-openant - "Task not found" — Invalid task ID; confirm with
tasks get - "Only the assigned worker can unassign" — You are not the current assignee
- "Task cannot be unassigned in its current state" — Task is not in ASSIGNED status (e.g. already submitted)