to-task

to-task is a skill for Claude Code, Codex from SpaiR/task-pipeline. It costs 33 tokens per session (3,853 once invoked), scanned A, original, MIT.

A capture command that turns a conversation or roadmap item into a task file containing only its description and purpose.

In plain words
What is it for?
Creating .task/task/<slug>.md files from the current chat, a roadmap item, or added context.
Why use it?
It records what needs to be done before implementation without forcing you to write a detailed plan immediately.

Skill for Claude CodeCodex

Installs and runs on its own, but its text points at files inside its plugin — anything it tells you to read at a ${CLAUDE_PLUGIN_ROOT} path is only there once the plugin is installed. Installing the plugin gets both.

Part of the task plugin — 8 skills, 8 agents shipped together

Install

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.

agentmods
npx agentmods add skills/spair/task-pipeline/to-task
Any agent
npx skills add SpaiR/task-pipeline --skill to-task
Clone the repo
git clone --depth 1 https://github.com/SpaiR/task-pipeline

Made for: Claude Code, Codex.

Or install task, the plugin that ships this one along with the rest of its 8 skills, 8 agents.

Wrote 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.

agentmods badge for to-task

README.md
[![agentmods](https://agentmods.dev/badge/skills/spair/task-pipeline/to-task.svg)](https://agentmods.dev/skills/spair/task-pipeline/to-task)
Your own site
<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>
Per session 33 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 3,853 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce 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

Measured 4d ago against content hash a134e1ea9d1c, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

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.

skills/to-task/SKILL.md · 136 lines

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.md and follow it: detect the stack → write $AI_DIR/CLAUDE.md from its template → record git 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.md is the single source of truth for the sub-steps and for the .task/CLAUDE.md template — do not restate either here. Then continue with the original $ARGUMENTS unchanged.
  • 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.root and the .task line 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.

Read the full file on GitHub · 136 lines

Changes

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.

  1. 4d ago First seen · 136 lines · 33 tokens per session scan A a134e1ea9d1c

Subscribe to this mod's changes

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.

Related

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…

donald-ada/workinggenius · 92 tokens

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.

donald-ada/workinggenius · 43 tokens

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.

donald-ada/workinggenius · 57 tokens

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…

donald-ada/workinggenius · 73 tokens

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/.

donald-ada/workinggenius · 69 tokens

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…

sentasity/cadence · 161 tokens