Agent skill

Test Palot Desktop

by ItsWendell in ItsWendell/palot

Test Palot's native Electron renderer with preload, IPC, and OpenCode integration.

MITAuto-check passedTesting & QA

Install Test Palot Desktop

skills CLI
$ npx skills add ItsWendell/palot --skill test-palot-desktop -a claude-code

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

GitHub CLI
$ gh skill install ItsWendell/palot test-palot-desktop --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/ItsWendell/palot.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/test-palot-desktop .claude/skills/test-palot-desktop && 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
test-palot-desktop
GitHub stars
191
Token cost
~1.9k tokens
SKILL.md length
973 words
Files
2
Skills in repo
9
Repo updated
First seen
Licence
MIT

At a glance

Test Palot's native Electron renderer with preload, IPC, and OpenCode integration.

  • Works in 7 steps: Project and session navigation update… → A hydrated transcript renders without a… → The composer can receive focus. Sending… → …
  • Running desktop E2E scenarios
  • SKILL.md covers Choose The Path, Deterministic E2E and Live inspection
  • Calls bun and git

What it does

Test Palot Desktop is an agent skill from ItsWendell/palot. Test Palot's native Electron renderer with preload, IPC, and OpenCode integration. Use when adding or running desktop E2E scenarios, interactively inspecting the native UI, checking accessibility, focus, or resizing, capturing screenshots, proving live hydration, or smoke-testing renderer/preload/IPC behavior. Use palot-performance for measurements and palot-desktop-dev for build and channel work.

Its SKILL.md is about 1.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files (for example `agents/openai.yaml`).

It sits in Testing & QA, covering End-to-end testing and Mobile UI design. The repository describes itself as: Just another desktop client for OpenCode 2. Manage projects, sessions, parallel agents, requests, and changes on Linux and macOS. The licence is MIT.

When your agent uses it

  • Running desktop E2E scenarios
  • Interactively inspecting the native UI
  • Checking accessibility
  • Capturing screenshots

Example prompts

  • “/test-palot-desktop”

Workflow steps

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

  1. Project and session navigation update the selected content.
  2. A hydrated transcript renders without a blank window, crash, clipped composer, or unreadable overlap.
  3. The composer can receive focus. Sending is outside the baseline smoke pass unless a disposable session and prompt are in scope.
  4. The inspector opens the selected file or diff when data exists, and it returns to its prior state.
  5. Keyboard focus is visible for the controls used in the flow.
  6. Resize the window to its minimum supported size, 920 x 640, and check navigation, transcript, composer, and inspector for clipping or…
  7. Return to the default window size and capture the state that proves the requested change.

What it can do on your machine

Read from SKILL.md and the folder at commit 5b71bf9. 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:

    • bun
    • git

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

  • Network

    No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.

    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

Test Palot Desktop loads about 1.9k tokens when it runs. Until then it costs about 105 tokens; SKILL.md has 973 words of instructions outside code blocks.

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

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 ItsWendell/palot at commit 5b71bf9, republished under its MIT licence (© ItsWendell). 973 words, ~1,872 tokens.

Download SKILL.mdSave it as .claude/skills/test-palot-desktop/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
test-palot-desktop
description
Test Palot's native Electron renderer with preload, IPC, and OpenCode integration. Use when adding or running desktop E2E scenarios, interactively inspecting the native UI, checking accessibility, focus, or resizing, capturing screenshots, proving live hydration, or smoke-testing renderer/preload/IPC behavior. Use palot-performance for measurements and palot-desktop-dev for build and channel work.

Test Palot Desktop

Use this skill for the native Electron client. A renderer-only Vite page does not prove the preload, IPC, or OpenCode connection.

Use repository-root ../../../docs/agent-development.md for verification selection, launch, renderer attachment, artifact paths, and cleanup. Read ../../../docs/desktop-testing.md when authoring scenarios or resolving test-architecture questions.

Choose The Path

  • Agent worktree: run the smallest matching bun run test:e2e -- <scenario>. The harness is hidden, credential-free, isolated, and self-cleaning.
  • Deterministic visual review: add --visible.
  • Renderer recording: add --video (requires ffmpeg, implies --visible --keep). Captures the explicit Electron renderer, not desktop chrome/audio. Retains video.mp4 and video.json; recording adds overhead and is not compositor/FPS evidence. Inspect representative frames before presenting the private recording.
  • Agent inspection: add --inspect, then run the exact agent-browser connect '<renderer-websocket>' command printed by the harness. Use the renderer target rather than browser-level CDP because Electron cannot create a new target. Stop the retained command with Ctrl-C.
  • Real-provider behavior or requested live inspection: use the live workflow below. It connects to real user data.

List deterministic scenarios with bun run test:e2e:list. Failures retain available evidence under the primary checkout's .local/desktop-e2e/; report the absolute run path and which artifacts exist. Early setup failures may have no screenshot.

Complete only the selected path below. Running an isolated scenario does not require live inspection or a full shell smoke pass.

Deterministic E2E

Use the scenario result as evidence for the behavior it asserts. Scripted data in an isolated OpenCode service is valid integration evidence; it does not prove live provider behavior. Inspect failures before widening the test scope.

Report the scenario command, result, unresolved failures, and retained artifact path when present. A passing nonvisual scenario needs neither real user data nor screenshots. For visual QA, also inspect the affected state and save a screenshot; use before/after images when both states are available.

Live inspection

Use this path only for real-provider behavior or requested live inspection. Follow the live development and renderer attachment commands in ../../../docs/agent-development.md. Reuse a healthy development terminal owned by this task when possible. Keep the terminal or spawned process identifier for cleanup.

Use bun run dev for hidden integration, dev:visible for visual inspection, or dev:focus when focus behavior matters. Use the development launcher rather than signed packaging. An unsigned package check requires the user's request.

Live Palot connects to the user's shared OpenCode 2 service. Start with read-only navigation. Create sessions, submit prompts, interrupt work, or answer requests only when the test scope authorizes those changes, and use a disposable test session.

Private evidence

Run from the repository root. Resolve the primary checkout and create one QA directory:

bash
primary_checkout="$(dirname "$(git rev-parse --path-format=absolute --git-common-dir)")"
qa_stamp="$(date +%Y%m%d-%H%M%S)"
qa_dir="$primary_checkout/.local/desktop-qa/$qa_stamp"
mkdir -p "$qa_dir"
printf '%s\n' "$qa_dir"

Keep screenshots, copied logs, and notes in this directory. Do not put project names, session titles, prompt text, credentials, or tokens in artifact names. Inspect each screenshot for sensitive data before you show or attach it.

Show full SKILL.md (510 more words)Show less
Inspect the affected behavior

Attach to the exact renderer WebSocket returned by dev:info, as documented in the development guide. Confirm its URL matches rendererUrl before interacting. A refused connection means Electron is not ready; it does not justify browser auto-discovery or a browser-level CDP connection.

Preserve the launcher's ELECTRON_RUN_AS_NODE removal. If a diagnostic direct launch is necessary, remove that variable from the copied environment first.

Check that the renderer responds and has no main-process or preload error that invalidates the result. For hydration QA, verify loading ends and selecting a real session shows hydrated data, or report the specific empty/connection state. An empty state does not prove successful session hydration. A visible window is required for visual QA, not for hidden integration checks.

Inspect fresh accessibility state after each interaction. Prefer indexed accessibility actions. Use coordinates only when the accessibility tree cannot expose the control.

Test the affected interaction and its reverse state where relevant. Run the following full shell pass only for explicit shell smoke QA or changes that affect these surfaces together:

  1. Project and session navigation update the selected content.
  2. A hydrated transcript renders without a blank window, crash, clipped composer, or unreadable overlap.
  3. The composer can receive focus. Sending is outside the baseline smoke pass unless a disposable session and prompt are in scope.
  4. The inspector opens the selected file or diff when data exists, and it returns to its prior state.
  5. Keyboard focus is visible for the controls used in the flow.
  6. Resize the window to its minimum supported size, 920 x 640, and check navigation, transcript, composer, and inspector for clipping or inaccessible content.
  7. Return to the default window size and capture the state that proves the requested change.

For a visual change, capture before and after images when both builds or states are available. For motion or timing behavior, capture a short video if the available Computer Use surface supports it. Do not claim a native smoke pass from a renderer-only browser preview.

Retain or stop the environment

Keep the dev terminal, Electron window, selected OpenCode state, and QA directory alive while the user may inspect the result or request another change. A response boundary does not end the QA lifecycle.

When the user confirms completion, or no review remains, send Ctrl-C to the retained terminal session. Confirm that the terminal process exited. Stop only that owned session or a process identifier captured when it started. Preserve the QA directory unless the user requests removal.

Live inspection result

Report:

  • The exact launch command and whether the dev process remains available.
  • The tested behavior and, for hydration QA, the connected state without exposing sensitive prompt content.
  • Any main, preload, renderer, or connection error that remains.
  • For visual QA, the tested window sizes and absolute paths to screenshots or video.

State what the evidence proves and what remains unverified. A loading screen or mock data cannot establish live hydration; a renderer-only browser preview cannot establish native integration. Visual QA requires a saved native-client screenshot, but nonvisual checks do not.

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

Files

SKILL.md and 1 other file in .agents/skills/test-palot-desktop of ItsWendell/palot.

  • SKILL.md
  • agents/openai.yaml

Open the folder on GitHubat commit 5b71bf9

Compare with similar skills

Test Palot Desktop 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.

Test Palot Desktop compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Test Palot Desktop this skillItsWendell/palot191—~1.9kAutomated safety check: PassMIT
Mobile Paritykdlbs/kandev912—~3.7kAutomated safety check: PassAGPL-3.0
Web Application Testinganthropics/skills180k51 repos~966Automated safety check: PassApache-2.0
TDD WorkflowhellangleZ/burn-in-cceverywhere-ralph11211 repos~2.4kAutomated safety check: PassNone
Uloop Replay Inputkurotu/VRCQuestTools3733 repos~615Automated safety check: PassMIT
Ui4 Convert Testspayloadcms/payload45k—~3.5kAutomated safety check: PassMIT

Similar skills

  • Mobile Parity

    kdlbs/kandev

    Ensures Kandev UI work uses native mobile interaction patterns instead of compressed desktop adaptations while preserving desktop/mobile capability parity, responsive behavior, and mobile Playwright…

    912 GitHub stars~3.7k tokensUpdated yesterday
    Testing & QAAuto-check passed
  • Web Application Testing

    anthropics/skills

    Official

    Tests local web applications with Python Playwright scripts, checking frontend behavior, capturing screenshots and reading browser console logs.

    180k GitHub starsUsed in 51 repos~966 tokens
    Testing & QAAuto-check passed
  • TDD Workflow

    hellangleZ/burn-in-cceverywhere-ralph

    A skill your agent uses when writing new features, fixing bugs, or refactoring code.

    112 GitHub starsUsed in 11 repos~2.4k tokens
    Testing & QAAuto-check passed
  • Uloop Replay Input

    kurotu/VRCQuestTools

    Replay recorded PlayMode keyboard and mouse input. An agent skill from kurotu/VRCQuestTools.

    373 GitHub starsUsed in 3 repos~615 tokens
    Testing & QAAuto-check passed
  • Ui4 Convert Tests

    payloadcms/payload

    A skill your agent uses when UI changes are complete and e2e tests need updating.

    45k GitHub stars~3.5k tokensUpdated yesterday
    Testing & QAAuto-check passed
  • E2E

    stackia/rtp2httpd

    Write, run, review, or debug rtp2httpd E2E tests and their harness in e2e/ and scripts/run-e2e.sh.

    2.2k GitHub stars~517 tokensUpdated 9 days ago
    Testing & QAAuto-check passed

More from ItsWendell/palot

All 9 skills in this repo
  • Diffs

    ItsWendell/palot

    A skill your agent uses when changing Palot code, file, or diff rendering built on @pierre/diffs, including the Changes tab, file views, CodeView, parsing, selection, annotations, workers, or Shiki…

    191 GitHub stars~841 tokensUpdated 3 days ago
    Auto-check passed
  • Trees

    ItsWendell/palot

    A skill your agent uses when changing Palot file-tree behavior built on @pierre/trees, especially the Changes tab tree, selection, search, rename, drag and drop, Git status, or theme integration.

    191 GitHub stars~540 tokensUpdated 3 days ago
    Auto-check passed
  • Shadcn

    ItsWendell/palot

    A skill your agent uses when adding, updating, composing, or debugging source components managed by shadcn; changing apps/desktop/components.json, registries, or presets; or running the shadcn CLI.

    191 GitHub stars~795 tokensUpdated 3 days ago
    Auto-check passed
  • Opencode Runtime

    ItsWendell/palot

    Check or update Palot's OpenCode CLI, client, protocol/schema and runtime contract.

    191 GitHub stars~1.7k tokensUpdated 3 days ago
    Auto-check passed
  • Palot Performance

    ItsWendell/palot

    Measure and improve Palot desktop runtime performance. An agent skill from ItsWendell/palot.

    191 GitHub stars~3.1k tokensUpdated 3 days ago
    Auto-check passed
  • Opencode Coverage

    ItsWendell/palot

    Audit Palot's OpenCode 2 operation and event coverage, analyzer or baseline regressions, published contract-surface deltas, or reviewed baseline updates.

    191 GitHub stars~1.3k tokensUpdated 3 days ago
    Auto-check passed

Categories

Questions about Test Palot Desktop

What does Test Palot Desktop do?

Test Palot's native Electron renderer with preload, IPC, and OpenCode integration. Test Palot Desktop is an agent skill from ItsWendell/palot. Test Palot's native Electron renderer with preload, IPC, and OpenCode integration.

When should I use Test Palot Desktop?

Test Palot Desktop fits situations like: running desktop E2E scenarios; interactively inspecting the native UI; checking accessibility; capturing screenshots.

How do I install Test Palot Desktop in Claude Code?

Run `npx skills add ItsWendell/palot --skill test-palot-desktop -a claude-code`. Or copy the skill folder (.agents/skills/test-palot-desktop in ItsWendell/palot) into .claude/skills/test-palot-desktop in your project. Claude Code loads it when a task matches its description.

How do I install Test Palot Desktop in Codex?

Run `npx skills add ItsWendell/palot --skill test-palot-desktop -a codex`. Or copy the skill folder (.agents/skills/test-palot-desktop in ItsWendell/palot) into .agents/skills/test-palot-desktop in your project. Codex loads it when a task matches its description.

Can I use Test Palot Desktop 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 ItsWendell/palot --skill test-palot-desktop -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/test-palot-desktop, .gemini/skills/test-palot-desktop, .github/skills/test-palot-desktop and .opencode/skills/test-palot-desktop in your project.

What does Test Palot Desktop need to run?

Going by SKILL.md and its folder, Test Palot Desktop needs the command-line tools its instructions call (bun and git).

Does Test Palot Desktop access the network?

SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Test Palot Desktop 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 Test Palot Desktop use?

Test Palot Desktop is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Test Palot Desktop use?

About 1.9k tokens (SKILL.md is roughly 7.5k 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 Test Palot Desktop?

Skills that share tags, products or a category with Test Palot Desktop: Mobile Parity (kdlbs/kandev, 912 stars), Web Application Testing (anthropics/skills, 180k stars), TDD Workflow (hellangleZ/burn-in-cceverywhere-ralph, 112 stars) and Uloop Replay Input (kurotu/VRCQuestTools, 373 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Test Palot Desktop?

ItsWendell (a GitHub user) maintains it in ItsWendell/palot, which has 191 GitHub stars. The repository holds 9 skills in this directory. The repository was last updated on October 7, 2026.

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