Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Framework + minimal example for Sutando desktop overlay applications — always-on-top, frameless Electron windows that float over the desktop, controllable from the Sutando web UI's /overlays manager. Ships one example overlay (System Resources). Add new overlays by registering them in app/main.js.
.claude/skills/sonichi-overlay-apps/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-11 | ✗→✓ | ▲ Improved | -51% | 0% |
| case-01 | ✗→✓ | ▲ Improved | -11% | 0% |
| case-02 | ✗→✓ | ▲ Improved | -18% | 0% |
| case-03 | ✗→✓ | ▲ Improved | -13% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 4% | 0% |
A small framework for Sutando desktop overlays: always-on-top, frameless, transparent Electron windows that float over whatever you're working on, controllable from the web UI's /overlays manager view.
The framework gives you, for free:
(open / close / show / hide / opacity / always-on-top).
choice persists across restarts.
another app, restore to their configured opacity when you click an overlay back.
OVERLAYS registry — add a new overlay by registering it.Building or running a Sutando desktop overlay — an always-on-top, frameless floating window controllable from the web UI /overlays manager. Use this framework (register in the OVERLAYS registry) rather than hand-rolling an Electron window. Not for normal app windows or the menu-bar app.
/overlays manager canopen/close/show/hide/opacity it; placement persists across restarts.
app/main.js OVERLAYS and that scripts/launch.sh synced source → workspace + installed deps.One example overlay: System Resources — live CPU / memory / disk / network / load (Cmd+Shift+S). The framework is overlay-agnostic; the example is just a working starting point.
skills/overlay-apps/app/ (in the repo).<workspace>/overlay-apps/benchmark-overlay/— node_modules and any local state live here, not in the repo. Code in the repo, mutable runtime in the workspace, per the Sutando workspace contract. <workspace> resolves via bash scripts/sutando-config.sh workspace (M0 helper, PR #1395) — defaults to <repo>/workspace/.
scripts/launch.sh syncs source → workspace, installs dependencies, and starts the app.
bashbash skills/overlay-apps/scripts/launch.sh
Requires Node.js.
app/<your>.html and app/<your>-renderer.js.OVERLAYS in app/main.js:js yourId: { name: 'Your Overlay', file: 'your.html', w: 320, h: 380, shortcut: 'CommandOrControl+Shift+Y', win: null, config: { opacity: 1, alwaysOnTop: true }, },
main.js and expose itvia preload.js; renderers call window.overlay.<your-method>().
That's it — control-server, manager-UI, multi-display and auto-dim all pick it up automatically.
The app runs a localhost control server (port 7849+) and writes a discovery file to <workspace>/state/overlay-control.json. The web UI's /overlays view proxies to it. Endpoints:
| Method | Path | Purpose | |--------|-----------------------------------------|--------------------------------------| | GET | /overlays | list overlays + state + bounds | | GET | /displays | connected monitors | | POST | /overlays/:id/{open,close,show,hide} | window lifecycle | | POST | /overlays/:id/config | {opacity, alwaysOnTop} | | POST | /overlays/display | {index} — move all to a display |
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-04 | pass→pass | 32,508 | 7,297 | -78% | 1 | 1 | 0% | 2,231 | 2,225 | -0% | 0 | 0 | — |
case-11 | fail→pass | 17,827 | 1,918 | -89% | 1 | 1 | 0% | 2,624 | 1,274 | -51% | 0 | 0 | — |
case-01 | fail→pass | 18,122 | 12,842 | -29% | 1 | 1 | 0% | 3,385 | 3,021 | -11% | 0 | 0 | — |
case-02 | fail→pass | 9,692 | 2,112 | -78% | 1 | 1 | 0% | 1,598 | 1,312 | -18% | 0 | 0 | — |
case-03 | fail→pass | 14,368 | 6,259 | -56% | 1 | 1 | 0% | 2,380 | 2,070 | -13% | 0 | 0 | — |
case-05 | pass→pass | 14,918 | 6,772 | -55% | 1 | 1 | 0% | 2,512 | 2,108 | -16% | 0 | 0 | — |
case-06 | fail→pass | 24,261 | 18,269 | -25% | 1 | 1 | 0% | 4,537 | 4,721 | +4% | 0 | 0 | — |
case-07 | fail→pass | 12,990 | 5,039 | -61% | 1 | 1 | 0% | 2,267 | 1,838 | -19% | 0 | 0 | — |
case-08 | fail→pass | 25,746 | 2,322 | -91% | 1 | 1 | 0% | 1,827 | 1,348 | -26% | 0 | 0 | — |
case-09 | fail→pass | 11,187 | 2,612 | -77% | 1 | 1 | 0% | 1,829 | 1,400 | -23% | 0 | 0 | — |
case-10 | pass→pass | 7,251 | 1,765 | -76% | 1 | 1 | 0% | 1,015 | 1,207 | +19% | 0 | 0 | — |
case-12 | pass→pass | 7,788 | 2,465 | -68% | 1 | 1 | 0% | 1,296 | 1,402 | +8% | 0 | 0 | — |
case-13 | fail→pass | 6,755 | 2,500 | -63% | 1 | 1 | 0% | 913 | 1,368 | +50% | 0 | 0 | — |
case-14 | pass→pass | 13,984 | 1,245 | -91% | 1 | 1 | 0% | 2,065 | 1,107 | -46% | 0 | 0 | — |
case-15 | fail→pass | 12,512 | 1,290 | -90% | 1 | 1 | 0% | 1,923 | 1,130 | -41% | 0 | 0 | — |
case-16 | fail→pass | 11,245 | 2,799 | -75% | 1 | 1 | 0% | 1,849 | 1,441 | -22% | 0 | 0 | — |
case-17 | fail→pass | 8,368 | 3,042 | -64% | 1 | 1 | 0% | 1,371 | 1,486 | +8% | 0 | 0 | — |
case-18 | fail→pass | 16,044 | 1,416 | -91% | 1 | 1 | 0% | 2,352 | 1,153 | -51% | 0 | 0 | — |
case-19 | fail→pass | 22,731 | 2,330 | -90% | 1 | 1 | 0% | 3,739 | 1,246 | -67% | 0 | 0 | — |
case-20 | pass→pass | 10,451 | 1,858 | -82% | 1 | 1 | 0% | 1,800 | 1,280 | -29% | 0 | 0 | — |
case-21 | pass→pass | 4,130 | 1,425 | -65% | 1 | 1 | 0% | 569 | 1,185 | +108% | 0 | 0 | — |
case-22 | pass→pass | 8,395 | 1,295 | -85% | 1 | 1 | 0% | 1,207 | 1,151 | -5% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +64 percentage points is the difference between those two pass rates over the 22 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.