From qol-plugin-pointz
Use when working on the PointZ Flutter mobile client for discovery, gesture handling, and UDP command transport.
How this skill is triggered — by the user, by Claude, or both
Slash command
/qol-plugin-pointz:pointz-clientThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
PointZ v0.4.0 - Flutter mobile client for remote PC control. Connects to PointZerver (Rust server) running on desktop.
PointZ v0.4.0 - Flutter mobile client for remote PC control. Connects to PointZerver (Rust server) running on desktop.
Platforms: Android, iOS
lib/
├── main.dart # App entry point
├── domain/models/ # Data models
│ ├── gesture_event.dart
│ └── touch_action.dart
├── features/
│ ├── gesture/ # Touch gesture recognition
│ │ ├── gesture_detector.dart # Flutter event → TouchAction
│ │ ├── gesture_handler.dart # TouchAction → Commands
│ │ ├── handlers/
│ │ │ ├── move_handler.dart # Mouse movement with acceleration
│ │ │ ├── down_handler.dart
│ │ │ ├── up_handler.dart
│ │ │ └── pointer_handler.dart
│ │ ├── config/
│ │ │ └── gesture_config.dart
│ │ └── state/
│ │ └── gesture_state.dart
│ ├── keyboard/ # Hardware keyboard capture
│ │ ├── keyboard_handler.dart
│ │ └── implementations/
│ │ └── command_service_keyboard_executor.dart
│ └── mouse_control/ # Mouse command execution
│ └── implementations/
│ └── command_service_executor.dart
├── screens/ # UI Screens
│ ├── discovery_screen.dart # Server discovery UI
│ ├── control_screen.dart # Main control interface
│ └── settings_screen.dart # App settings
└── services/ # Core services
├── discovery_service.dart # UDP server discovery
├── command_service.dart # UDP command sending (16ms throttle)
└── settings_service.dart # App preferences
Discovery (UDP port 45454):
Client → Broadcast: "DISCOVER"
Server → Response: {"hostname": "my-computer"}
Commands (UDP port 45455):
{"type": "MouseMove", "x": 10.5, "y": 20.5}
{"type": "MouseClick", "button": 1}
{"type": "KeyPress", "key": "a", "modifiers": {"ctrl": true}}
Client Settings:
mouseSensitivity - Default 2.5minAcceleration - Default 1.0maxAcceleration - Default 1.8accelerationThreshold - Default 25.0scrollSpeed - Default 0.2Running on Device:
make pair # Pair phone via wireless ADB
make run # Run on connected device
Building APK:
flutter build apk --release
Testing:
flutter test
discovery_service.dart:
command_service.dart:
gesture_detector.dart:
move_handler.dart:
flutter run sometimes fails with truncated error message
flutter build apk then adb install -r app-release.apkAPK Output:
build/app/outputs/flutter-apk/app-release.apkSource:
lib/ - Main source codetest/ - Flutter testsScripts:
scripts/adb-pair-wireless.sh - Auto-detect and pair phonescripts/adb-autoconnect.sh - Auto-connect to paired phoneCreates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.
npx claudepluginhub qol-tools/qol-skills --plugin qol-plugin-pointz