todos

todos is a skill for Claude Code, Codex from JetBrains/thinkrail. It costs 127 tokens per session (2,547 once invoked), scanned A, original, Apache-2.0.

A shared task plan for the current chat, shown in a TODO panel that both the user and the coding agent can edit. It groups the user's request into steps and tracks each step from pending to done.

In plain words
What is it for?
Use it to break a larger request into manageable steps, mark the active step, record notes about what counts as finished, and continue unfinished work across the conversation.
Why use it?
It keeps multi-step work visible and prevents tasks added during the conversation from getting mixed into the work already underway. The plan records completion criteria without becoming part of the code repository.

Skill for Claude CodeCodex

About the project

JetBrains/thinkrail is a desktop and mobile client that embeds the pi coding agent inside an interface for editing code and managing development workspaces. Developers use it to work on Git repositories through separate worktrees, a Monaco editor, terminals, Git views, specifications, and concurrent agent sessions. The catalogue entries are skills and instructions for its agent-based development workflow.

JetBrains/thinkrail · 413 stars · on GitHub · thinkrail.ai

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/jetbrains/thinkrail/todos
Any agent
npx skills add JetBrains/thinkrail --skill todos
Clone the repo
git clone --depth 1 https://github.com/JetBrains/thinkrail

Made for: Claude Code, Codex.

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 todos

README.md
[![agentmods](https://agentmods.dev/badge/skills/jetbrains/thinkrail/todos.svg)](https://agentmods.dev/skills/jetbrains/thinkrail/todos)
Your own site
<a href="https://agentmods.dev/skills/jetbrains/thinkrail/todos"><img src="https://agentmods.dev/badge/skills/jetbrains/thinkrail/todos.svg" alt="Measured on agentmods" height="20"></a>
Per session 127 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,547 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.1 $0.00127 $0.02547
Opus 5 $0.00063 $0.01273
Sonnet 5 $0.00025 $0.00509
Haiku 4.5 $0.00013 $0.00255

Measured today against content hash b69939fbceb4, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-05, from the pricing page.

Security

Grade A, and why

todos 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 today.

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.

packages/pi-todos/skills/todos/SKILL.md · 135 lines

How it starts

The opening of the file, as written. The whole thing — 135 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Chat TODO plan

What it is

  • A plan scoped to this chat — your tasks for the conversation. Shown to the user in the Todo panel; lives with the session (not committed to the repo).
  • Group = task, item = step. One user ask = one group; its title is the outcome ("Fix login redirect"), not the process. The steps inside are the items — each has a title, a status (pendingin_progressdone), and an optional note (put the done-criterion there, e.g. "login e2e green"). A task's own status is never stored — it derives from its steps.
  • Loose items are the user's lane — and they sit at the END of the plan. They hold what the user adds from the UI; you work them, but never group, rewrite, or drop them. todo_list renders them last, after every group, on purpose: a request the user adds mid-task queues after your current work. So finish (or resume) the task you're on before you pick up a loose item — don't jump to a freshly-added user item and abandon a step you had in progress. You don't author loose items (the tools require a group or an after anchor); a tiny ask is a small group (1–2 steps is fine), or no list at all.
  • It is shared and live: you maintain it, and the user edits it while you work — adding tasks, removing ones they've dropped. The stored list is the source of truth; what you remember is only a snapshot. Re-read it (todo_list) to stay in sync, don't trust your memory of it.
  • It is the user's status window — how they follow what's happening at a glance, without reading the chat. Short, concrete step titles; statuses always current.

Granularity

Size of the ask Shape in the plan
Trivial (an answer, one edit) no list at all
1–7 steps one group (a small ask = a 1–2-step group, that's fine)
more than ~10 steps those aren't steps, they're tasks — split into several groups

Steps are verifiable and ≈ commit-sized: "easy to check off as you go", not "phase 1".

Read the full file on GitHub · 135 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. today Changed · +12 lines b69939fbceb4
  2. 6d ago First seen · 123 lines · 127 tokens per session scan A 65de35fef2a2

Subscribe to this mod's changes

todos is a skill published in the GitHub repository JetBrains/thinkrail (413 stars, last pushed yesterday), licensed Apache-2.0. It adds 127 tokens to every session and 2,547 once invoked, about $0.0006 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-30.