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.
About
Use cases: documents, design
Reviews
Write a reviewNo 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
- 0.570score
desloppy
isp-insoft-gmbh
Use when cleaning or refactoring existing code to remove accidental complexity, duplication, needless indirection, weak types, or overengineering without…
SkillAFreshness: AClaude Code +9 - 0.561score
fxdriver-instructions
isp-insoft-gmbh
Clarify JavaFX workflow acceptance, data safety, source-edit scope and evidence requirements before a non-trivial fxdriver run.
SkillAFreshness: AClaude Code +9 - 0.552score
coding-guidelines
isp-insoft-gmbh
Use before writing code
SkillAFreshness: AClaude Code +9 - 0.526score
java-ffm
isp-insoft-gmbh
Use for Java 26 Foreign Function & Memory API (FFM, Project Panama): java.lang.foreign, native library calls, off-heap memory, MemorySegment, Arena, Linker…
SkillBFreshness: BClaude Code +9 - 0.524score
java-flexible-constructors
isp-insoft-gmbh
Use when Java 25+ constructors need validation, computed arguments, or field initialization before explicit `super(...)`/`this(...)`.
SkillBFreshness: BClaude Code +9 - 0.524score
java-scoped-values
isp-insoft-gmbh
Use when Java 25+ code passes immutable contextual data through call chains or child threads, especially instead of `ThreadLocal`.
SkillBFreshness: BClaude Code +9 - 0.523score
java-markdown-doc-comments
isp-insoft-gmbh
Use when writing or reviewing JDK 23+ Javadoc comments with `///` Markdown syntax.
SkillBFreshness: BClaude Code +9 - 0.523score
java-ml-dsa
isp-insoft-gmbh
Use when Java 24+ crypto needs quantum-resistant ML-DSA signatures via standard JCA APIs.
SkillBFreshness: BClaude Code +9 - 0.523score
java-ml-kem
isp-insoft-gmbh
Use when Java 24+ crypto needs quantum-resistant ML-KEM key encapsulation via standard JCA/JCE APIs.
SkillBFreshness: BClaude Code +9 - 0.523score
java-module-imports
isp-insoft-gmbh
Use when Java 25+ source can simplify many package imports with `import module ...;`.
SkillBFreshness: BClaude Code +9 - 0.523score
java-native-access-restrictions
isp-insoft-gmbh
Use when Java 24+ JNI or FFM code triggers native-access warnings or needs explicit native access flags.
SkillBFreshness: BClaude Code +9 - 0.523score
java-record-patterns
isp-insoft-gmbh
Use when Java 21+ code deconstructs records with `instanceof` or `switch`, especially nested record patterns.
SkillBFreshness: BClaude Code +9
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
- Source
- GitHubgithub-graphql
More from isp-insoft-gmbh
- 0.570score
desloppy
isp-insoft-gmbh
Use when cleaning or refactoring existing code to remove accidental complexity, duplication, needless indirection, weak types, or overengineering without…
SkillAFreshness: AClaude Code +9 - 0.561score
fxdriver-instructions
isp-insoft-gmbh
Clarify JavaFX workflow acceptance, data safety, source-edit scope and evidence requirements before a non-trivial fxdriver run.
SkillAFreshness: AClaude Code +9 - 0.552score
coding-guidelines
isp-insoft-gmbh
Use before writing code
SkillAFreshness: AClaude Code +9 - 0.526score
java-ffm
isp-insoft-gmbh
Use for Java 26 Foreign Function & Memory API (FFM, Project Panama): java.lang.foreign, native library calls, off-heap memory, MemorySegment, Arena, Linker…
SkillBFreshness: BClaude Code +9 - 0.524score
java-flexible-constructors
isp-insoft-gmbh
Use when Java 25+ constructors need validation, computed arguments, or field initialization before explicit `super(...)`/`this(...)`.
SkillBFreshness: BClaude Code +9 - 0.524score
java-scoped-values
isp-insoft-gmbh
Use when Java 25+ code passes immutable contextual data through call chains or child threads, especially instead of `ThreadLocal`.
SkillBFreshness: BClaude Code +9
Cite this page
fxdriver skill. Agent Mart. https://agentmart.dev/skills/isp-insoft-gmbh-fxdriver (last updated 2026-10-24)