Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/thesepehrm/offstage/offstage-qanpx skills add thesepehrm/offstage --skill offstage-qagit clone --depth 1 https://github.com/thesepehrm/offstageWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00094 | $0.01278 |
| Opus 5 | $0.00047 | $0.00639 |
| Sonnet 5 | $0.00019 | $0.00256 |
| Haiku 4.5 | $0.00009 | $0.00128 |
Grade A, and why
offstage-qa scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 112 lines — stays where its author put it; the contents beside it link to each section on GitHub.
QA a macOS app with offstage
offstage drives a macOS app in the background: the app never becomes
frontmost, and no synthetic input ever reaches the user's foreground. You
perceive through the accessibility tree, act through AXPress and a semantic
port, and verify against ground truth, not screenshots.
Prerequisites (check once per session)
offstage doctor
If offstage is not installed: pip install offstage (or pip install -e '.[dev]'
inside the harness repo). Doctor failing on a locked screen or missing
Accessibility or Screen Recording permission is a user action: report it
and stop; there is no programmatic workaround.
The app under test needs a manifest (JSON describing bundle id, app path,
socket, goldens). Look for *.manifest.json in the repo; if none exists,
create one from the reference in the harness docs (docs/manifest.md) and
validate it:
offstage validate <app>.manifest.json
The verbs
offstage start <manifest> # launch fresh (full state reset)
offstage restart <manifest> # relaunch WITHOUT reset (persistence check)
offstage stop <manifest>
offstage press <manifest> <ax-identifier>
offstage menu <manifest> <menu-title> <item-title>
offstage port <manifest> '<json>' # semantic action; app-specific commands
offstage observe <manifest> # compact JSON: AX rows, defaults, port state, a11y counts
offstage golden check <manifest> # canonical-state pixel diff (resets app state!)
offstage golden bake <manifest> # rewrite goldens (only when a visual change is intended)
offstage batch <manifest> <steps> # a whole step list in one call (see below)
Run journeys with batch, not verb-by-verb
One CLI call costs you a turn, so a ten-step journey costs ten. batch runs
the list in one process and returns one JSON result. Steps are the same verbs
plus expect <json-pointer> <expected-json>, which asserts against ground
truth and makes the batch self-judging.
offstage batch app.manifest.json '[
["start"],
["press","addNote"],
["expect","/defaults/notes.v1/0/title","\"Untitled\""],
["port","{\"cmd\":\"rename\",\"index\":0,\"title\":\"TOP\"}"],
["expect","/port/titles","[\"TOP\"]"]]'
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2d ago First seen · 112 lines · 94 tokens per session scan A a5ace7a92d19
offstage-qa is a skill published in the GitHub repository thesepehrm/offstage (5 stars, last pushed 15d ago), licensed MIT. It adds 94 tokens to every session and 1,278 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
agent-code-analyzer
Agent skill for code-analyzer - invoke with $agent-code-analyzer.
agui-dotnet-streaming-chat
Get started with the AG-UI .NET SDK: bootstrap and run your first streaming-chat app (client + server) with the AG-UI .NET NuGet packages (AGUI.Client, AGUI.Server, AGUI.Formatting, AGUI.Abstractions). USE FOR: which packages to install and how to wire them; constructing an AGUIChatClient against an endpoint and…
agui-dotnet-sample-step
Add a GettingStarted sample Step (a Server/Client pair) to the AG-UI .NET SDK that demonstrates one protocol feature the way we want users to write it. USE FOR: adding a new samples/GettingStarted/StepNN Server+Client pair, wiring it into AGUI.slnx and the integration-test project, giving it a deterministic…
agui-dotnet-protobuf
Use the protobuf wire transport (instead of the default Server-Sent Events) for an AG-UI connection with the AG-UI .NET SDK — a compact binary event stream negotiated via the Accept header. USE FOR: making an AGUIChatClient prefer protobuf by wiring an AGUIEventStreamHandler with ProtobufEventStreamFormatter (then…
seo
Optimize for search engine visibility and ranking. Use when asked to "improve SEO", "optimize for search", "fix meta tags", "add structured data", "sitemap optimization", or "search engine optimization".
release
Cut a sim-use release end-to-end. Use when the user runs /release or asks to "ship a release", "publish a version", "cut a release", or "release to homebrew". Drives scripts/local-release.sh; never reimplement its build/sign/tarball logic.