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 commands/kharmanskyi/open-steps/os-install-checkgit clone --depth 1 https://github.com/kharmanskyi/open-stepsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/commands/kharmanskyi/open-steps/os-install-check)<a href="https://agentmods.dev/commands/kharmanskyi/open-steps/os-install-check"><img src="https://agentmods.dev/badge/commands/kharmanskyi/open-steps/os-install-check.svg" alt="Measured on agentmods" height="20"></a>What 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.00060 | $0.00656 |
| Opus 5 | $0.00030 | $0.00328 |
| Sonnet 5 | $0.00012 | $0.00131 |
| Haiku 4.5 | $0.00006 | $0.00066 |
Grade A, and why
os-install-check 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 today.
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 — 77 lines — stays where its author put it; the contents beside it link to each section on GitHub.
os-install-check
One job. Run the script, then say what it found. The script holds the truth. This command adds nothing to it and takes nothing away.
Language
The language the user speaks in this session, detected from the conversation - translate every label. File names, paths and setting names stay as they are.
Step 1 - run the script
bash "${CLAUDE_PLUGIN_ROOT}/doctor.sh"
Keep the exit code. The last line of the report needs it.
If the script does not run at all, say so and stop there. Never describe a result you did not see.
Step 2 - read the result back
The script prints one label at the start of every line. Keep the four apart.
| Label | What it means | How to report it |
|---|---|---|
ok |
It looked, and the thing is right | Good news |
FAULT |
It looked, and the thing is wrong | Bad news, in full |
not checked |
It could not look | Neither. Say nobody looked |
fact |
It looked, and there is nothing to judge | Neither. Just say it |
Open with one sentence. The install is sound, or it is not. Take that from the exit code, not from your reading of the lines.
Then up to three lists, in this order. Drop any list that is empty.
- What is wrong. Every
FAULTline. One line each, in the script's own words. - What nobody looked at. Every
not checkedline. Say plainly that it was not checked. - What is in place. Every
okline. Group them when there are many.
Add the fact lines where they help the reader. They are neither good news nor
bad.
Close with the exit code and what it means:
0 no fault found
1 the skills
2 the routing block
3 the hooks
4 the kill switches
9 faults in more than one of those
Hard rules - these rules are the command
- Report what the script printed. Add nothing to it.
- Never soften a fault. A fault is reported in full, in its own line.
- Never turn a "not checked" into a yes. Never turn it into a no either.
- Never call the install sound while the exit code is not zero.
- Decide nothing. Judge nothing. The script already did both.
- Asked what to do next, repeat what the fault line says and stop there.
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.
- today First seen · 77 lines · 60 tokens per session scan A e57dc3c1639b
os-install-check is a command published in the GitHub repository kharmanskyi/open-steps (194 stars, last pushed today), licensed MIT. It adds 60 tokens to every session and 656 once invoked, about $0.0003 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-09-03.
Other commands, from other repositories
cinematic-scroll
Build cinematic, scroll-driven websites with the cinematic-scroll skill — pinned chapter reveals, hero/multi-depth parallax, scroll-linked 3D tilt and camera moves, and environment-morphing backgrounds. From a single self-contained .html scroll section (Mode A) to a full Next.js release site with optional AI-generated…
xtension
Scaffold, wrap, port, audit, or document an X-Ways Forensics X-Tension (routes to the xways-xtension-authoring skill).
engage.actions
Execute Phase 7 - Actions on Objectives and Goal Achievement.
review
Cold re-quiz on code that already shipped — your own session commits, not the change in front of you.
qa
Smoke or browser-walk a running app. Report only. Do not implement. Do not merge.
diagram
Generate an Excalidraw architecture or flow diagram using the ExcaliClaude skill.