Borrowing it
Nothing to install: this file belongs to bredmond1019/claude-sdk-rs. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/bredmond1019/claude-sdk-rs/main/.agents/skills/sdlc-task/SKILL.mdgit clone --depth 1 https://github.com/bredmond1019/claude-sdk-rsWrote 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/bredmond1019/claude-sdk-rs/sdlc-task)<a href="https://agentmods.dev/skills/bredmond1019/claude-sdk-rs/sdlc-task"><img src="https://agentmods.dev/badge/skills/bredmond1019/claude-sdk-rs/sdlc-task/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/bredmond1019/claude-sdk-rs/sdlc-task"><img src="https://agentmods.dev/badge/skills/bredmond1019/claude-sdk-rs/sdlc-task.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.00029 | $0.15591 |
| Opus 5.5 | $0.00012 | $0.06236 |
| Sonnet 5.5 | $0.00006 | $0.03118 |
| Haiku 4.5 | $0.00003 | $0.01559 |
Grade A, and why
sdlc-task scanned grade A with 1 finding 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 11d 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.
Runs shell commandslowCapability
Expected in a hook, worth knowing in a rule or an instructions file.
r = subprocess.run(['mev', 'validate-brain', '--state'], capture_output=True, text=True) How it starts
The opening of the file, as written. The whole thing — 852 lines — stays where its author put it; the contents beside it link to each section on GitHub.
============================================================================= sdlc-task — the LEAN small-work engine (implement → test → fix → commit)
The cheap rung of the pipeline ladder, for one small unit of behaviour-changing
work (a /ticket or /chore). Runs a spec's task(s) through a tight per-task loop —
implement → fast gating-test → triage → fix (≤3 attempts, Opus on the last)
→ commit → [terminal authoritative reconcile] → lean bookkeep close-out
and nothing else. No scout, no separate review, no document stage, no ui-test, no
PR. The bookkeep close-out is deliberately lean: on a passing full run it flips the
authored status markers (tasks.md task status, the status.md Progress row, the
state.json block status) and — in place, on main — runs mev emit-state --write; it
does NOT write a log.md narrative, a D18 amendment log, or run review/docs/PR. Run
/log-work for the narrative. When you need a consolidated review + docs + a PR, use
/sdlc-flow; for a whole spec in place, /sdlc-run; for a roadmap, /sdlc-block.
TERMINAL AUTHORITATIVE RECONCILE (D56) — this engine's per-task tripwire runs
fastCommand in place of command (testDepth=fast, the default) and never runs a
perTask: false check at all, so those checks' real, authoritative form was never
verified anywhere in the run. After the last task passes on a full, non-bailed,
testDepth=fast run, ONE reconcile pass re-runs — with their real command, never
fastCommand — only the gates:true checks the per-task tripwire actually skipped:
those whose fastCommand differs from command, plus every perTask:false gating check.
Checks with no fastCommand already ran authoritative on every per-task pass and are
NOT re-run (redundant cost; see D56). Default-on, no flag, no harness.json opt-out —
see D56 for why. A failing reconcile bails into a distinct terminal state,
reconcile_failed: bookkeep does NOT run, the block is NOT flipped to done, and all
per-task commits stand. Resume (--resume, no task selection) re-enters with every
task already "passed" in state.json, so it naturally re-runs only the reconcile —
no separate resume path needed. Skipped entirely when testDepth=full (every check,
including perTask:false ones, already ran authoritative on every per-task pass — see
renderCheckList) or on a partial task-subset run (the existing fullRun guard).
ISOLATION Default: IN PLACE on the current branch (no worktree) — cheapest, like /sdlc-run. --worktree: SUSPENDED FLEET-WIDE (D81, 2026-08-23). The engine refuses the flag unconditionally and exits before any setup — no override, no environment escape hatch. Run on a plain branch instead. The worktree machinery survives intact for when D81 lifts.
USAGE /sdlc-task run every task in the spec, in place /sdlc-task 2 run only task 2 /sdlc-task 1-3 run a task range (1-3, 1,3,5, 5) /sdlc-task --resume resume from the committed state file /sdlc-task --test-depth full full gating suite per task (default: fast) (--worktree is refused per D81 -- do not pass it)
PIPELINE setup (locate repo / create worktree) → enumerate (D16 lint) → [resume load] → per-task loop → [terminal authoritative reconcile, D56] → lean bookkeep close-out (on pass) → final state commit
Per-task loop (sequential): implement → fast-test → (triage → fix/bail) ×≤3 → one state write per task A triage MAJOR / immediate-bail reason breaks straight out (does NOT burn the remaining attempts); the run stops and reports for human pickup.
Terminal reconcile (D56, after every task passes on a full, testDepth=fast run):
re-run, with their authoritative command, only the checks the fast tripwire
substituted (fastCommand) or skipped (perTask:false) → on failure, status
"reconcile_failed" — bookkeep is skipped, the block is NOT flipped to done.
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.
- 11d ago First seen · 852 lines · 29 tokens per session scan A 5f8b3c65bef7
sdlc-task is a skill published in the GitHub repository bredmond1019/claude-sdk-rs (23 stars, last pushed 1mo ago), licensed Apache-2.0. It adds 29 tokens to every session and 15,591 once invoked, about $0.0001 per session on Opus 5.5. A static security scan graded it A with 1 finding (runs shell commands). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-10-26.
sdlc-task compared with skills from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| sdlc-taskbredmond1019/claude-sdk-rs | Skill | 23 | 1mo ago | Apache-2.0 | A | 29 | Claude Code, Codex |
| github-copilot-upgradermicrosoft/vscode | Skill | 195k | yesterday | MIT | A | 18 | Claude Code, Codex |
| workflow-patternswshobson/agents | Skill | 42k | yesterday | MIT | A | 35 | Claude Code |
| meta-pre-commit-quality-gateopensquilla/opensquilla | Skill | 7.1k | 6d ago | Apache-2.0 | A | 68 | Claude Code, Codex |
| verify-commitinfinispan/infinispan | Skill | 1.4k | today | Apache-2.0 | A | 52 | Claude Code |
| nw-quality-frameworknWave-ai/nWave | Skill | 631 | yesterday | MIT | A | 23 | Claude Code |
| verify-akashic-pluginkachofugetsu09/akashic-agent | Skill | 518 | today | MIT | A | 53 | Claude Code, Codex |