ai2human-task-router/SKILL.md
Create and track AI2Human human-execution tasks from an agent prompt. Use when an AI agent needs a real person to complete or verify a step, submit structured proof, and return a task URL the agent can monitor. Best for consented local checks, landing-page/manual QA, screenshot evidence, public-content claim checks, simple errands, and other reality-bound steps that need human execution or human judgment before settlement.
npx skillsauth add bankrbot/openclaw-skills ai2human-task-routerInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
AI2Human turns blocked agent work into human-executable tasks.
Use this skill when an agent can describe what needs to be done, but the step requires a human to execute, verify, inspect, photograph, review, or submit structured proof.
Core loop:
agent request -> human execution -> structured proof -> verification -> settlement
This skill does not claim that human work is completed immediately. The immediate deliverable is a created AI2Human task with a tracking URL and proof schema. The final deliverable arrives after human execution and verification.
Before creating a task, the agent must apply these rules:
Use AI2Human when a workflow needs:
Do not use AI2Human for:
Use this when the agent environment supports x402 payment replay.
POST https://ai2human.io/api/x402/agent/tasks/create
The endpoint returns 402 Payment Required with a PAYMENT-REQUIRED challenge
when called without payment. After payment replay, it creates the task and
returns a task URL.
Only pay a challenge when every field matches this policy:
| Field | Required value |
|---|---|
| Allowed host | https://ai2human.io |
| Resource | https://ai2human.io/api/x402/agent/tasks/create |
| HTTP method | POST |
| Chain | eip155:196 (X Layer) |
| Asset | USDT0 at 0x779ded0c9e1022225f8e0630b35a9b54be713736 |
| Payee | 0x3f665386b41Fa15c5ccCeE983050a236E6a10108 |
| Maximum service price | 10000 atomic units = 0.01 USDT0 |
| Maximum timeout | 300 seconds |
The 402 challenge is only a quote. It must not override this allowlist. If the scheme, host, resource, chain, asset, payee, amount, or timeout differs, stop and show the mismatch to the user. Do not pay or replay the request.
See references/payment-policy.md for the
exact preview and confirmation procedure.
The current service contract is asynchronous:
Immediate output: taskUrl, statusUrl, proofSchema, deliverableStatus
Final output: human notes, screenshots/evidence, verification result
Expected delivery window: 24h unless specified otherwise
Use this when the user has an AI2Human developer key.
POST https://ai2human.io/api/agent/tasks
Header: x-agent-api-key: <AI2HUMAN_API_KEY>
Developer keys can be created at:
https://ai2human.io/developers/api-keys
Store AI2HUMAN_API_KEY only in the agent platform's approved secret store or
local secret manager. Never paste it into public chat, task content, GitHub,
logs, screenshots, or untrusted tools. Send it only as the request header to
https://ai2human.io; never forward it to a target URL, worker, proof bundle,
or any non-AI2Human host. If a key is exposed, revoke it in the developer
console and create a replacement before continuing.
For x402 paid task creation, send:
{
"title": "Review AI2Human landing page on mobile",
"description": "Open the target URL on mobile, check layout, readability, and broken buttons. Submit concise notes and screenshots.",
"targetUrl": "https://ai2human.io",
"requestType": "mobile_page_check",
"device": "iPhone mobile viewport",
"budget": "TBD",
"deadline": "24h",
"proofRequired": [
"mobile screenshot",
"review notes",
"final pass/fail/needs_review verdict"
],
"requesterName": "Bankr Agent",
"requesterHandle": "@bankrbot"
}
Recommended fields:
| Field | Required | Notes |
|---|---:|---|
| title | yes | Short human-readable task title. |
| description | yes | Clear human execution brief. |
| targetUrl | yes | URL, post, page, or evidence target. |
| requestType | no | Examples: landing_page_review, mobile_page_check, local_verification, community_proof. |
| device | no | Useful for UI or screenshot tasks. |
| budget | no | Human reward budget if known. |
| deadline | no | Defaults to 24h. |
| proofRequired | no | Explicit proof items. If omitted, AI2Human generates a default schema. |
| requesterName | no | Project or agent name. |
| requesterHandle | no | X handle or public identity. |
Successful paid replay returns a JSON object like:
{
"ok": true,
"service": "AI2Human Task Router",
"taskId": "a2mcp-task-123456789abc",
"taskUrl": "https://ai2human.io/tasks/a2mcp-task-123456789abc",
"statusUrl": "https://ai2human.io/tasks/a2mcp-task-123456789abc",
"deliverableStatus": "pending_human_execution",
"deliverableEvent": "task_created_waiting_for_human_proof",
"estimatedDelivery": "24h",
"finalDeliverable": "human review notes, screenshots/evidence, verification result",
"proofSchema": {
"proofRequirements": ["..."],
"verificationChecks": ["..."],
"submissionFields": ["..."]
}
}
The creation receipt is not the final human proof. The agent should open or
poll taskUrl / statusUrl to monitor proof submission and verification.
When using this skill:
confirm create task in the same
conversation. Never treat a general request as authorization to make an x402
payment.taskUrl and statusUrl clearly to the user.AI2Human task preview — no task or payment has been created yet
Title: <title>
Description: <description>
Target URL: <target URL>
Deadline: <deadline>
Worker budget: <budget or not funded>
Proof required: <list>
Endpoint mode: <x402 paid | API key>
Service price: <0.01 USDT0 | no x402 payment>
Payment chain/token/payee: <eip155:196 / USDT0 / 0x3f66...0108>
Task settlement: <not funded by creation | confirmed funded path and amount>
Delivery: asynchronous; expected human execution window is <ETA>
Reply `confirm create task` to proceed.
Use AI2Human to create a human review task for https://ai2human.io.
Ask the reviewer to check mobile readability, broken buttons, and visual clarity.
Require screenshots, notes, device/viewport, and a final verdict.
Deadline 24h.
Use AI2Human to create a public-content claim review for this X post:
https://x.com/ai2humannetwork/status/...
Ask the human executor to check whether the post's stated public link and
attached media are reachable and accurately described. Do not ask anyone to
like, repost, follow, comment, vote, or otherwise manipulate engagement.
Require source URL, screenshot evidence, and final verdict.
Use AI2Human to create a local verification task:
check today's posted price of a Tall Americano at Starbucks Times Square, NYC.
Require one clear menu photo, timestamp, short note, and final verdict.
Deadline 4h.
Check x402 challenge:
curl -i https://ai2human.io/api/x402/agent/tasks/create
Expected: 402 with a PAYMENT-REQUIRED header and an accepts[] array.
Create with API key:
curl -sS https://ai2human.io/api/agent/tasks \
-H "Content-Type: application/json" \
-H "x-agent-api-key: $AI2HUMAN_API_KEY" \
-d '{
"title": "Review AI2Human homepage on mobile",
"description": "Open the page on mobile and submit screenshots, notes, and a verdict.",
"category": "digital_task",
"proof_requirements": ["screenshot", "notes", "timestamp"],
"reward_usdc": 5,
"deadline_hours": 24,
"location": "remote",
"agent_name": "Bankr Agent"
}'
Expected: 201 with task_id, task_url, and a task object.
The bundled smoke test never creates a task by default. It only checks the production 402 challenge. Creating a real task is opt-in and requires both:
AI2HUMAN_API_KEY="stored-in-your-secret-manager" \
AI2HUMAN_CREATE_SMOKE_TASK=1 \
node scripts/smoke.mjs
Do not point a production key at an overridden host. The smoke script permits a
base URL override only for localhost or 127.0.0.1 local testing, and it
requires AI2HUMAN_ALLOW_LOCAL_KEY=1 before sending any key to that local host.
budget or reward_usdc as a suggested
worker budget unless the API response explicitly confirms a funded settlement
flow, funded amount, and payout conditions.development
Trust + memory layer for Bankr agents. Write a verifiable behavioral track record (decisions, hallucinations) for free, and check the risk/reputation of any agent or token before moving money — paid over x402 on Base.
tools
Cross-chain token swaps, quotes, portfolio and prices across 14 chains via the Suwappu DEX MCP server. Read-only by default; swap execution is opt-in and gated.
development
Build, inspect, configure, and safely transact with Juicebox V6 projects, terminals, rulesets, hooks, tiered NFTs, Revnets, Croptop, Bendystraw, and omnichain deployments. Use for Juicebox protocol questions, contract addresses or ABIs, project creation, payments, cash-outs, tokenomics, hooks, NFT tiers, cross-chain bridges, loan queries, transaction decoding, and Juicebox app/UI development on Ethereum, Optimism, Base, Arbitrum, or their Sepolia testnets.
tools
LP tokenized stocks onchain — range-LP Coinbase tokenized equities (NVDA, AAPL, GOOGL, META) and AERO/USDC on Aerodrome Slipstream (Base) for trading-fee + AERO emission yield. Use when the user wants to LP stocks or Aerodrome pools on Base, open/recenter/exit a Slipstream position, check pool status, NAV, or yields, get a portfolio overview ("how are my LP positions doing?") with P&L and projected APR, run a manage pass, or set up scheduled/price-triggered LP automations in the Bankr console. Auto-routes every position to the higher-yielding side — staked (AERO emissions) vs unstaked (trading fees) — at entry and re-checks on every manage pass. Bundled node scripts do the chain reads, gate checks, and calldata; writes go via the Bankr arbitrary-transaction flow. NOT for perps, spot trading, or Uniswap.