Releases: kobiton/automate
v1.6.0
Highlights
-
New skill:
automate:drive-automation-session— describe what you want to do on a reserved Kobiton device in plain language ("open YouTube and play the first video"), and the agent drives the device for you through an observe-and-act loop. It runs as an automation session, so the result is recorded with video and is ready to turn into a reusable test case viasaveTestCase. Sessions stay alive through long human-in-the-loop pauses (30-min idle timeout), and the agent can watch the screen and stop on its own when it gets stuck. This complements the existingrun-interactive-cli-sessionskill — it doesn't replace it. -
Renamed
run-interactive-test→run-interactive-cli-session— clearer naming now that there are two ways to drive a device. The skill works exactly the same as before; only the name changed. -
More reliable Chrome/web testing — capability handling now waits longer for Chrome to start up on cold devices, reducing flaky session starts.
Full changelog: 1.5.0 → 1.6.0
v1.5.0
Highlights
- New
getAppParsingStatustool — afterconfirmAppUpload, app parsing runs asynchronously: the record is created in statePARSING, andappIdmay benullfor a brand-new upload. Agents now pollgetAppParsingStatus(versionId)until the state is terminal (OKor aFAILURE_*value) before reserving devices or starting sessions — the response also resolves the realappId. TheconfirmAppUploadschema documents the async flow, and therun-automation-suiteskill's upload step is now a four-step flow ending in the parse-status poll - New
getUserInputEventstool — surfaces the touch/swipe gestures a human makes on the device-only live view, so an agent-driven session can be redirected mid-run: the user's tap reaches the device in real time AND is reported to the agent as an observation to react to ("the user just tapped Settings → pivot the test plan to Settings"). Therun-automation-suiteskill polls it between scripted commands. Keystroke / right-click / pinch / drag-off-canvas remain suppressed - Docs refresh — README now lists all 29 tools across 5 domains (the 14 test-management tools were previously missing from the inventory), and
AGENTS.mdgot a cross-host cleanup: per-domain tool counts dropped (the runtimetools/listis the source of truth), theconfirmAppUploadknown-limitation rewritten aroundgetAppParsingStatuspolling, Claude-Code-specific wording generalized for Gemini / Copilot / Cursor readers, and a concrete Copilot CLI install path
Full changelog: 1.4.3 → 1.5.0
v1.4.2
Highlights
- Cursor support (CLI and IDE) — install on Cursor in addition to Claude Code, GitHub Copilot CLI, Gemini CLI, and Codex CLI. On the CLI, install in-session via
/plugin marketplace add github.com/kobiton/automate; in the IDE, via Cursor Settings → Plugins (paste the repo URL, Add to Cursor, Install), then connect thekobitonMCP server from Tool & MCPs. Plugin installs are shared between the CLI and the IDE — install once and the other picks it up. New.cursor-plugin/plugin.json+.cursor-plugin/marketplace.jsonfollowing the cursor/plugins convention, or drop just.cursor/mcp.jsoninto any project for an MCP-only setup. MCP requests from Cursor carryX-AI-Tool-Name: Cursorfor adoption analytics - Chromeless device window for
run-automation-suite— when the session resolves to the device-only view and Chrome is the preferred browser, the skill launches a chromeless Chrome--appwindow (no tab strip, no URL bar) sized to the device class: phone540×920, tablet780×920, fold880×920(landscape swaps). Per-OS shims: macOS (osascriptresize with fail-open on Automation denial), Windows (PowerShellSetWindowPos), Linux (--window-sizehint). Falls back gracefully to the regular browser-open path when Chrome is absent or another browser is preferred - Broader Chrome detection on macOS — the chromeless launcher now detects Chrome, Chromium, Chrome Canary, and Brave at their standard
/Applications/paths, and validates--width/--height/--x/--yas positive integers with clear errors - Fixed Copilot CLI command loading — Copilot CLI validates the command
namefrontmatter and rejects colons, soname: "automate:setup"broke command loading there; commands now use plainname: "setup"/name: "doctor". Claude Code and Copilot CLI keep/automate:setupand/automate:doctor(filename + plugin namespace); on Cursor CLI they appear as/setupand/doctor, distinguishable from Cursor's built-ins by their Kobiton descriptions - Docs — new Cursor IDE install section and "Other MCP Clients" README subsection (ChatGPT Apps SDK, Continue / Cline / generic Streamable-HTTP clients), refined Cursor CLI install steps (marketplace flow, required
agentrestart so skills load), and a Cursor CLI troubleshooting section (stale/missing skills and commands, MCP disconnects, missing~/.kobiton/bin/kobitonwrapper) - Hardening & tests — URL validation against shell-metacharacter injection at every launcher entry point; 51 new vitest cases across launcher arg parsing, exit-code sentinels, and
.codex/mirror byte-identity
Full changelog: 1.3.0 → 1.4.2
v1.2.2
Highlights
- Updated bundled
kobitonCLI binary inrun-interactive-testskill to the latest version - Expanded
run-interactive-testadb-shell documentation for AI agents: quoting rules (local vs device shell parsing), platform guard (Android only), 22-row intent-to-command cookbook, big-output redirect pattern (to avoid 25k-token MCP overflow), long-running command guidance, and response parsing gotchas inreferences/response-shapes.md, notably thatadbreturns exit code 0 even when the inner command fails - Added 14 Test Case Management MCP tool schemas covering the full TCM workflow:
- Test cases:
saveTestCase,listTestCases,getTestCase,updateTestCase,deleteTestCase - Test runs:
createTestRun,listTestRuns,getTestRun,terminateTestRun - Test suites:
listTestSuites,getTestSuite,createTestSuite,updateTestSuite,deleteTestSuite
- Test cases:
v1.2.0
Highlights
- Multi-CLI support: install on GitHub Copilot CLI, Gemini CLI, and Codex CLI in addition to Claude Code
- New
run-interactive-testskill: natural-language WebDriver/device/file commands powered by the bundledkobitonCLI wrapper (macOS Apple Silicon binary included) - New
/automate:setupcommand: bootstraps~/.kobiton/.credentialsfrom the authenticated MCP session, no manual file editing - New
/automate:doctorcommand: read-only health checks for CLI install, credentials file, active profile, and required fields - New
getCredentialMCP tool: backs/automate:setup; returns the OAuth user's username, API key (existing or freshly generated), and portal URL - Session attribution: Appium sessions started via
run-automation-suitenow emitkobiton:aiToolName; MCP requests from Claude Code, Codex CLI, and Gemini CLI carry optional headerX-AI-Tool-Name(set to the originating tool) for adoption analytics - Governance: CodeQL weekly scans + per-PR analysis, security issue routing template