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.
Verifies OpenLogi's native GPUI interface with focused tests, the component gallery and a mock agent, choosing the evidence that fits each change.
$ npx skills add AprilNEA/OpenLogi --skill testing-openlogi-ui -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install AprilNEA/OpenLogi testing-openlogi-ui --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ 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-srcUse ~/.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/
Install the "testing-openlogi-ui" agent skill from https://github.com/AprilNEA/OpenLogi/tree/master/.agents/skills/testing-openlogi-ui into .claude/skills/testing-openlogi-ui/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "testing-openlogi-ui", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/AprilNEA/OpenLogi/tree/master/.agents/skills/testing-openlogi-uiType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add AprilNEA/OpenLogi --skill testing-openlogi-ui -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install AprilNEA/OpenLogi testing-openlogi-ui --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/AprilNEA/OpenLogi.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/testing-openlogi-ui .agents/skills/testing-openlogi-ui && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "testing-openlogi-ui" agent skill from https://github.com/AprilNEA/OpenLogi/tree/master/.agents/skills/testing-openlogi-ui into .agents/skills/testing-openlogi-ui/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "testing-openlogi-ui", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add AprilNEA/OpenLogi --skill testing-openlogi-ui -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install AprilNEA/OpenLogi testing-openlogi-ui --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/AprilNEA/OpenLogi.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/testing-openlogi-ui .cursor/skills/testing-openlogi-ui && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "testing-openlogi-ui" agent skill from https://github.com/AprilNEA/OpenLogi/tree/master/.agents/skills/testing-openlogi-ui into .cursor/skills/testing-openlogi-ui/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "testing-openlogi-ui", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/AprilNEA/OpenLogi.git --path .agents/skills/testing-openlogi-ui--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add AprilNEA/OpenLogi --skill testing-openlogi-ui -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install AprilNEA/OpenLogi testing-openlogi-ui --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/AprilNEA/OpenLogi.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/testing-openlogi-ui .gemini/skills/testing-openlogi-ui && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "testing-openlogi-ui" agent skill from https://github.com/AprilNEA/OpenLogi/tree/master/.agents/skills/testing-openlogi-ui into .gemini/skills/testing-openlogi-ui/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "testing-openlogi-ui", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install AprilNEA/OpenLogi testing-openlogi-uiInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add AprilNEA/OpenLogi --skill testing-openlogi-ui -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/AprilNEA/OpenLogi.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/testing-openlogi-ui .github/skills/testing-openlogi-ui && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "testing-openlogi-ui" agent skill from https://github.com/AprilNEA/OpenLogi/tree/master/.agents/skills/testing-openlogi-ui into .github/skills/testing-openlogi-ui/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "testing-openlogi-ui", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add AprilNEA/OpenLogi --skill testing-openlogi-ui -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install AprilNEA/OpenLogi testing-openlogi-ui --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/AprilNEA/OpenLogi.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/testing-openlogi-ui .opencode/skills/testing-openlogi-ui && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "testing-openlogi-ui" agent skill from https://github.com/AprilNEA/OpenLogi/tree/master/.agents/skills/testing-openlogi-ui into .opencode/skills/testing-openlogi-ui/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "testing-openlogi-ui", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
testing-openlogi-uiVerifies 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. 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.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 4863a45. It shows what the files ask for, not the result of running them.
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.
Shell commands in SKILL.md call:
cargoFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
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.
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.
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.
The full file from AprilNEA/OpenLogi at commit 4863a45, republished under its Apache-2.0 licence (© AprilNEA). 520 words, ~1,140 tokens.
.claude/skills/testing-openlogi-ui/SKILL.md (or your agent's skills folder).Choose evidence that proves the affected behavior, then inspect the rendered result.
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:
OPENLOGI_PROFILE=dev OPENLOGI_DEV_AGENT=0 OPENLOGI_COMPONENT_GALLERY=1 cargo run -p openlogi-desktopFor app workflows, start the mock first. After it binds its endpoint, start the desktop in a second terminal or managed service:
OPENLOGI_PROFILE=dev cargo run -p openlogi-agent --bin openlogi-agent-mock
OPENLOGI_PROFILE=dev OPENLOGI_DEV_AGENT=0 cargo run -p openlogi-desktopprod to bypass a lock.
Identify a conflicting process before stopping it; preserve installed apps.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.OPENLOGI_ALLOW_EXTERNAL_AGENT=1; do not bypass a same-profile conflict.-mock version suffix before changing settings.
If it disconnects, restore the mock before continuing; the GUI can auto-start helpers.-- --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.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:
cargo test -p openlogi-desktop gallery_renders_without_application_stateReport 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
Just SKILL.md in .agents/skills/testing-openlogi-ui of AprilNEA/OpenLogi.
Open the folder on GitHubat commit 4863a45
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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Testing OpenLogi UI this skillAprilNEA/OpenLogi | 23k | — | ~1.1k | Automated safety check: Pass | Apache-2.0 | |
| Warp Rust Unit Testswarpdotdev/warp | 65k | 1 repos | ~3.4k | Automated safety check: Pass | AGPL-3.0 | |
| Rust Testingkurealnum/dotfiles | 290 | 6 repos | ~2.9k | Automated safety check: Pass | None | |
| Handsontable Unit Testinghandsontable/handsontable | 22k | — | ~1.2k | Automated safety check: Pass | Custom licence | |
| Add UI Stringopenfootmanager/openfootmanager | 1.1k | — | ~2.6k | Automated safety check: Pass | GPL-3.0 | |
| Testing Hashqlhashintel/hash | 1.7k | — | ~1.9k | Automated safety check: Pass | AGPL-3.0 |
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.
kurealnum/dotfiles
Rust testing patterns including unit tests, integration tests, async testing, property-based testing, mocking, and coverage.
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.
openfootmanager/openfootmanager
Add or change any text a player can see, in every locale the game ships in.
hashintel/hash
HashQL testing strategies including compiletest (UI tests), unit tests, and snapshot tests.
DynamoDS/Dynamo
Write comprehensive NUnit tests for the Dynamo codebase following Dynamo testing patterns, conventions, and architectural constraints.
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.
AprilNEA/OpenLogi
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.
AprilNEA/OpenLogi
Guides building Rust desktop apps with the gpui-kit crate, covering component selection, state ownership, theming and overlays, plus normative GPUI coding rules.
AprilNEA/OpenLogi
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.
AprilNEA/OpenLogi
A required reference to read in full before designing, changing or reviewing any screen in a GPUI Kit desktop application.
AprilNEA/OpenLogi
Finds the first failing layer when an OpenLogi Logitech device is missing or misbehaving across enumeration, open, probe, IPC and UI.
Works with
Categories
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.