You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -52,7 +52,7 @@ In practice, most work follows the same pattern:
52
52
1. Discover the exact app id with `apps` if the package or bundle name is uncertain.
53
53
2.`open` a target app or URL.
54
54
3.`snapshot -i` to inspect the current screen.
55
-
4.`press`, `fill`, `scroll`, `get`, or `wait` using refs or selectors. On iOS and Android, default snapshot text follows the same visible-first contract: refs shown in default output are actionable now, while hidden content is surfaced as scroll/list discovery hints instead of tappable off-screen refs.
55
+
4.`press`, `fill`, `scroll`, `get`, or `wait` using refs or selectors. On iOS and Android, default snapshot text follows the same visible-first contract: refs shown in default output are actionable now, while hidden content is surfaced as scroll/list discovery hints instead of tappable off-screen refs. If the target only appears in a hidden-content hint, use `scroll <direction>` and re-snapshot.
56
56
Use `rotate <orientation>` when a flow needs a deterministic portrait or landscape state on mobile targets.
57
57
5.`diff snapshot` or re-snapshot after UI changes.
Copy file name to clipboardExpand all lines: skills/agent-device/SKILL.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -18,7 +18,7 @@ Use this skill as a router with mandatory defaults. Read this file first. For no
18
18
- In React Native dev or debug builds, check early for visible warning or error overlays, tooltips, and toasts that can steal focus or intercept taps. If they are not part of the requested behavior, dismiss them and continue. If you saw them, report them in the final summary.
19
19
- Do not browse the web or use external sources unless the user explicitly asks.
20
20
- Re-snapshot after meaningful UI changes instead of reusing stale refs.
21
-
- Treat refs in default snapshot output as actionable-now, not durable identities. If a target is off-screen, use `scrollintoview` or scroll and re-snapshot.
21
+
- Treat refs in default snapshot output as actionable-now, not durable identities. If a target appears only in an off-screen summary, use `scroll <direction>`and re-snapshot until the target is visible.
22
22
- Prefer `@ref` or selector targeting over raw coordinates.
23
23
- Ensure the correct target is pinned and an app session is open before interacting.
24
24
- Keep the loop short: `open` -> inspect/act -> verify if needed -> `close`.
Copy file name to clipboardExpand all lines: skills/agent-device/references/exploration.md
+19-5Lines changed: 19 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -38,7 +38,7 @@ Open this file when the app or screen is already running and you need to discove
38
38
-`press`
39
39
-`fill`
40
40
-`type`
41
-
-`scrollintoview`
41
+
-`scroll`
42
42
-`wait`
43
43
-`keyboard dismiss` when the keyboard obscures the next target
44
44
@@ -115,10 +115,10 @@ App: com.apple.Preferences
115
115
## Refs vs selectors
116
116
117
117
- Use refs for discovery, debugging, and short local loops.
118
-
-Use `scrollintoview @ref` when the target is already known from the current snapshot and you want the command to re-snapshot after each swipe until the element reaches the viewport safe band.
119
-
-If `scrollintoview @ref` succeeds, prefer the returned `currentRef` for the next action.
118
+
-When a target appears only in a visible-first off-screen summary, such as `[off-screen below] ... "Battery"`, use `scroll down` and then `snapshot -i`. For `[off-screen above]`, use `scroll up` and then `snapshot -i`.
119
+
-For more than two repeated scroll checks, create a short shell loop instead of issuing each command by hand. Stop when the label appears or the snapshot stops changing.
120
120
- Visible-first off-screen summaries are intentionally compact. If you need the full off-screen tree instead of a short summary, retry with `snapshot --raw`.
121
-
- Cap long searches with `--max-scrolls <n>` when the list may be unbounded or the target may not exist.
121
+
- Cap long searches in the loop when the list may be unbounded or the target may not exist.
122
122
- Use selectors for deterministic scripts, assertions, and replay-friendly actions.
123
123
- Prefer selector or `@ref` targeting over raw coordinates.
124
124
- For tap interactions, `press` is canonical and `click` is an equivalent alias.
0 commit comments