Temporal Developer
latitude-dev/latitude-llm
This skill should be used when the user asks to "create a Temporal workflow", "write a Temporal activity", "debug stuck workflow", "fix non-determinism error", "Temporal Python", "Temporal…
Drive the Trayscale GTK 4 / Libadwaita desktop UI the way a user does.
$ npx skills add DeedleFake/trayscale --skill verify-trayscale -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install DeedleFake/trayscale verify-trayscale --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/DeedleFake/trayscale.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.cursor/skills/verify-trayscale .claude/skills/verify-trayscale && 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 "verify-trayscale" agent skill from https://github.com/DeedleFake/trayscale/tree/master/.cursor/skills/verify-trayscale into .claude/skills/verify-trayscale/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "verify-trayscale", 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/DeedleFake/trayscale/tree/master/.cursor/skills/verify-trayscaleType 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 DeedleFake/trayscale --skill verify-trayscale -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install DeedleFake/trayscale verify-trayscale --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/DeedleFake/trayscale.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.cursor/skills/verify-trayscale .agents/skills/verify-trayscale && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "verify-trayscale" agent skill from https://github.com/DeedleFake/trayscale/tree/master/.cursor/skills/verify-trayscale into .agents/skills/verify-trayscale/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "verify-trayscale", 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 DeedleFake/trayscale --skill verify-trayscale -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install DeedleFake/trayscale verify-trayscale --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/DeedleFake/trayscale.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.cursor/skills/verify-trayscale .cursor/skills/verify-trayscale && 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 "verify-trayscale" agent skill from https://github.com/DeedleFake/trayscale/tree/master/.cursor/skills/verify-trayscale into .cursor/skills/verify-trayscale/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "verify-trayscale", 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/DeedleFake/trayscale.git --path .cursor/skills/verify-trayscale--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 DeedleFake/trayscale --skill verify-trayscale -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install DeedleFake/trayscale verify-trayscale --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/DeedleFake/trayscale.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.cursor/skills/verify-trayscale .gemini/skills/verify-trayscale && 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 "verify-trayscale" agent skill from https://github.com/DeedleFake/trayscale/tree/master/.cursor/skills/verify-trayscale into .gemini/skills/verify-trayscale/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "verify-trayscale", 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 DeedleFake/trayscale verify-trayscaleInstalls 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 DeedleFake/trayscale --skill verify-trayscale -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/DeedleFake/trayscale.git skills-src && mkdir -p .github/skills && cp -r skills-src/.cursor/skills/verify-trayscale .github/skills/verify-trayscale && 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 "verify-trayscale" agent skill from https://github.com/DeedleFake/trayscale/tree/master/.cursor/skills/verify-trayscale into .github/skills/verify-trayscale/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "verify-trayscale", 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 DeedleFake/trayscale --skill verify-trayscale -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install DeedleFake/trayscale verify-trayscale --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/DeedleFake/trayscale.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.cursor/skills/verify-trayscale .opencode/skills/verify-trayscale && 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 "verify-trayscale" agent skill from https://github.com/DeedleFake/trayscale/tree/master/.cursor/skills/verify-trayscale into .opencode/skills/verify-trayscale/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "verify-trayscale", 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.
verify-trayscaleDrive the Trayscale GTK 4 / Libadwaita desktop UI the way a user does.
Verify Trayscale is an agent skill from DeedleFake/trayscale. Drive the Trayscale GTK 4 / Libadwaita desktop UI the way a user does. Use when proving a Trayscale UI change, checking the main window, About, Preferences, peer search, the this-machine page, or a peer page against a live tailscaled.
Its SKILL.md is about 1.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 11 other files, including scripts (for example `features/README.md`, `features/about.md` and `features/main-window.md`).
It works with Go and Linux. The repository describes itself as: An unofficial GUI wrapper around the Tailscale CLI client. The licence is MIT.
3 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 33fa87a. 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.
Ships 1 file in scripts/, which the agent can run.
Shell commands in SKILL.md call:
python3From 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.
Verify Trayscale loads about 1.9k tokens when it runs. Until then it costs about 63 tokens; SKILL.md has 902 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); the scripts in this folder are not scanned.
The full file from DeedleFake/trayscale at commit 33fa87a, republished under its MIT licence (© DeedleFake). 902 words, ~1,944 tokens.
.claude/skills/verify-trayscale/SKILL.md (or your agent's skills folder). This skill also uses 9 other files; get the full folder from GitHub.Trayscale is an unofficial Tailscale GUI. The user-facing surface is a Libadwaita window titled Trayscale plus an optional tray icon. There is no web UI and no first-party CLI besides tailscale itself.
This skill drives this checkout's binary in an isolated D-Bus session. It does not drive a Trayscale the user already started.
Set CTRL to the helper and run every command from the repo root:
CTRL=.cursor/skills/verify-trayscale/scripts/control-trayscaleRead features/README.md before a proof. Drive every entry point the matching feature file lists, not one convenient path.
GApplication owns the session-bus name dev.deedles.Trayscale. A second process on the user bus only activates the first. launch starts dbus-run-session so the user instance can stay running.
Shared with the user and not isolated:
tailscaled and the live tailnetDo not activate use_exit_node, login, change_control_server, admin_dashboard, or quit unless a feature file says to and passes --i-mean-it. Do not click the unnamed header switch (connect/disconnect). Do not toggle Advertise exit node, Allow LAN access, Accept routes, Accept DNS, or Use as exit node.
Two verify launches at once are refused. Two user-plus-verify instances are allowed.
The helper needs go, glib-compile-schemas, dbus-run-session, gdbus, at-spi2-core, and PyGObject with the Atspi 2.0 typelib (python3 -c 'import gi; gi.require_version("Atspi", "2.0")' must succeed).
$CTRL launchThis compiles dev.deedles.Trayscale.gschema.xml into the run dir, builds ./cmd/trayscale into that run dir, then starts the binary under dbus-run-session with:
GSETTINGS_BACKEND=memory and GSETTINGS_SCHEMA_DIR pointing at the run schemaTRAYSCALE_PRIVATE=1 (profile names render as profile@example.com)GTK_A11Y=atspi and a private AT-SPI registryXDG_* directories under the run dirLANGUAGE=en and LANG/LC_ALL set to C.UTF-8, so labels match this map whatever the user's localeReady when doctor prints "window": "frame 'Trayscale'" and "bus_name_owned": true. First build can take more than a minute. --timeout default is 180 seconds. A dbind-WARNING about /org/a11y/atspi/cache during launch is ignorable if doctor then succeeds.
Tray registration on the private bus is expected to fail (StatusNotifierWatcher is absent). That is isolation working, not a product bug.
If the build fails, launch removes its run directory and exits nonzero. If the D-Bus name never appears, it stops the session and keeps runs/<id>/ for its logs; delete that directory once you have read them.
Teardown is cleanup. There is no long-lived server besides the process launch started.
$CTRL doctorRequire all of:
pgid_alive truebinary_exists truebus_name_owned truewindow equal to frame 'Trayscale'gsettings_backend equal to memoryRun doctor before the first drive, after any failed drive, and before treating a surprising tree as product behavior. If doctor fails, read runs/<id>/inner.log and runs/<id>/session.log, then cleanup before another launch.
GApplication actions are the same handlers the menus and shortcuts call. Object path /dev/deedles/Trayscale on the isolated bus.
$CTRL actions
$CTRL action about
$CTRL action preferences
$CTRL action search-peersAT-SPI handles that exist in this app:
| Handle | Role | Notes |
|---|---|---|
Trayscale | frame | Main window |
Search peers | toggle button | Sidebar search control |
profile@example.com | combo box | Profile dropdown under TRAYSCALE_PRIVATE=1 |
| (empty) | entry | Peer search entry. Present only while search is open |
No matching peers | grouping | Sidebar placeholder when a search matches nothing |
This machine, Exit Nodes, Online, Offline | label | Sidebar section titles when connected |
Tailscale IPs, Options, Files, Advertised Routes, Network Check | grouping | This-machine page |
Advertise exit node and the other option rows | switch | Read only |
Tailscale IPs, Misc., Advertised Routes | grouping | Peer page |
Use as exit node | switch | Peer page of an exit node. Read only |
About | dialog | After action about |
Trayscale, DeedleFake | label | Inside the About dialog |
Preferences | dialog | After action preferences |
General, Taildrop | grouping | Inside Preferences |
$CTRL snapshot --path artifacts/example.tree.txt
$CTRL find --role dialog --name About --exact
$CTRL wait --role dialog --name About --exact --timeout 10
$CTRL click --role toggle --name "Search peers" --exact
$CTRL select --role label --name "<peer sidebar label>" --exact
$CTRL fill --role entry --value "query"click uses a click/press/activate/toggle action. It refuses to default to clipboard.copy (GTK exposes that on selectable labels). Sidebar rows have empty list item names and no AT-SPI actions; select --name selects the list item that contains that label. That marks the row states=selected but does not change the content page. To show a peer page, search for the peer. When the visible page is not among the matches, the first match becomes the visible page (see features/peer-page.md).
The peer search entry has no accessible name. Address it as --role entry without --name; it is the only entry while no dialog is open. fill replaces its text and the sidebar filters as if the user typed.
press synthesizes AT-SPI key events. On GNOME Wayland those events often do nothing. Prefer action search-peers over press --key Control+f.
Store proof under .cursor/skills/verify-trayscale/artifacts/<feature>/. Cleanup deletes runs/ and does not delete artifacts/. Do not commit artifacts; they can contain peer names and Tailscale IPs.
Required for a UI proof:
frame 'Trayscale' or application 'trayscale') and the feature's end state.$CTRL snapshot --path .cursor/skills/verify-trayscale/artifacts/<feature>/after.tree.txt
$CTRL screenshot --path .cursor/skills/verify-trayscale/artifacts/<feature>/after.png --allow-failGNOME Shell on this kind of session returns AccessDenied for org.gnome.Shell.Screenshot. --allow-fail writes after.png.skipped.txt and continues. An AT-SPI snapshot is enough when the screenshot is denied.
Mocks: none. The window talks to the real tailscaled. If Tailscale is down, the offline page (Not Connected) is the correct UI. Do not fake IPN status.
$CTRL cleanupThis signals only the process group recorded at launch (the dbus-run-session pgid). It never pkill trayscale. Confirm the user's instance, if any, is still alive after cleanup.
--keep-run leaves the run directory for log inspection. Artifacts stay either way.
scripts/control-trayscale is executable. Commands: launch, doctor, cleanup, actions, action, snapshot, screenshot, find, click, select, fill, press, wait.
© DeedleFake, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 9 other files (scripts) in .cursor/skills/verify-trayscale of DeedleFake/trayscale.
Open the folder on GitHubat commit 33fa87a
Verify Trayscale 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 |
|---|---|---|---|---|---|---|
| Verify Trayscale this skillDeedleFake/trayscale | 1.1k | — | ~1.9k | Automated safety check: Pass | MIT | |
| Temporal Developerlatitude-dev/latitude-llm | 4.7k | — | ~1.5k | Automated safety check: Pass | MIT | |
| Install Mimi Remotegaixianggeng/mimi-remote | 104 | — | ~2.8k | Automated safety check: Pass | GPL-3.0 | |
| Workflow GenerateForestHubAI/edge-agents | 105 | — | ~3.2k | Automated safety check: Pass | AGPL-3.0 | |
| Releasing MarchatCod-e-Codes/marchat | 137 | — | ~801 | Automated safety check: Pass | MIT | |
| Modern Gosmallnest/goal-workflow | 290 | — | ~7.2k | Automated safety check: Pass | MIT |
latitude-dev/latitude-llm
This skill should be used when the user asks to "create a Temporal workflow", "write a Temporal activity", "debug stuck workflow", "fix non-determinism error", "Temporal Python", "Temporal…
gaixianggeng/mimi-remote
安装、配置、配对、迁移、升级、诊断、回滚或卸载 Mimi Remote;在 macOS 上安装和维护 Mimi Remote Mac 菜单栏 App / DMG,或通过 Homebrew、Linux user-systemd 部署 agentd;从源码构建 iPhone/iPad App;配置 Codex 主通道和可选 Claude Code 实验 Runtime。用户提出“安装 Mimi…
ForestHubAI/edge-agents
Generate a validated Edge Agents workflow JSON (.workflow.json) from a natural-language description — the node-graph that runs on Edge Agents edge/IoT agents, built from triggers (timer, startup…
Cod-e-Codes/marchat
Prepares marchat releases: version bumps, CHANGELOG, packaging checksums, GitHub Actions release workflow, and Docker tags.
smallnest/goal-workflow
Modernize Go code by applying version-appropriate idioms and APIs (gofix-style transformations).
coollabsio/coolify
A skill your agent uses whenever the user mentions Horizon by name in a Laravel context.
DeedleFake/trayscale
Regenerate cmd/trayscale/default.pgo by launching an isolated Trayscale, driving representative UI paths under PPROF, then replacing the profile.
Drive the Trayscale GTK 4 / Libadwaita desktop UI the way a user does. Verify Trayscale is an agent skill from DeedleFake/trayscale. Drive the Trayscale GTK 4 / Libadwaita desktop UI the way a user does.
Verify Trayscale fits situations like: proving a Trayscale UI change; checking the main window; the this-machine page; A peer page against a live tailscaled.
Run `npx skills add DeedleFake/trayscale --skill verify-trayscale -a claude-code`. Or copy the skill folder (.cursor/skills/verify-trayscale in DeedleFake/trayscale) into .claude/skills/verify-trayscale in your project. Claude Code loads it when a task matches its description.
Run `npx skills add DeedleFake/trayscale --skill verify-trayscale -a codex`. Or copy the skill folder (.cursor/skills/verify-trayscale in DeedleFake/trayscale) into .agents/skills/verify-trayscale 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 DeedleFake/trayscale --skill verify-trayscale -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/verify-trayscale, .gemini/skills/verify-trayscale, .github/skills/verify-trayscale and .opencode/skills/verify-trayscale in your project.
Going by SKILL.md and its folder, Verify Trayscale needs the command-line tools its instructions call (python3). Our summary lists: Python 3.
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. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Verify Trayscale is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.9k tokens (SKILL.md is roughly 7.8k 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 Verify Trayscale: Temporal Developer (latitude-dev/latitude-llm, 4.7k stars), Install Mimi Remote (gaixianggeng/mimi-remote, 104 stars), Workflow Generate (ForestHubAI/edge-agents, 105 stars) and Releasing Marchat (Cod-e-Codes/marchat, 137 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
DeedleFake (a GitHub user) maintains it in DeedleFake/trayscale, which has 1,052 GitHub stars. The repository holds 2 skills in this directory. The repository was last updated on October 9, 2026.
Source: DeedleFake/trayscale on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.