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/spair/task-pipeline/to-tasknpx skills add SpaiR/task-pipeline --skill to-taskgit clone --depth 1 https://github.com/SpaiR/task-pipelineWrote 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/spair/task-pipeline/to-task)<a href="https://agentmods.dev/skills/spair/task-pipeline/to-task"><img src="https://agentmods.dev/badge/skills/spair/task-pipeline/to-task.svg" alt="Measured on agentmods" 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 | $0.00033 | $0.03853 |
| Opus 5 | $0.00016 | $0.01927 |
| Sonnet 5 | $0.00007 | $0.00771 |
| Haiku 4.5 | $0.00003 | $0.00385 |
Grade A, and why
to-task 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 4d 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 — 136 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Distil the chat discussion so far (or a roadmap item) into .task/task/<slug>.md — ## Description only, no ## Plan. Lightest of the three capture skills (to-task / to-plan / to-roadmap): use it to record the "what and why" before implementing directly, or before to-plan later. The written file is the handle — no active-task pointer, no separate execution skill; a fresh session implements it by reading ## Execution.
Input: $ARGUMENTS — optional. Recognized forms:
- (empty) — draft from the chat discussion so far.
<roadmap-slug>or<roadmap-slug>#<N>— open from that roadmap item instead of the chat.- anything else — free-form context to fold into the draft alongside the chat discussion.
Step 0: Setup gate
Resolve the pipeline root, then check whether its CLAUDE.md exists:
source "${CLAUDE_PLUGIN_ROOT}/skills/_lib/resolve-ws.sh" # sourcing runs find_ai_dir → sets AI_DIR
echo "$AI_DIR" # the resolved root — use this value verbatim in every artifact path below
[[ -f "$AI_DIR/CLAUDE.md" ]] || echo "CLAUDE.md not found"
The helper walks task.root git config when that path already holds a .task/CLAUDE.md → ancestor .task/CLAUDE.md (the walk stops at the top of this project, so it never claims a neighbouring one's .task/) → dirname(git-common-dir)/.task → $CLAUDE_PROJECT_DIR/.task when that path already holds a CLAUDE.md → ./.task. Use ${CLAUDE_PLUGIN_ROOT} — a bare skills/… path resolves against the user's project cwd, where it does not exist.
The echoed value is normally absolute. In a project that is not a git repository and has no .task/ yet it can be the bare relative .task — the historical default; treat that as "unconfigured" and let the inline setup below establish <ROOT>/.task, rather than writing a cwd-relative artifact from a subdirectory.
Once .task/CLAUDE.md exists, every artifact path in this skill is under that resolved $AI_DIR, never the cwd — .task/task/<slug>.md below is shorthand for $AI_DIR/task/<slug>.md. A cwd-relative write from a subdirectory or a linked worktree would create a second .task/ that validate.sh (which resolves $AI_DIR itself) never sees. The inline setup below is the one exception: it runs before a root exists, writes to <ROOT>/.task, and records git config task.root "$ROOT" — which is exactly what $AI_DIR resolves to on every later run.
- Absent → inline setup. Read
${CLAUDE_PLUGIN_ROOT}/skills/_lib/setup.mdand follow it: detect the stack → write$AI_DIR/CLAUDE.mdfrom its template → recordgit config --local task.root→ exclude.task→ report what was written. No confirmation chip: the file is written first and edited afterwards if a detected value came out wrong.setup.mdis the single source of truth for the sub-steps and for the.task/CLAUDE.mdtemplate — do not restate either here. Then continue with the original$ARGUMENTSunchanged. - Present → leave it alone. The file is user-owned: never rewrite it, never re-detect its values, never "repair" a section you find missing. Only the two markers are restored silently when absent:
git config --local task.rootand the.taskline in.git/info/exclude. To regenerate the file from scratch, the user deletes it and re-runs any capture.
There is no full-scan validate call here — the file this run writes is validated after the write (Step 2.5 / Step 1a.6), and pre-existing artifacts are checked on demand with validate.sh all, never as an entry gate.
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.
- 4d ago First seen · 136 lines · 33 tokens per session scan A a134e1ea9d1c
to-task is a skill published in the GitHub repository SpaiR/task-pipeline (7 stars, last pushed 2d ago), licensed MIT. It adds 33 tokens to every session and 3,853 once invoked, about $0.0002 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
errata
Correct what was written wrong — the binding line rewritten in place, the record it came from appended to and never touched, both carrying the evidence that overturned it. Use when a run, a file, or the user contradicts something already written in a work file, a plan's contract, the glossary, or the decision index…
setup-working-genius
Per-repo configuration — pin the work-file directory, verify commands, and issue tracking, seed the project docs, and leave the pointer that tells every future session this project works this way.
domain-glossary
Maintain the project's shared vocabulary in CONTEXT.md — challenge conflicting terms, sharpen fuzzy language, record resolutions inline. Use when a term conflicts with or is missing from the glossary, when a decision names a new concept, or when another skill needs the glossary discipline.
decision-record
Keep the index of the project's settled decisions in .genius/DECIDED.md — one line per decision, pointing at the fight that settled it, earned by one test: would a future stranger re-fight this? Use when such a decision lands, when a design might contradict a settled one, or when another skill needs the index…
genius-file
Read and update Working Genius work files — the bounded snapshot a cold session acts on and the append-only log behind it. Use when a stage skill needs the work-file discipline, when the user asks what work is in flight or where a piece of work left off, or before resuming any work tracked under .genius/.
c-execute
Drives a draft-status plan to implemented. PM-and-sub-agent model — user's main session is the PM; fresh cadence-implementer per task; DAG-scheduled parallel lanes per Depends: edges with a Touches: conflict guard; two-stage review (cadence-spec-reviewer then cadence-code-reviewer, spec wins on conflicts); records…