openclaw-task-queue — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited openclaw-task-queue (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Persistent task queue for AI agents. 5 tools. Survives restarts. Multi-agent assignment. Priority scheduling.
| Tool | Purpose | Free |
|---|---|---|
create_task | Create a new task with title, description, priority, and metadata | Yes |
get_tasks | List tasks filtered by status, agent, priority, or tag | Yes |
assign_task | Assign a task to a specific agent or pull the next unassigned task | Yes |
complete_task | Mark a task as complete with an output summary | Yes |
get_task_stats | Queue statistics: throughput, completion rate, avg duration, backlog | Yes |
depends_on to create execution chains. A task only becomes available when all its dependencies are complete.{
"openclaw-task-queue": {
"type": "streamable-http",
"url": "https://openclaw-task-queue-mcp.yagami8095.workers.dev/mcp"
}
}Add to Claude Desktop, Cursor, Windsurf, VS Code, or any MCP-compatible client. Zero install. Works immediately.
This skill activates when a user says any of these:
The core queue engine built on Cloudflare D1 for persistent, edge-native task management:
Task lifecycle:
created → queued → assigned → in_progress → completed
↓ ↓
cancelled failed → retry → queuedTask schema:
| Field | Type | Description |
|---|---|---|
| id | UUID | Auto-generated unique ID |
| title | string | Short task description (≤200 chars) |
| description | text | Full task details, context, instructions |
| priority | enum | critical / high / normal / low |
| status | enum | created / queued / assigned / in_progress / completed / failed / cancelled |
| agent_id | string | Assigned agent (null if unassigned) |
| depends_on | UUID[] | Task IDs that must complete before this one becomes available |
| tags | string[] | Free-form tags for filtering and grouping |
| metadata | JSON | Arbitrary key-value pairs for agent use |
| created_at | timestamp | |
| assigned_at | timestamp | |
| completed_at | timestamp | |
| output | text | Summary written by completing agent |
How tasks are ordered when an agent calls assign_task:
| Priority | Lane Weight | Typical Use |
|---|---|---|
critical | 100 | Revenue impact, security events, data loss risk |
high | 10 | User-facing features, bugs, time-sensitive |
normal | 1 | Standard work, improvements, research |
low | 0.1 | Nice-to-have, background maintenance |
Within the same priority, tasks are ordered FIFO (oldest first). An agent requesting the "next task" always gets the highest-priority available unassigned task.
Task chaining with depends_on:
depends_on: [task_A_id] stays in queued status until task A reaches completedblocked with reasonAutomatic reassignment of stalled tasks:
| Priority | Default Timeout | What Happens |
|---|---|---|
| critical | 15 minutes | Returned to queue + alert sent |
| high | 60 minutes | Returned to queue |
| normal | 4 hours | Returned to queue |
| low | 24 hours | Returned to queue |
Timeout starts when task enters in_progress. An agent must call complete_task before timeout or the task is reassigned.
create_task -- Create Task via TaskFlow EngineCreate a new task with all required fields. Returns task ID for subsequent assign/complete calls.
Wrong / Right:
WRONG: Storing tasks in an AI agent's context window (lost on session end)
RIGHT: create_task({ title: "Analyze Q1 revenue", priority: "high",
description: "Pull Stripe data, compare to Q4, write 1-page summary",
tags: ["revenue", "reporting"], agent_id: "agent-7f3a" })
-> Task stored in D1. Survives restarts. Agent 7f3a gets it on next poll.
-> Returns: { id: "task-9b2f", status: "assigned", created_at: "..." }
WRONG: Creating tasks without descriptions (agents can't act on a title alone)
RIGHT: Always include a detailed description with context, expected output, and any constraints.
The description is what the agent reads to understand what to do.get_tasks -- Task List with FiltersList tasks filtered by status, agent, priority, or tag. Returns paginated results.
Wrong / Right:
WRONG: Asking an agent "what are your tasks" when there's no persistent task list
RIGHT: get_tasks({ status: "queued", priority: "high" })
-> [{ id: "task-9b2f", title: "Analyze Q1 revenue", priority: "high",
created_at: "2h ago", depends_on: [] },
{ id: "task-4c1a", title: "Draft investor update", ... }]
-> Filtered, sorted by priority. Ready for agent to pick up.
WRONG: Fetching all tasks with no filters and overwhelming the context window
RIGHT: Always filter by status. get_tasks({ status: "queued" }) for workable tasks.
Use get_task_stats for aggregate counts.assign_task -- Task AssignmentAssign a specific task to an agent, or pull the highest-priority unassigned task for an agent. Sets status to in_progress.
Parameters: task_id (optional — if omitted, pulls next by priority), agent_id, role_hint (optional)
complete_task -- Task CompletionMark a task as complete with an output summary. Sets status to completed, records output, unlocks dependent tasks.
Parameters: task_id, output (text summary of what was done and the result), duration_sec (optional)
get_task_stats -- Queue AnalyticsGet aggregate statistics about the task queue: total tasks by status, throughput, completion rate, average duration, and backlog depth.
Returns: counts by status, tasks_completed_today, tasks_created_today, avg_duration_min, completion_rate_pct, backlog_by_priority
| Tier | Calls/Day | Price | Includes |
|---|---|---|---|
| Free | 20 | $0 | All 5 tools, up to 100 tasks stored |
| Pro | 1,000 | $9/mo | All 5 tools + unlimited tasks + DependencyGraph + TimeoutGuard + all 9 servers |
| x402 | Pay-per-call | $0.05 USDC | No account needed, crypto-native |
Get Pro Key: https://buy.stripe.com/4gw5na5U19SP9TW288
| Server | Tools | Best For |
|---|---|---|
| Task Queue | 5 | Persistent agent tasks, dependencies, multi-agent assignment |
| Agent Orchestrator | 5 | Multi-agent spawn, coordinate, aggregate |
| Database Toolkit | 5 | D1/PostgreSQL/MongoDB query and manage |
| Health Monitor | 4 | 24/7 uptime, SLA reports, Telegram alerts |
| Telegram Bot | 5 | Messages, alerts, reports, command handling |
| Revenue Tracker | 4 | Multi-source revenue, MRR, milestone alerts |
| Web Scraper | 5 | Stealth scraping, structured extraction |
| Content Autopilot | 5 | AI writing, multi-platform publishing |
| Market Intelligence | 6 | AI market trends, GitHub stats, competitor analysis |
All 9 servers share one Pro key. $9/mo = 49 tools.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.