Skip to content

Skills

A coding agent can find out on its own how to drive a Swing app, but it gets there faster and wastes fewer calls when it is told. The repository's skills/ folder holds three agent skills. Each is a folder with a SKILL.md, written for the CLI. The same tools also work over MCP.

  • swing-ui-record-test: record a test and save it as a recorded test file or a Java @UiTest class. Which kind to pick is on Recorded tests or Java tests. It covers:
    • the reset that starts a recording, and reaching the test's own starting screen first;
    • acting, then checking with expect so the check is recorded;
    • recording together with a person: the agent and the person share one recording and one undo history, and the agent only acts on what the person asked for (how);
    • fixing steps, naming them in sentences (a sentence per step, per check, and per group; how), and the exports and their warnings;
    • proving the test passes when the app starts on another screen;
    • working with a person at the app: asking with inspect highlight and pick, and saving what they recorded with the palette.
  • swing-ui-targeting: turn words into a locator, so "the Customer field", "order ORD-1640" or "Checkout…" becomes a target the driver can reach. It also says what to report when a word does not resolve, and what needs a plugin. references/recipes.md lists common jobs as live steps next to the Java each one exports to.
  • swing-ui-driver: hand the clicking to a cheaper sub-agent. The main session keeps the decisions; the driver walks a checklist with scoped reads and batched steps, and reports pass, fail or gap per item. The file doubles as the sub-agent's definition.
  1. Copy the three folders into your agent's skills directory. For Claude Code, that is .claude/skills/ in your project (or ~/.claude/skills/ for every project):

    Terminal window
    cp -r swing-ui-agent/skills/swing-ui-* my-app/.claude/skills/
  2. For the driver as a sub-agent, also make it an agent definition: copy swing-ui-driver/SKILL.md into your agent's sub-agent folder (for Claude Code, .claude/agents/swing-ui-driver.md). Add your platform's frontmatter, for example a smaller model and the shell tool.

  3. If your agent reads no skill folders, put the text of swing-ui-record-test and swing-ui-targeting into its instruction file.

The skills show the agent jar as swing-ui-agent-0.1.0-SNAPSHOT-agent.jar on port 8765. If yours lives elsewhere or listens on another port, say so once in your project's instructions.

Ask in your own words. For example:

  • "Record a UI test that places an order for Ada Shop Ltd with 3 × A4 paper and checks the total."
  • "Check by hand that Checkout… stays disabled when the cart has more Staplers than are in stock."
  • "Use the driver to walk the checkout for Café Lumen and tell me which steps fail."

With the palette on (the default), you can also show the agent instead of describing it: see Record a test by showing it.

The whole site is also plain text for agents: llms.txt lists the pages, llms-full.txt holds all of them, and llms-small.txt a shorter version. Point your agent at one of them when it should know the tool beyond what the skills teach.

Apache-2.0 · A Kormcrete project · For coding agents:llms.txt, llms-full.txt