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-flow/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-flow)<a href="https://agentmods.dev/skills/bredmond1019/claude-sdk-rs/sdlc-flow"><img src="https://agentmods.dev/badge/skills/bredmond1019/claude-sdk-rs/sdlc-flow/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-flow"><img src="https://agentmods.dev/badge/skills/bredmond1019/claude-sdk-rs/sdlc-flow.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.00040 | $0.03968 |
| Opus 5.5 | $0.00016 | $0.01587 |
| Sonnet 5.5 | $0.00008 | $0.00794 |
| Haiku 4.5 | $0.00004 | $0.00397 |
Grade A, and why
sdlc-flow 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 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.
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 — 202 lines — stays where its author put it; the contents beside it link to each section on GitHub.
============================================================================= sdlc-flow — single-branch, single-review, PR-terminating SDLC engine
The default engine for non-trivial feature work. Runs one spec's tasks SEQUENTIALLY on a SINGLE shared branch (so there are no inter-task merges to conflict — sdlc-block's #1 failure mode), with a per-task test→fix loop, ONE consolidated review at the end, a docs patch, and a PR as the terminal step.
ISOLATION MODE Default: a plain branch (-flow) checked out IN THE MAIN WORKING TREE. No sparse-checkout worktree, so a relative planning/ symlink (brain-vaulted repos) stays intact. main is left on the branch until the PR merges. --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 sparse-checkout worktree machinery survives intact for when D81 lifts.
A compact, COMMITTED, AUTHORITATIVE state.json + one worklog.md replace the 5×N per-stage report files: resume + review + wrap-up read a structured index instead of re-reading verbose prose. This inverts the harness's usual "committed report files are authoritative, state JSON is gitignored" rule on purpose (see D31).
USAGE /sdlc-flow run every task in the spec, open a PR, stop /sdlc-flow 1-3 scope to a task range (1-3, 1,3,5, 5) /sdlc-flow --auto-merge merge the PR + clean up on success /sdlc-flow --no-pr stop after wrap-up; do not create a PR /sdlc-flow --resume re-attach the branch, resume from state.json (--worktree is refused per D81 -- do not pass it) /sdlc-flow --test-depth full run the FULL gating suite per task (default: fast)
PIPELINE worktree-setup → enumerate (D16 lint) → [resume load] → per-task loop → end-review → docs (gated on PASS) → wrap-up(PR)
Per-task loop (sequential, on the one branch): implement → fast-test → (triage → fix/bail) ×≤3 One state-commit per task. A triage MAJOR / immediate-bail reason breaks straight to wrap-up (draft PR) — it does NOT burn three attempts.
End-review: ONE review over the integrated tree, fed state.json as the index but
reading git diff <prBase>..HEAD + the spec's acceptance criteria directly (the block record's
acceptance_criteria array when D65's block record is the spec source, else tasks.md's
## Acceptance Criteria prose) + re-running the
FULL gating suite (authoritative). PASS → docs; FAIL/PARTIAL → triage findings:
small/localized → bounded fix→test→review (≤2, Opus last); broad → bail.
COMMIT STRATEGY (crash recovery — everything lands on the branch) feat: implement task N implement agent (per task) fix: fix pass P for task N fix agent (per pass) chore: flow state — state-writer (state.json + worklog.md + checkbox) docs: update docs for docs agent chore: wrap up wrap-up agent (status/log/amendment-log)
COMMIT-SAFETY GUARD (BT.ticket.worktree-run-can-commit-an-empty-tree) — run before EVERY git commit
in this pipeline, joined with && in the SAME shell call as the commit (a separate preceding call
runs in a different process whose inherited git environment may differ, which is the whole failure
mode this guards against). The one exception is the worktree-init --allow-empty commit — its index
is legitimately populated right after checkout, so the guard cannot fire there. Run the identical
check against the vault repo (git -C <vault planning path> in place of git) before any vault
commit too:
if git rev-parse --verify -q HEAD >/dev/null; then TRACKED=$(git ls-tree -r HEAD --name-only | wc -l | tr -d ' '); STAGED=$(git ls-files -s | wc -l | tr -d ' '); if [ "$TRACKED" -gt 0 ] && [ "$STAGED" -eq 0 ]; then echo "COMMIT_GUARD_ABORT: index holds 0 entries but HEAD tracks $TRACKED files - refusing to commit a tree that deletes everything (BT.ticket.worktree-run-can-commit-an-empty-tree)"; exit 1; fi; fi
If this prints COMMIT_GUARD_ABORT, STOP — do not run the commit; the index is empty against a
non-empty HEAD, which is exactly the shape that deletes every tracked file.
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 · 202 lines · 40 tokens per session scan A 105166739f77
sdlc-flow is a skill published in the GitHub repository bredmond1019/claude-sdk-rs (23 stars, last pushed 1mo ago), licensed Apache-2.0. It adds 40 tokens to every session and 3,968 once invoked, about $0.0002 per session on Opus 5.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-10-26.
sdlc-flow compared with skills from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| sdlc-flowbredmond1019/claude-sdk-rs | Skill | 23 | 1mo ago | Apache-2.0 | A | 40 | Claude Code, Codex |
| research-engineerdavila7/claude-code-templates | Skill | 33k | yesterday | MIT | A | 43 | Claude Code, Codex |
| tika-eval-compareapache/tika | Skill | 4.1k | yesterday | Apache-2.0 | A | 50 | Claude Code, Codex |
| cua-driverdavidondrej/skills | Skill | 4.3k | 3d ago | MIT | A | 68 | Claude Code, Codex |
| jetson-validate-imageNVIDIA/skills | Skill | 3.9k | yesterday | Apache-2.0 | B | 50 | Claude Code, Codex |
| atmos-validationcloudposse/atmos | Skill | 1.4k | yesterday | Apache-2.0 | A | 31 | Claude Code |
| tddcodewithmukesh/dotnet-claude-kit | Skill | 805 | 2d ago | MIT | A | 81 | Claude Code |