skills/termux-api/SKILL.md
Control Android devices via Termux API over SSH. Access camera, sensors, location, notifications, SMS, clipboard, TTS, and 70+ other device APIs. Requires Termux and Termux:API installed on the Android device.
npx skillsauth add 4ier/agent-skills termux-apiInstall 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.
Control Android devices via Termux API commands over SSH.
termux-api package installed: pkg install termux-api# Default SSH connection
ssh -p 8022 <device-ip> '<termux-api-command>'
termux-api-start| Command | Description |
|---------|-------------|
| termux-battery-status | Battery level, charging status, temperature |
| termux-audio-info | Audio device info |
| termux-wifi-connectioninfo | Current WiFi connection details |
| termux-wifi-scaninfo | Scan nearby WiFi networks |
| termux-telephony-deviceinfo | Phone/SIM info |
| termux-telephony-cellinfo | Cell tower info |
| termux-sensor -l | List available sensors |
| termux-sensor -s <sensor> -n 1 | Read sensor once |
| Command | Description |
|---------|-------------|
| termux-camera-info | List cameras (id 0=back, 1=front) |
| termux-camera-photo -c <id> <file.jpg> | Take photo (needs foreground) |
| termux-microphone-record -f <file> | Record audio |
| termux-media-player play <file> | Play audio file |
| termux-tts-speak "text" | Text to speech |
| termux-tts-engines | List TTS engines |
| Command | Description |
|---------|-------------|
| termux-notification -t "title" -c "content" | Show notification |
| termux-notification-remove --id <id> | Remove notification |
| termux-toast "message" | Show toast popup |
| termux-vibrate -d <ms> | Vibrate for duration |
| termux-torch on/off | Toggle flashlight |
| termux-dialog | Show dialog (various types) |
| Command | Description |
|---------|-------------|
| termux-sms-list -l 10 | List recent SMS |
| termux-sms-send -n <number> "message" | Send SMS |
| termux-contact-list | List contacts |
| termux-call-log -l 10 | Recent call history |
| termux-telephony-call <number> | Make phone call |
| Command | Description |
|---------|-------------|
| termux-clipboard-get | Get clipboard content |
| termux-clipboard-set "text" | Set clipboard |
| Command | Description |
|---------|-------------|
| termux-location | Get GPS location (needs permission) |
| termux-location -p gps | Use GPS provider |
| termux-location -p network | Use network provider |
| Command | Description |
|---------|-------------|
| termux-volume | Get/set volume levels |
| termux-brightness <0-255> | Set screen brightness |
| termux-wallpaper -f <file> | Set wallpaper |
| termux-wake-lock | Prevent sleep |
| termux-wake-unlock | Allow sleep |
| Command | Description |
|---------|-------------|
| termux-share -a send <file> | Share file via Android intent |
| termux-open <file> | Open file with default app |
| termux-open-url <url> | Open URL in browser |
| termux-download <url> | Download file |
| termux-storage-get <dest> | Pick file from storage |
# Ensure Termux is in foreground first
adb shell am start -n com.termux/.HomeActivity
# Take photo
ssh -p 8022 <ip> 'termux-camera-photo -c 1 ~/selfie.jpg'
# Retrieve via SCP
scp -P 8022 <ip>:~/selfie.jpg /local/path/
ssh -p 8022 <ip> 'termux-notification -t "Alert" -c "Task complete" --id myalert --vibrate 200,100,200'
ssh -p 8022 <ip> 'termux-location -p network'
# Returns JSON with latitude, longitude, accuracy
ssh -p 8022 <ip> 'termux-battery-status' | jq '.percentage, .status'
termux-api-startpkg install openssh && sshdpasswd or add SSH key to ~/.ssh/authorized_keysdevelopment
Cognitive pressure release valve for agent execution. Use when internal reasoning state cannot be carried forward productively - conflicting assumptions, high reasoning pressure, or risk of compounding errors. Invoke to explicitly let go of unproductive internal state. This is a one-way, non-blocking, deliberately unreliable sink. The agent must behave identically whether offload succeeds or fails.
tools
Use when work should span one or more detached tasks but still behave like one job with a single owner context. TaskFlow is the durable flow substrate under authoring layers like Lobster, ACPX, plugins, or plain code. Keep conditional logic in the caller; use TaskFlow for flow identity, child-task linkage, waiting state, revision-checked mutations, and user-facing emergence.
tools
# Lobster Lobster executes multi-step workflows with approval checkpoints. Use it when: - User wants a repeatable automation (triage, monitor, sync) - Actions need human approval before executing (send, post, delete) - Multiple tool calls should run as one deterministic operation ## When to use Lobster | User intent | Use Lobster? | | ------------------------------------------------------ | --------------------------
tools
# Lobster Lobster executes multi-step workflows with approval checkpoints. Use it when: - User wants a repeatable automation (triage, monitor, sync) - Actions need human approval before executing (send, post, delete) - Multiple tool calls should run as one deterministic operation ## When to use Lobster | User intent | Use Lobster? | | ------------------------------------------------------ | --------------------------