droid-control
Installation
SKILL.md
Droid Control
Automate terminals and browsers. Three routing decisions, then atoms guide you the rest of the way.
Ground rules
- Real apps, real environments. Non-deterministic behavior (LLM responses, network latency, variable output) is expected. Handle it with
wait/wait-idle. Never substitute fixtures or mocked data. - Commit to execution. Once you've chosen a driver, run the plan. If something fails mid-run, recover and retry -- don't re-evaluate the approach.
- Atoms are self-contained. Load one and follow its mechanics. No cross-referencing needed.
tctlis the ONLY way to launch recorded sessions.tctlmanages recording by wrappingasciinema recaround the PTY — rawtuistoryhas no recording capability and never will. Never calltuistory launchdirectly; unknown flags crashtuistory-relay. Always resolveTCTLto its absolute filesystem path before use, especially when delegating to workers (they don't inherit${DROID_PLUGIN_ROOT}).- Isolate every run. Multiple droids may be filming simultaneously on the same machine. Session names and output paths share a global namespace (
/tmp/tctl-sessions/). At the start of every workflow, generate a run ID (RUN_ID=$(date +%s)-$$or similar) and use it as a prefix for all session names and a scoped temp directory for all output files:
Never use bare session names likeRUN_ID="$(date +%s)-$$" RUN_DIR="$(mktemp -d /tmp/droid-run-${RUN_ID}-XXXXXX)" # Session names: -s ${RUN_ID}-before, -s ${RUN_ID}-after # Output paths: ${RUN_DIR}/before.cast, ${RUN_DIR}/after.cast-s demo,-s before,-s after— they will collide with concurrent runs.