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 skills/cahenesy/throughline/implementnpx skills add cahenesy/throughline --skill implementgit clone --depth 1 https://github.com/cahenesy/throughlineWhat 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.00065 | $0.02314 |
| Opus 5 | $0.00032 | $0.01157 |
| Sonnet 5 | $0.00013 | $0.00463 |
| Haiku 4.5 | $0.00006 | $0.00231 |
Grade A, and why
build-tdds 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 — 197 lines — stays where its author put it; the contents beside it link to each section on GitHub.
/build-tdds
Interactive parent skill. It sequences workers; it is not a detached coprocess. Session survival is whatever the harness does.
1. Source helpers (fail closed)
Resolve the plugin tree from the first set of CLAUDE_PLUGIN_ROOT /
GROK_PLUGIN_ROOT, then source helpers. If any source fails, stop.
_tl_src="${CLAUDE_PLUGIN_ROOT:-${GROK_PLUGIN_ROOT:-}}"
. "${_tl_src}/scripts/lib/plugin-root.sh" || { echo "throughline: cannot source plugin-root.sh" >&2; exit 1; }
. "$(tl_plugin_root)/scripts/lib/verdicts.sh" || exit 1
. "$(tl_plugin_root)/scripts/lib/run-record.sh" || exit 1
. "$(tl_plugin_root)/scripts/lib/models.sh" || exit 1
REPO="$(git rev-parse --show-toplevel)"
REPO is the human session / integration checkout. Never pass the build worktree path as . Every tl_verdict_* and tl_run_* call uses "$REPO".
2. Lock (FR-18 / FR-43)
tl_run_lock "$REPO". If held by a live PID → refuse. If held by a dead
PID → tl_run_lock_reclaim "$REPO".
3. Resume vs fresh (FR-39 / FR-40)
If docs/tdd/.implement-logs/latest has a TDD whose status is not
terminal (done|failed|blocked|skipped):
Ask the user a structured question: Resume / Start fresh.
- Fresh: delete
lateststate fragments only (run.jsonand<slug>.json). Keep logs. Then continue at step 4. - Resume:
g="$(tl_run_next_gate "$REPO" "$run" "$slug")". Jump:test-first— if the build branch exists and has commits beyond integration, do not re-dispatch the implementer; run step 8 observe-only. If the branch has no commits beyond integration, dispatch the implementer (step 7) with "continue from existing branch".ci-checks— skip 7–8a; runci-checks.shonly (step 8b).runtime-verify— skip 7–8; run step 9 only.review— skip 7–9; run step 10 only.flip— skip 7–10; run step 11 only.
Never treat partial feat: commits as build-gate completion. The
test-first verdict file is the only build-complete signal.
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 First seen · 197 lines · 65 tokens per session scan A fc6e505e47e4
build-tdds is a skill published in the GitHub repository cahenesy/throughline (2 stars, last pushed 16d ago), licensed MIT. It adds 65 tokens to every session and 2,314 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
agent-release-swarm
Agent skill for release-swarm - invoke with $agent-release-swarm.
agent-code-analyzer
Agent skill for code-analyzer - invoke with $agent-code-analyzer.
agui-dotnet-streaming-chat
Get started with the AG-UI .NET SDK: bootstrap and run your first streaming-chat app (client + server) with the AG-UI .NET NuGet packages (AGUI.Client, AGUI.Server, AGUI.Formatting, AGUI.Abstractions). USE FOR: which packages to install and how to wire them; constructing an AGUIChatClient against an endpoint and…
agui-dotnet-sample-step
Add a GettingStarted sample Step (a Server/Client pair) to the AG-UI .NET SDK that demonstrates one protocol feature the way we want users to write it. USE FOR: adding a new samples/GettingStarted/StepNN Server+Client pair, wiring it into AGUI.slnx and the integration-test project, giving it a deterministic…
agui-dotnet-protobuf
Use the protobuf wire transport (instead of the default Server-Sent Events) for an AG-UI connection with the AG-UI .NET SDK — a compact binary event stream negotiated via the Accept header. USE FOR: making an AGUIChatClient prefer protobuf by wiring an AGUIEventStreamHandler with ProtobufEventStreamFormatter (then…
revdiff
Review diffs, files, and documents with inline annotations in a TUI overlay, or answer questions about revdiff usage, configuration, themes, and keybindings. Opens revdiff in tmux/zellij/herdr/kitty/wezterm/cmux/ghostty/iterm2/emacs-vterm, captures annotations, and addresses them. Works in git, hg, and jj repos…