Content
88%Weight 40%Scale 1-5Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
A dense, high-signal operational manual: every command is executable and every workflow carries explicit success signals and recovery paths. Its weaknesses are redundancy between the Gotchas and Troubleshooting sections and a fully-inline structure with no one-level-deep reference files.
Suggestions
Consolidate the four items stated twice (raise-before-screenshot, gradle-queue `--` argument handling, asynchronous MCP attach, one-client-per-sim) into a single location — Gotchas or Troubleshooting — instead of covering them in both sections.
Split the deepest detail (e.g., the full driver command inventories and the emulator deeplink path table) into a references file linked from SKILL.md, giving the main file a leaner overview-plus-deferred-detail structure.
Trim the repeated caveat sentences that restate the same condition in prose form (e.g., the hot reload trade-off appears in both the deeplink section and the driver section) to a single canonical statement.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | Nearly every line carries non-obvious, repo-specific operational detail (pid-file semantics, gradle-queue argument handling, env-hygiene launch lines, tap_text substring pitfalls) with no padding or explanation of concepts Claude already knows. Not 5: four items are each stated twice — raise-before-screenshot, the gradle-queue `-- ./gradlew` failure, the asynchronous MCP attach, and one-client-per-sim — split between Gotchas and Troubleshooting, which could be consolidated. | 4 / 5 |
Actionability | Fully executable, copy-paste-ready commands throughout: exact launch lines with env unset lists, `python3 … driver.py click=170 sleep=1.5 tree`, `driver_emulator.py -s emulator-5554 connect=t10.0.2.2:4404 wait_text=RPLY ss=/tmp/emu.png`, and a working kill one-liner using sed on the pid properties file. Not 4: examples cover both platforms' common cases and include the verification signals, leaving no gaps. | 5 / 5 |
Workflow Clarity | Each path is a clearly sequenced workflow with explicit checkpoints and recovery loops: kill strays → launch → "BUILD SUCCESSFUL + pid file on disk means the app is up" → drive → verified connect flow ending in `replay_status` `connected:true`, plus a Troubleshooting section that maps failure signatures to fixes (re-run `tap_text=Connect`, read `hotRun.stderr.txt` for flapping). Not 4: validation is explicit at every stage, including the safe-kill procedure checking each pgrep match's path. | 5 / 5 |
Progressive Disclosure | Well-sectioned overview (Prerequisites, per-platform agent paths, human path, Stopping, Gotchas, Troubleshooting) that appropriately defers bulk detail to executable discovery — "Run driver.py with no arguments for the full command list", "full path list in docs/en/developer/navigation-and-deep-links.md", "`tools` prints the server's live tool schemas". Not 5: no bundle reference files exist, so everything lives inline in one ~210-line SKILL.md; some of the Gotchas/Troubleshooting depth could sit one level deeper in a reference file. | 4 / 5 |
Total | 18 / 20 Passed |