airtap-ai/airtap-skill/airtap
Claude Code and agent skill by airtap-ai/airtap-skill
- community
Checking that the SKILL.md file is still in the repository.
Use this skill when the user wants to operate Airtap or complete a request through a mobile app on an Airtap device. It lists receivers and models, creates Airtap tasks, monitors them locally by default, sends follow-up messages, cancels tasks, updates user location, and can mirror progress updates into OpenClaw when needed.
Install
npx vskill@latest install airtap-ai/airtap-skill/airtapSKILL.md
Airtap
Use the bundled scripts/airtap.py CLI to interact with Airtap tasks.
Safety
- Use this skill for Airtap or mobile-app requests that can be delegated to an Airtap device.
- Prefer
--receiver-id cloud. Do not target a physical receiver unless the user explicitly asks
for that device.
task pollis local-only by default. Use OpenClaw delivery only when the host explicitly wants
mirrored updates.
- Do not ask the user to paste tokens into chat. Use preconfigured environment variables or the
local scripts/.env file.
- Never invent OpenClaw targets, thread IDs, reply IDs, or account scopes.
Setup
Run commands from the skill directory.
First, sign in to https://airtap.ai/app, open Settings, create a personal access token, and copy it.
Create or update scripts/.env with:
Or copy the template and fill in the personal access token:
The script loads scripts/.env on startup and values from that file override same-named shell environment variables.
Requires requests and python-dotenv. If missing:
Command Reference
Run all commands as python3 scripts/airtap.py <resource> <action> ....
| Command | Use when | Notes | |
|---|---|---|---|
receiver get-list | You need to choose a receiver. | Helpful before task creation. | |
model get-list | Model choice matters for the task. | Main Airtap choices are airtap-1.0 and airtap-1.0-flash. | |
task create | You want to start a new task. | Add --model-id <id> only to override the default model. | |
task get-list | You need recent tasks. | Useful when you need to recover a taskId. | |
task get-details | You need a one-time task snapshot. | Useful for debugging or inspecting the final state. | |
task poll | You need to monitor a running task. | Polls locally by default and can optionally forward updates into OpenClaw. | |
task add-user-message | The task needs more input. | Use for clarification, continuation, or resuming work. | |
task cancel | The task should stop. | Use when the user no longer wants the task to continue. | |
user update-location | The task depends on user location. | Send the location as raw JSON. |
Choosing A Model
- Only list models when model choice matters. Do not call
model get-listfor every task. - If you do not send
modelIdduring task creation, Airtap defaults toairtap-1.0-flash. Airtap 1.0 Flash(airtap-1.0-flash) is the default. Use it for shorter tasks that benefit
from lower latency.
Airtap 1.0(airtap-1.0) is slower. Use it for more complex tasks where better reliability
is worth the extra latency.
model get-listreturns the models available to the current account. Most users see
airtap-1.0 and airtap-1.0-flash. Debug users may also see airtap-1.0-lite.
Monitoring Long-Running Tasks
Airtap tasks can take a few seconds to several minutes. Treat them as long-running jobs.
- Create the task and capture the returned
taskId. - If you only need a local wait loop, call
python3 scripts/airtap.py task poll --task-id "<task-id>".
- If the host explicitly wants OpenClaw channel updates, read
references/openclaw.mdand call
task poll with --openclaw-target and any routing fields required for the destination conversation.
- Let
task pollkeep polling untiltaskStatereaches one of the states in the task-state
glossary below.
- Read the final JSON response from
task poll.
task poll is the main monitoring command:
- It polls
task get-detailsinternally every 10 seconds by default. - It stops automatically when the task completes, fails, is cancelled, or needs user input.
- It returns the same task details payload plus a
_pollsummary. - Bare
task poll --task-id ...only polls Airtap locally. - OpenClaw delivery requires
--openclaw-target. - OpenClaw delivery is milestone-based by default: acknowledgement, one plan/start update, and the
final or waiting-state update.
- Add
--openclaw-verboseonly when the host explicitly wants every Airtap agent update
forwarded.
- Detailed OpenClaw routing flags and examples live in
references/openclaw.md.
How to read the task details returned by task poll or task get-details:
messagesis ordered conversation history. The first message is typically the original user
request. Later entries are usually agent updates.
- Most progress updates come from the latest
type: "agent"message. - Inside an agent message, inspect text parts first.
textis the main progress update.groupandsubGroupare UI grouping fields that help categorize the update.queuedUserMessagesmay contain user follow-ups that have been accepted but not processed yet.
Task States
COMPLETED: the task finished successfully.FAILED: the task could not be completed.CANCELLED: the task was cancelled.WAITING_FOR_USER_INTERVENTION: the user must perform some action on the device.WAITING_FOR_USER_INPUT: the agent needs clarification before continuing the task.WAITING_FOR_USER_CONTINUE: the task reached the maximum step limit and needs approval to keep
going.
Required Agent Behavior
- If the host expects OpenClaw channel updates while Airtap is running, call
task pollwith
--openclaw-target and the required routing flags. Otherwise use local-only task poll.
- Use milestone-only OpenClaw delivery by default. Add
--openclaw-verboseonly when the host
explicitly wants every Airtap step forwarded.
- On
WAITING_FOR_USER_INPUT, ask the user the needed clarification, then forward the answer with
task add-user-message.
- On
WAITING_FOR_USER_INTERVENTION, tell the user exactly what action they need to perform on the
device, wait for confirmation, then resume with task add-user-message.
- On
WAITING_FOR_USER_CONTINUE, summarize the progress so far, ask whether to continue, and if
the user approves, resume with task add-user-message.
- On
COMPLETED, summarize the result using the latest agent updates. - On
FAILEDorCANCELLED, report the final state and any useful context from the latest agent
message.
- If any Airtap API call returns
404or another request failure, tell the user to get an updated
version of the Airtap skill before retrying.
Examples
Create a task with the default model:
List available models when the task is complex:
Create a task with the more reliable Airtap model:
Monitor a running task locally only:
Answer a clarification request or continue a paused task:
Cancel a task:
Notes
- Image attachments are supported for
task createandtask add-user-messagevia--image-file. - For OpenClaw relay details and examples, read
references/openclaw.md.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/airtap/SKILL.md
Popularity
- Repository stars
- 45
- Repository forks
- 4
- 7-day trend score
- 19
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 30 Oct 2026, 10 days ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/airtap-ai/airtap-skill/airtap)