Agent skill

Testing OpenLogi UI

by AprilNEA in AprilNEA/OpenLogi

Verifies OpenLogi's native GPUI interface with focused tests, the component gallery and a mock agent, choosing the evidence that fits each change.

Apache-2.0Auto-check passedTesting & QA

Install Testing OpenLogi UI

skills CLI
$ npx skills add AprilNEA/OpenLogi --skill testing-openlogi-ui -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install AprilNEA/OpenLogi testing-openlogi-ui --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/AprilNEA/OpenLogi.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/testing-openlogi-ui .claude/skills/testing-openlogi-ui && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
testing-openlogi-ui
GitHub stars
23k
Token cost
~1.1k tokens
SKILL.md length
520 words
Files
1
Skills in repo
7
Repo updated
First seen
Licence
Apache-2.0

At a glance

Verifies OpenLogi's native GPUI interface with focused tests, the component gallery and a mock agent, choosing the evidence that fits each change.

  • Works in 4 steps: Read GUI integration rules and load → Name the expected result and a failing… → Use the gallery for reusable controls;… → …
  • Changing desktop windows, overlays or shared controls in OpenLogi
  • SKILL.md covers Choose the test surface, Run without hardware and Verify the affected contract
  • Calls cargo

What it does

The agent first reads the repo's GUI integration rules and loads the gpui-kit skills, names the expected result and a failing case, then picks the test surface: pure tests for logic, GPUI tests for rendered interactions, and the running app for OS behavior. Reusable controls are checked in the component gallery, device panels and IPC-driven state use a mock agent so no hardware is needed, and the overlay process is tested separately from the desktop preview. Browser DOM automation does not test GPUI.

Run commands use cargo with an OPENLOGI_PROFILE environment variable: launch the gallery with the dev agent disabled, or start the mock agent first and then the desktop in a second terminal. Test processes stay on one profile, the production profile is never used to bypass a lock, and the connected agent should carry the mock version suffix before settings change. On macOS, cargo run refreshes the dev bundle while cargo build does not. If native rendering is blocked, the agent reports the blocker and runs the strongest tests available.

When your agent uses it

  • Changing desktop windows, overlays or shared controls in OpenLogi
  • Checking theme, scale or localization changes in the native UI
  • Testing device panels without physical hardware

Example prompts

  • “I changed the shared button control, so verify it in the component gallery.”
  • “Start the mock agent and check that the device panel renders the fixture inventory.”
  • “Test the overlay after my scale change and tell me what blocked native rendering, if anything.”

Requirements

  • Rust and cargo
  • A native display and build tools for GPUI

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. Read GUI integration rules and load
  2. Name the expected result and a failing case before editing. Use pure tests for
  3. Use the gallery for reusable controls; update the affected gallery entry.
  4. Read development setup before launching.

What it can do on your machine

Read from SKILL.md and the folder at commit 4863a45. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • cargo

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Testing OpenLogi UI loads about 1.1k tokens when it runs. Until then it costs about 58 tokens; SKILL.md has 520 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~58
When it runs · the whole SKILL.md, loaded when a task matches
~1.1k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from AprilNEA/OpenLogi at commit 4863a45, republished under its Apache-2.0 licence (© AprilNEA). 520 words, ~1,140 tokens.

Download SKILL.mdSave it as .claude/skills/testing-openlogi-ui/SKILL.md (or your agent's skills folder).
name
testing-openlogi-ui
description
Verifies OpenLogi native UI with focused GPUI tests, the component gallery, and mock-agent workflows. Use when changing or testing desktop, overlay, shared controls, theme, scale, localization, or UI interactions.

Test OpenLogi UI

Choose evidence that proves the affected behavior, then inspect the rendered result.

Choose the test surface

  1. Read GUI integration rules and load gpui-kit. For visual or interaction changes, also load gpui-kit-design-guides.
  2. Name the expected result and a failing case before editing. Use pure tests for logic, GPUI tests for rendered interactions, and the running app for OS behavior.
  3. Use the gallery for reusable controls; update the affected gallery entry. Use the mock agent for device panels and IPC-driven state without hardware. Test the overlay process separately; a desktop ring preview does not verify it.
  4. Read development setup before launching. Check the available native display and build tools. Browser DOM automation does not test GPUI. If native rendering is blocked, report the blocker and run the strongest available tests instead.

Run without hardware

Run from the repository root. These examples use POSIX environment syntax; on Windows, set the same variables using the active shell's syntax.

For isolated controls in a debug build:

sh
OPENLOGI_PROFILE=dev OPENLOGI_DEV_AGENT=0 OPENLOGI_COMPONENT_GALLERY=1 cargo run -p openlogi-desktop

For app workflows, start the mock first. After it binds its endpoint, start the desktop in a second terminal or managed service:

sh
OPENLOGI_PROFILE=dev cargo run -p openlogi-agent --bin openlogi-agent-mock
OPENLOGI_PROFILE=dev OPENLOGI_DEV_AGENT=0 cargo run -p openlogi-desktop
  • Keep all test processes on the same profile. Do not use prod to bypass a lock. Identify a conflicting process before stopping it; preserve installed apps.
  • On macOS, cargo run refreshes the dev bundle; cargo build alone does not. Quit the previous dev GUI before relaunching. OPENLOGI_DEV_AGENT=0 prevents the runner from replacing the mock with real helpers. Linux/Windows use the raw binary.
  • If macOS rejects an external production agent, confirm separate profiles before using OPENLOGI_ALLOW_EXTERNAL_AGENT=1; do not bypass a same-profile conflict.
  • Confirm the connected agent has the -mock version suffix before changing settings. If it disconnects, restore the mock before continuing; the GUI can auto-start helpers.
  • For repeatable captured inventory, append -- --fixture <profile.json> to the mock command. Fixture mode freezes mock time; demo mode animates battery/pairing. Do not wait for demo pairing transitions in fixture mode.
Show full SKILL.md (194 more words)Show less

Verify the affected contract

Use the installed GPUI API, not unverified upstream test helpers. The gallery smoke test, picker interaction test, and ring scroll test show working local harnesses. Run the affected test, for example:

sh
cargo test -p openlogi-desktop gallery_renders_without_application_state
  • Assert an interaction's visible result and owner state, not just successful render. Exercise the relevant negative state: disabled control, offline device, invalid input, empty list, or IPC failure. Do not manufacture test-only state to pass.
  • For visible changes, render representative affected states, capture screenshots, and inspect them. Check affected light/dark themes, supported interface scales, narrow layouts, and open menus or dialogs. A smoke test is not pixel verification.
  • For localized UI, change language while the view is open and inspect cached text. Apply the catalog and wiring checks in i18n rules.
  • Apply change verification once stable. Desktop tests run on macOS in CI; a Linux CI pass does not cover those tests.

Report commands and results, exercised states, and an inspected screenshot for visual work. Separate in-process tests, running-app checks, and real-hardware checks. Mock success does not prove HID writes, OS permissions, input hooks, or physical device behavior. Name every relevant OS or hardware check that was not run.

© AprilNEA, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .agents/skills/testing-openlogi-ui of AprilNEA/OpenLogi.

Open the folder on GitHubat commit 4863a45

Compare with similar skills

Testing OpenLogi UI next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Testing OpenLogi UI compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Testing OpenLogi UI this skillAprilNEA/OpenLogi23k—~1.1kAutomated safety check: PassApache-2.0
Warp Rust Unit Testswarpdotdev/warp65k1 repos~3.4kAutomated safety check: PassAGPL-3.0
Rust Testingkurealnum/dotfiles2906 repos~2.9kAutomated safety check: PassNone
Handsontable Unit Testinghandsontable/handsontable22k—~1.2kAutomated safety check: PassCustom licence
Add UI Stringopenfootmanager/openfootmanager1.1k—~2.6kAutomated safety check: PassGPL-3.0
Testing Hashqlhashintel/hash1.7k—~1.9kAutomated safety check: PassAGPL-3.0

Similar skills

  • Warp Rust Unit Tests

    warpdotdev/warp

    Guides writing, improving and running crate-level Rust unit tests in the Warp codebase, and says when a unit test is the wrong level.

    65k GitHub starsUsed in 1 repo~3.4k tokens
    Testing & QAAuto-check passed
  • Rust Testing

    kurealnum/dotfiles

    Rust testing patterns including unit tests, integration tests, async testing, property-based testing, mocking, and coverage.

    290 GitHub starsUsed in 6 repos~2.9k tokens
    Testing & QAAuto-check passed
  • Handsontable Unit Testing

    handsontable/handsontable

    Conventions for Handsontable's Jest unit and TypeScript type tests: where files go, how to run them, mocking limits and when to write an E2E test instead.

    22k GitHub stars~1.2k tokensUpdated today
    Testing & QAAuto-check passed
  • Add UI String

    openfootmanager/openfootmanager

    Add or change any text a player can see, in every locale the game ships in.

    1.1k GitHub stars~2.6k tokensUpdated yesterday
    Testing & QAAuto-check passed
  • Testing Hashql

    hashintel/hash

    HashQL testing strategies including compiletest (UI tests), unit tests, and snapshot tests.

    1.7k GitHub stars~1.9k tokensUpdated today
    Testing & QAAuto-check passed
  • Dynamo Unit Testing

    DynamoDS/Dynamo

    Write comprehensive NUnit tests for the Dynamo codebase following Dynamo testing patterns, conventions, and architectural constraints.

    2k GitHub stars~622 tokensUpdated today
    Testing & QAAuto-check passed

More from AprilNEA/OpenLogi

  • Decides whether an OpenLogi device problem on macOS is a privacy-permission (TCC) problem, using agent log lines, and says which identity needs which grant.

    23k GitHub stars~2.5k tokensUpdated 4 days ago
    Auto-check: notes
  • Guides recording, privacy review and offline verification of OpenLogi device fixtures with the fixture contribute and verify commands, without treating replay as proof of hardware behavior.

    23k GitHub stars~1.2k tokensUpdated 4 days ago
    Auto-check passed
  • Guides building Rust desktop apps with the gpui-kit crate, covering component selection, state ownership, theming and overlays, plus normative GPUI coding rules.

    23k GitHub stars~5.5k tokensUpdated 4 days ago
    Auto-check passed
  • Plans the smallest check that could disprove a code change in the OpenLogi project, then escalates through reproduction, focused tests and a final gate before a push.

    23k GitHub stars~1.4k tokensUpdated 4 days ago
    Auto-check passed
  • GPUI Kit Design Guides

    AprilNEA/OpenLogi

    A required reference to read in full before designing, changing or reviewing any screen in a GPUI Kit desktop application.

    23k GitHub stars~1.1k tokensUpdated 4 days ago
    Auto-check passed
  • OpenLogi Device Diagnosis

    AprilNEA/OpenLogi

    Finds the first failing layer when an OpenLogi Logitech device is missing or misbehaving across enumeration, open, probe, IPC and UI.

    23k GitHub stars~1.6k tokensUpdated 4 days ago
    Auto-check passed

Works with

Questions about Testing OpenLogi UI

What does Testing OpenLogi UI do?

Verifies OpenLogi's native GPUI interface with focused tests, the component gallery and a mock agent, choosing the evidence that fits each change. The agent first reads the repo's GUI integration rules and loads the gpui-kit skills, names the expected result and a failing case, then picks the test surface: pure tests for logic, GPUI tests for rendered interactions, and the running app for OS behavior. Reusable controls are checked in the component gallery, device panels and IPC-driven state use a mock agent so no hardware is needed, and the overlay process is tested separately from the desktop preview.

When should I use Testing OpenLogi UI?

Testing OpenLogi UI fits situations like: changing desktop windows, overlays or shared controls in OpenLogi; checking theme, scale or localization changes in the native UI; testing device panels without physical hardware.

How do I install Testing OpenLogi UI in Claude Code?

Run `npx skills add AprilNEA/OpenLogi --skill testing-openlogi-ui -a claude-code`. Or copy the skill folder (.agents/skills/testing-openlogi-ui in AprilNEA/OpenLogi) into .claude/skills/testing-openlogi-ui in your project. Claude Code loads it when a task matches its description.

How do I install Testing OpenLogi UI in Codex?

Run `npx skills add AprilNEA/OpenLogi --skill testing-openlogi-ui -a codex`. Or copy the skill folder (.agents/skills/testing-openlogi-ui in AprilNEA/OpenLogi) into .agents/skills/testing-openlogi-ui in your project. Codex loads it when a task matches its description.

Can I use Testing OpenLogi UI in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add AprilNEA/OpenLogi --skill testing-openlogi-ui -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/testing-openlogi-ui, .gemini/skills/testing-openlogi-ui, .github/skills/testing-openlogi-ui and .opencode/skills/testing-openlogi-ui in your project.

What does Testing OpenLogi UI need to run?

Going by SKILL.md and its folder, Testing OpenLogi UI needs the command-line tools its instructions call (cargo). Our summary lists: Rust and cargo; A native display and build tools for GPUI.

Does Testing OpenLogi UI access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Testing OpenLogi UI safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Testing OpenLogi UI use?

Testing OpenLogi UI is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Testing OpenLogi UI use?

About 1.1k tokens (SKILL.md is roughly 4.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Testing OpenLogi UI?

Skills that share tags, products or a category with Testing OpenLogi UI: Warp Rust Unit Tests (warpdotdev/warp, 65k stars), Rust Testing (kurealnum/dotfiles, 290 stars), Handsontable Unit Testing (handsontable/handsontable, 22k stars) and Add UI String (openfootmanager/openfootmanager, 1.1k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Testing OpenLogi UI?

AprilNEA (a GitHub user) maintains it in AprilNEA/OpenLogi, which has 23,109 GitHub stars. The repository holds 7 skills in this directory. The repository was last updated on October 3, 2026.

Source: AprilNEA/OpenLogi on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.