tapwithus/tap-python-sdk/tap-build-an-app
Claude Code and agent skill by tapwithus/tap-python-sdk
- community
Checking that the SKILL.md file is still in the repository.
Build a complete app or interactive experience controlled by a Tap - games, browser pages, presentations, media control, keyboard shortcuts, or creative tools. Use when the user asks to "build", "make", or "create" something with their Tap, especially if they are not a developer.
Install
npx vskill@latest install tapwithus/tap-python-sdk/tap-build-an-appSKILL.md
Build an app with a Tap
The user may not be a developer. Keep the project small, explain how to run it in plain words, and test with the real device.
Workflow
- Ask (only what is missing): device (Tap Strap / Tap Strap 2 / TapXR; TapBand uses the same API as TapXR and is coming soon), OS, and what the app should do.
- Connect first. Run the
tap-getting-startedquickstart and confirm taps arrive before building anything else. - Pick the input (load the matching skill):
- finger taps and combos:
tap-tapping - swipes, pinches, fist:
tap-vision-models - pointer, tilt, rotation:
tap-imu-motion - twist-to-adjust value:
tap-knob(TapXR developer firmware / TapBand) - directions + select + drag/rotate:
tap-dpad(TapXR developer firmware / TapBand) - data recording:
tap-raw-sensors
- Pick the output (pattern below).
- Build one interaction, test it with the user, then add the next.
- Give feedback: haptics (
send_vibration_sequence) and on-screen state, so the user knows the gesture was seen. - Deliver: one folder, a
requirements.txt, and one run command (python app.py).
Core pattern: callbacks to a queue
SDK callbacks run on the Bluetooth path. Do not draw UI or do slow work in them. Put events on an asyncio.Queue and handle them in your own loop:
Output patterns
| Output | How | Extra install | |
|---|---|---|---|
| Terminal | print, or rich for a live view | none / rich | |
| Browser page (best for visual apps) | Python sends events over a WebSocket; an HTML page reacts | websockets | |
| Keyboard / media keys (control other apps) | pynput key presses | pynput | |
| Game window | pygame loop reads a thread-safe queue.Queue | pygame | |
| Sound / music | simpleaudio, or a browser page with Web Audio | varies |
Browser bridge (WebSocket)
Serve the HTML with python -m http.server or open the file directly.
pygame (blocking loop)
pygame needs the main thread. Run the Tap SDK in a background thread with its own event loop and pass events through queue.Queue:
Rules
- Do not add dependencies to the SDK. Add them to the app's
requirements.txt. - Use a virtual environment (
python3 -m venv .venv). Requires Python 3.10 or newer. - Add a keyboard fallback (arrow keys, space) so the user can test the app without the Tap.
- Show connection status on screen ("Connecting...", "Connected", "Disconnected").
- macOS: Bluetooth permission for the terminal; Accessibility permission when sending keys.
- If the device does not connect, use the troubleshooting table in
tap-getting-started.
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingplugins/tap-python-sdk/skills/tap-build-an-app/SKILL.md
Popularity
- Repository stars
- 46
- Repository forks
- 18
- 7-day trend score
- 0
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
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/tapwithus/tap-python-sdk/tap-build-an-app)