The CLI shape that lands in @midscene/*@1.9.0 was reshaped from a
single `--images JSON` flag into paired `--image` / `--image-name`
flags so agents don't need to assemble JSON in their shells (see
web-infra-dev/midscene#2523). Update the assert examples in each
platform SKILL.md (android / ios / harmony / browser / computer) to
the released flag shape and add a multi-image example showing how
repeated `--image` and `--image-name` pair by position.
The version pin is unchanged — the API redesign rides on the same
unreleased 1.9.0 cut as the original `--images` work.
The platform CLIs (@midscene/android, @midscene/ios, @midscene/harmony,
@midscene/web, @midscene/computer) gained multimodal `--images` and
`--convertHttpImage2Base64` flags on the `assert` subcommand. Add a short
example block to each platform SKILL.md right after the basic
`assert --prompt` examples, mirroring the existing `tap --locate` image
guidance. Each example notes the @1.9.0+ version requirement so agents
following the skill against older releases get a clear pointer instead
of a silent "Unknown option" failure.
The vitest-midscene-e2e skill is left untouched because it explicitly
funnels users through `aiAct` rather than `aiAssert`.
After end-to-end CLI verification against a real RDP host, sharpen the
RDP section to reflect what users actually hit:
- Clarify `--desktop-width/--desktop-height` are requests, not guarantees;
point at `listdisplays --host ...` to confirm the negotiated size.
- Distinguish `list_displays` (platform tool, local-only) from
`listdisplays` (action tool, RDP-aware), so users know which to call
in RDP mode.
- Document latency expectations per CLI invocation (~5 s cold start for
non-AI commands; 8–20 s for `act`/`assert`/`tap --locate`).
- Add connect-failure diagnostics: first stderr line is the actionable
error (`connect_failed: ERRCONNECT_*`); enumerate common causes and
fixes.
- Remind callers that every subsequent CLI command must repeat the
`--host/--username/--password` flags since each invocation is stateless.
Add a dedicated "Connect via RDP" subsection that lists every RDP
flag exposed by `@midscene/computer@1 connect` (host, port, username,
password, domain, security-protocol, ignore-certificate, admin-session,
desktop-width, desktop-height), shows a minimum example, and calls out
mode-specific differences (displayId/list_displays semantics, helper
binary, credential hygiene). Update the SKILL.md description and
triggers so RDP/remote-desktop intents route to this skill.
Instead of immediately falling back to Puppeteer mode when both CDP and
Bridge prechecks fail, try opening Chrome first using a platform-appropriate
shell command, wait briefly, then re-run the precheck before falling back.
- CDP: curl WebSocket handshake on port 9222
- Bridge: curl Socket.IO on port 3766
- Route to Puppeteer if both unavailable
- Add implicit login state as CDP trigger
Add CDP (Chrome DevTools Protocol) support to the existing
browser-automation skill, allowing connection to an already-running
Chrome browser via --cdp <ws-endpoint> flag.
Add a check script (scripts/check-skill-description-length.mjs) that
verifies SKILL.md description fields do not exceed 1200 characters.
Also trim redundant use-case entries in browser, chrome-bridge, and
computer-automation skill descriptions to stay within the limit.
When macOS is locked, screenshots return black images due to a
system-level restriction. Added guidance to use a screensaver instead
of locking the screen during automation sessions.
https://claude.ai/code/session_018doP2rApBG4cYAwHnrLhem