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 skills add kharmanskyi/open-steps --skill os-done-or-notgit 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/skills/kharmanskyi/open-steps/os-done-or-not)<a href="https://agentmods.dev/skills/kharmanskyi/open-steps/os-done-or-not"><img src="https://agentmods.dev/badge/skills/kharmanskyi/open-steps/os-done-or-not/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/kharmanskyi/open-steps/os-done-or-not"><img src="https://agentmods.dev/badge/skills/kharmanskyi/open-steps/os-done-or-not.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 1 finding, up to medium
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- medium Rogue Agent · line 94 Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.Fix: Remove any persistence mechanisms (cron jobs, startup scripts, state files). Skills should not maintain state across sessions without explicit user consent.
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.1 | $0.00127 | $0.01694 |
| Opus 5 | $0.00063 | $0.00847 |
| Sonnet 5 | $0.00025 | $0.00339 |
| Haiku 4.5 | $0.00013 | $0.00169 |
Grade A, and why
os-done-or-not 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 9d 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 — 153 lines — stays where its author put it; the contents beside it link to each section on GitHub.
os-done-or-not
One question, one screen: did the agent finish, and what actually happened
- in words a reader who does not code will understand. Nothing happened (pure questions, no files touched) → one line saying so, no report.
Language
The language the user speaks in this session, detected from the conversation
- translate every template label. Code, files, commands stay English.
Step 1 - gather proof that takes seconds
Fast checks only; never re-run the test suite - use results this session already produced. Not confirmable in seconds, or still running → "not checked", never "yes".
git status --porcelain # uncommitted?
git log --oneline -10 # what landed
git log origin/HEAD..HEAD --oneline 2>/dev/null # unpushed?
gh pr view --json state,mergeStateStatus && gh pr checks # if a PR exists
Step 2 - name the outcome
Sessions end one of eight ways; pick the match before writing, or the report says "fully done: yes" and "safe to close: no" in the same breath.
| # | Outcome | Verdict shape |
|---|---|---|
| 1 | Shipped and verified | done Yes · nothing needed · close Yes |
| 2 | Done - one action is yours | done Yes · needed = that action · close Yes |
| 3 | Stalled on your decision | done No · needed = the decision · close No |
| 4 | Partly done, rest deferred | core Yes, rest recorded as debt · close Yes |
| 5 | Didn't work - rolled back | done No · lead = what was learned · close Yes |
| 6 | Something broke | lead opens with ⚠️ · risk in full (rule 7) · close No |
| 7 | Research only | the answer is the result · skip ship rows · close Yes |
| 8 | Nothing to report | one line, no report, no file |
Outcomes 5 and 6 are where reports start lying; "the approach failed and was rolled back" is a complete result.
Step 3 - write the report (translate the labels, keep the shape)
<Lead: 1–2 sentences. What changed for the product. Best result first.>
| | |
|---|---|
| ✅ | <done, and what proves it> |
| ⚠️ | <surprise or bad news> |
| ⏳ | <deferred, and until when> |
**Verdict**
| | |
|---|---|
| Fully done? | Yes / No / Not checked |
| Anything needed from you?| No / <one concrete action> |
| New debt? | No / <how many, where recorded> / Not checked |
| Safe to close? | Yes / No - <reason in five words> |
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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.
- 9d ago First seen · 153 lines · 127 tokens per session scan A 5b88be966c8f
os-done-or-not is a skill published in the GitHub repository kharmanskyi/open-steps (305 stars, last pushed 2d ago), licensed MIT. It adds 127 tokens to every session and 1,694 once invoked, about $0.0006 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-30.
Other skills, from other repositories
命理解读师
A Chinese-language Zi Wei Dou Shu birth-chart interpretation guide, a form of traditional Chinese astrology based on birth details. It presents results as possible patterns rather than certain predictions and can include a chosen year's outlook.
travel-plan-viz
A tool that turns a travel plan into a single HTML page designed for phones and offline reading. The page can include an interactive map, a daily timeline, and reminders to book things before departure.
cinematic-scroll
Build or improve cinematic websites with scroll-driven storytelling, pinned reveals, parallax, kinetic type, and optional 3D. Deliver standalone HTML or integrate into an existing app, with mobile and reduced-motion fallbacks and browser evidence. Also supports scroll audits and motion storyboards. Use for cinematic…
Linear
Managing Linear issues, projects, and teams. Use when working with Linear tasks, creating issues, updating status, querying projects, or managing team workflows.
gpt-image2-ppt
A tool for creating presentation slides as high-resolution images and packaging them into a 16:9 PowerPoint file. It turns a Markdown outline or slide plan into a styled deck using OpenAI image generation.
majia-guanyuan
A practical extension layer for Guandata BI, a business-intelligence platform used to query data, build charts, and publish dashboards. It covers advanced data-pipeline work and custom HTML, CSS, and JavaScript dashboards beyond the standard tools.