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 dominikwozniak/dw-solo-skills --skill dw-nextgit clone --depth 1 https://github.com/dominikwozniak/dw-solo-skillsWrote 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/dominikwozniak/dw-solo-skills/dw-next)<a href="https://agentmods.dev/skills/dominikwozniak/dw-solo-skills/dw-next"><img src="https://agentmods.dev/badge/skills/dominikwozniak/dw-solo-skills/dw-next/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/dominikwozniak/dw-solo-skills/dw-next"><img src="https://agentmods.dev/badge/skills/dominikwozniak/dw-solo-skills/dw-next.svg" alt="Reviewed on agentmods" width="80" 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.1 | $0.00066 | $0.01579 |
| Opus 5 | $0.00033 | $0.00790 |
| Sonnet 5 | $0.00013 | $0.00316 |
| Haiku 4.5 | $0.00007 | $0.00158 |
Grade A, and why
dw-next 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 yesterday.
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 — 106 lines — stays where its author put it; the contents beside it link to each section on GitHub.
dw-next — where we are, and the next slice
Everything comes from disk. Never reconstruct state from the conversation: a /clear, a closed
laptop or a week away must change nothing about the answer.
What it reads and writes
Reads .ai/work/<date>-<slug>/CHANGE.md (written by dw-shape), a HANDOFF.md beside it when a
session left one, any sibling file its ## References names, CONTEXT.md for the project's terms,
and the frontmatter of docs/decisions/ for the records binding the files a task edits — the
frontmatter, never the folder. Writes code, ticks the checklist,
appends to Notes, and commits. Find the active change by branch, never by guessing:
grep -l "^branch: $(git rev-parse --abbrev-ref HEAD)$" .ai/work/*/CHANGE.md 2>/dev/null
One match — that's it. Several — list them and ask. None — there is no change on this branch:
point at dw-shape and stop; never invent a task list to have
something to do.
Workflow
1. Report, always
A fixed shape, read from the file:
- Capsule — the goal, plus anything in Notes that changes the approach; ≤5 bullets.
- Tasks — one line each, tagged
[done]·[skipped: <why>]·[pending]; the first[pending]is the resume point. - References — each entry read or skipped, one line; read what the next task leans on first.
- Next move — one action.
A HANDOFF.md is read first and leads the report — it holds what a previous session already ruled
out. With status, stop here; that is the whole resume path, and it is deliberately cheap.
2. Confirm the task still fits
Check the next task against the repo as it is now; propose an amendment rather than building a stale task. Order is a hint — take a later task when this one is blocked, and say why.
3. Build one task — thin, end to end
- Narrow and complete — a vertical slice, never a whole layer; a second task is cheaper than a sprawling commit.
- Absorb what you find — a reversible, related, session-sized discovery is fixed now, as its
own commit. Only work that exceeds the session or the goal defers: a one-line Notes item, or —
above that bar — a
.ai/backlog/file withwhy-not-now:andeffort:. Never park a gap in this change's## Goal; shrinking the goal is the user's call. - Two fixes on one premise means the premise is the suspect — a second fix refused by the same gate as the first, resting on the same assumption, is evidence about the assumption. Write the premise down as one sentence and list every case that gate refused before writing a third fix. The premise stays the suspect until one of those cases refutes it — the gate refused it and the premise did not hold there — and the list is the evidence either way.
- No drive-by edits — outside the task and its absorbed fixes, touch nothing.
- Test the way the project does — failing test first where the task has a real assertion; say
so where it genuinely doesn't, instead of fabricating one. A test that also passes against the
unfixed code is not a test:
docs/decisions/0013set the bar at confirming each case by mutating the code back to the broken behaviour and watching exactly that case fail. - Follow the anchors, use the project's words — patterns from the doc, names from
CONTEXT.md. - Nominate a decision, never promote one — a call worth a record becomes one line in the doc's
## Decisionsin this task's commit: the call, why,(nominated).dw-landjudges it, because leg one — hard to reverse — is unanswerable from inside task two of six. A term is different:CONTEXT.mdhas no bar to clear, so write it now. - Read the decisions binding the file you are about to edit — where
## Decisionsdoesn't already carry them, read the records' frontmatter first, never the whole folder:status: activeplus atouches:matching the path, then act on that record'srule:verbatim. A record predating those fields is found by its slug, and its norm is the first sentence of its## Decision— the one case where you open the record itself. A norm you would have to soften to proceed is a reason to stop, not to proceed carefully. Nodocs/decisions/is no layer, not an empty answer: say which it was. - Leave it green — run the tests; lint and typecheck are hook-owned in this lane.
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.
- yesterday Changed · +13 lines 947c80858044
- 3d ago Changed · +9 lines 4fcd13b3421b
- 5d ago Changed · -2 lines · +10 tokens per session 4e9b52d832fc
- 8d ago Changed abd064c2ac19
- 12d ago First seen · 86 lines · 56 tokens per session scan A 68e32a788eef
dw-next is a skill published in the GitHub repository dominikwozniak/dw-solo-skills (2 stars, last pushed yesterday), licensed MIT. It adds 66 tokens to every session and 1,579 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-08-31.
Other skills, from other repositories
commit
Git commit workflow with precommit hook handling, lint/type checking, README updates, and API reference updates. Use when the user wants to commit changes. Handles precommit hooks that modify files (formatting, linting) by re-staging and retrying. Runs ruff lint and pyright type checks on staged Python files, and…
development-workflow
Detailed development workflow with modular patterns for git, review, testing, and deployment.
branch-and-worktree-workflow
Isolates feature work in its own branch or worktree and integrates it cleanly when done. Use this when starting work that should not disturb the current workspace, when several efforts must proceed in parallel on one repository, or when implementation is finished and the change needs merging, rebasing, or splitting…
ship-it
A GitHub workflow for finishing an implemented issue: commit the relevant changes, push a branch, create a pull request, merge it, and close the issue. GitHub is a service for hosting code and reviewing changes, and a pull request is a proposed change for review.
next-step
Change-aware next step advisor. Use when: user asks what to do next, workflow progression is unclear, session just started with dirty worktree. Not for: executing the suggested command (user decides), auto-loop decisions (hooks handle that). Output: findings-based suggestions or session summary with commit seed.
precommit
Pre-commit checks — lint:fix -> build -> test.