Async Task OpenClaw Plugin & Skill | ClawHub
Looking to integrate Async Task into your AI workflows? This free OpenClaw plugin from ClawHub helps you automate productivity & tasks tasks instantly, without having to write custom tools from scratch.
What this skill does
# OpenClaw Async Task ## Description Execute long-running tasks without HTTP timeouts. Use when you need to: - Run commands that may take more than 5 seconds - Analyze large files or codebases - Perform multi-step operations - Call external APIs with unpredictable latency **IMPORTANT**: When a task might timeout, you MUST use this skill to avoid `empty response from server` errors. Triggers: "async task", "long running", "timeout", "background task", "push result" ## Installation ```bash # Clone and link globally git clone https://github.com/Enderfga/openclaw-async-task.git cd openclaw-async-task npm link # Or just copy async-task.js to your PATH chmod +x async-task.js cp async-task.js /usr/local/bin/async-task ``` ## Commands ```bash async-task start "<description>" # Start task, returns immediately async-task done "<result>" # Complete task, push result to user async-task fail "<error>" # Task failed, push error message async-task push "<message>" # Push message directly (no start needed) async-task status # Show current task status ``` ## Usage Flow (MUST follow strictly) 1. **Start**: `async-task start "Scanning files..."` 2. **Execute**: Run your actual commands 3. **Push result**: `async-task done "Found 42 files"` ## Example User asks: "Count all TypeScript files in this project" ```bash # Step 1: Acknowledge immediately async-task start "Counting TypeScript files..." # Step 2: Do the actual work count=$(find . -name "*.ts" | wc -l) # Step 3: Push the result async-task done "Found $count TypeScript files" ``` ## How It Works 1. `start` saves task state and returns confirmation immediately 2. You execute whatever commands needed 3. `done`/`fail` uses OpenClaw/Clawdbot CLI to push result to the active session **Zero configuration required** - automatically detects active session via `openclaw sessions` or `clawdbot sessions`. ## Advanced: Custom Push Endpoint For custom webchat or notification systems: ```bash export ASYNC_TASK_PUSH_URL="https://your-server.com/api/push" export ASYNC_TASK_AUTH_TOKEN="your-token" ``` The endpoint receives: ```json { "sessionId": "session-id", "content": "message", "role": "assistant" } ``` ## Environment Variables | Variable | Required | Description | |----------|----------|-------------| | `OPENCLAW_SESSION` | No | Target session (auto-detected) | | `ASYNC_TASK_PUSH_URL` | No | Custom HTTP push endpoint | | `ASYNC_TASK_AUTH_TOKEN` | No | Auth token for custom endpoint | ## Requirements - Node.js 16+ - OpenClaw or Clawdbot CLI installed ## Critical Rules - **MUST** pair `start` with `done` or `fail` - **NEVER** start without completing - **NEVER** say "will push later" then forget ## Links - [GitHub](https://github.com/Enderfga/openclaw-async-task) - [OpenClaw](https://openclaw.ai)
Install
openclaw skills install @enderfga/async-tasknpx clawhub@latest install async-taskFull SKILL.md
Open originalSKILL.md content below is scrollable.
OpenClaw Async Task
Description
Execute long-running tasks without HTTP timeouts. Use when you need to:
- Run commands that may take more than 5 seconds
- Analyze large files or codebases
- Perform multi-step operations
- Call external APIs with unpredictable latency
IMPORTANT: When a task might timeout, you MUST use this skill to avoid empty response from server errors.
Triggers: "async task", "long running", "timeout", "background task", "push result"
Installation
# Clone and link globally
git clone https://github.com/Enderfga/openclaw-async-task.git
cd openclaw-async-task
npm link
# Or just copy async-task.js to your PATH
chmod +x async-task.js
cp async-task.js /usr/local/bin/async-task
Commands
async-task start "<description>" # Start task, returns immediately
async-task done "<result>" # Complete task, push result to user
async-task fail "<error>" # Task failed, push error message
async-task push "<message>" # Push message directly (no start needed)
async-task status # Show current task status
Usage Flow (MUST follow strictly)
- Start:
async-task start "Scanning files..." - Execute: Run your actual commands
- Push result:
async-task done "Found 42 files"
Example
User asks: "Count all TypeScript files in this project"
# Step 1: Acknowledge immediately
async-task start "Counting TypeScript files..."
# Step 2: Do the actual work
count=$(find . -name "*.ts" | wc -l)
# Step 3: Push the result
async-task done "Found $count TypeScript files"
How It Works
startsaves task state and returns confirmation immediately- You execute whatever commands needed
done/failuses OpenClaw/Clawdbot CLI to push result to the active session
Zero configuration required - automatically detects active session via openclaw sessions or clawdbot sessions.
Advanced: Custom Push Endpoint
For custom webchat or notification systems:
export ASYNC_TASK_PUSH_URL="https://your-server.com/api/push"
export ASYNC_TASK_AUTH_TOKEN="your-token"
The endpoint receives:
{
"sessionId": "session-id",
"content": "message",
"role": "assistant"
}
Environment Variables
| Variable | Required | Description |
|---|---|---|
OPENCLAW_SESSION |
No | Target session (auto-detected) |
ASYNC_TASK_PUSH_URL |
No | Custom HTTP push endpoint |
ASYNC_TASK_AUTH_TOKEN |
No | Auth token for custom endpoint |
Requirements
- Node.js 16+
- OpenClaw or Clawdbot CLI installed
Critical Rules
- MUST pair
startwithdoneorfail - NEVER start without completing
- NEVER say "will push later" then forget