Skip to content
Agentmart
Submit a tool

fxdriver

Drive and inspect JavaFX apps through fxdriver JSON-RPC.

Skill by isp-insoft-gmbh

IndexedMIT
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/isp-insoft-gmbh-fxdriver

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Drive and inspect JavaFX apps through fxdriver JSON-RPC. Use for JavaFX UI automation, assertions, screenshots, and debugging.

Use cases: documents, design

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/fxdriver

What's inside

Skill name
fxdriver
Description
Drive and inspect JavaFX apps through fxdriver JSON-RPC. Use for JavaFX UI automation, assertions, screenshots, and debugging.
License
MIT
Compatibility
fxdriver @project.version@. Requires JDK 26+ and JavaFX 26+.
Instructions
62 lines in SKILL.md · view on GitHub

Files (9)

  • SKILL.md
  • basic-flow.md · examples/
  • duplicate-review-flow.md · examples/
  • failures.md · references/
  • protocol.md · references/
  • runtime.md · references/
  • troubleshooting.md · references/
  • visual.md · references/
  • workflow.md · references/

SKILL.md (first lines)

# fxdriver

Drive JavaFX UI only; native dialogs and OS/global input need another tool.
Resolve bundled `fxdriver.jar` relative to this skill and pass its absolute path; no driver checkout is required.
Use standard shell/HTTP facilities.

## Runtime

Require JDK 26+ for driver and app; require JavaFX 26+ in the app.
Complete [runtime preflight](references/runtime.md): resolve the installed JAR and real Java executables before cwd/environment isolation.
Reuse the app's launch configuration rather than assembling another JavaFX runtime.
For test-owned headless launches, add `-Dglass.platform=Headless -Dprism.order=sw -Djava.awt.headless=true` to the app JVM.
Use headed mode when visible desktop interaction is required; preserve existing attached sessions.
Headless Glass does not make native dialogs or AWT desktop features automatable.
Verify semantic actions, readback and screenshots in the selected backend.
Do not add pre-26 compatibility paths.

## Loop

1. Start with `launch` or attach to a PID.
2. Verify `version.agentSha256` against the selected JAR, then inspect `capabilities` and `snapshot --summary`.
3. Discover by stable ID or role/name/text; use fresh observed `eid` for precise active-view targeting.
   Missing/duplicate IDs are normal; `selectorPath` is diagnostic, never a selector.
4. Choose typed control operations, converter-aware `setValue`, separate editor `commit`, bounded model reads or scoped `key`.
   Accessibility roles nominate candidates, not proven support or successful outcomes.
5. `wait`/`assert` actual values, selection or application state; layout pulses and dispatch counts are separate evidence.
   Capture and read screenshots for visual claims.
6. Preserve redacted failure evidence; shut down only test-owned instances and verify process exit.

## Launch lifecycle

`launch` supervises the app and blocks until it exits.
Use a persistent process facility, capture stdout/stderr in private OS temp, and save its driver-owned endpoint JSON.
Do not timeout or kill the launcher while driving the app: its shutdown hook kills the app.
The following argv templates use the absolute paths established by runtime preflight.

```text
<driver-java> -jar <driver-jar> launch --quiet -- <app-java> [options] <main-or-jar> [app-args]
<driver-java> -jar <driver-jar> rpc <endpoint-json> capabilities '{}'
```

Reuse the saved endpoint JSON directly for RPC; no manual port/token parsing.

## Essential rules

- Input payloads use `value`; `text` selects a node.
- `key` emits synthetic JavaFX events, not OS keystrokes.
- Use absolute screenshot paths; omission allocates private OS-temp output, not app-cwd files.
- `ok:true` is not app completion; reconcile pending `actionId`, then verify semantic state.
- `cancelling`/`unknown` means unfinished setup/work; never blindly repeat mutations.
- Mark actual secret-value controls; use `sensitive:true` for secret-bearing requests and assertions.
- Use explicit replace/extend selection and bounded list/visible-leaf-column reads.
- Logical eligibility is not physical clickability or OS-composited screenshot evidence.
- Add semantic JavaFX ids only with permission.
- Parse JSON with `jq` or Node, not Python.
- Trust observable UI; application-source improvements require permission, not app/JAR decompilation.
- Use only advertised capabilities; `pending` is not completion and uncertain mutations must not be blindly retried.
- Keep temporary launch state and evidence in OS temp; use absolute screenshot paths.

Read all of `references/protocol.md` in one call only when exact JSON is needed; read `references/troubleshooting.md` only after a failure.

From isp-insoft-gmbh/isp-insoft-ai-skills, MIT.

More from isp-insoft-gmbh/isp-insoft-ai-skills

Signals

Stars
0
Forks
0
Open issues
0
Last commit (this folder)
Oct 20, 2026 (9 days ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from isp-insoft-gmbh

Cite this page

fxdriver skill. Agent Mart. https://agentmart.dev/skills/isp-insoft-gmbh-fxdriver (last updated 2026-10-24)