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.
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/jetbrains/thinkrail/todosnpx skills add JetBrains/thinkrail --skill todosgit clone --depth 1 https://github.com/JetBrains/thinkrailWrote 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/jetbrains/thinkrail/todos)<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>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.00127 | $0.02547 |
| Opus 5 | $0.00063 | $0.01273 |
| Sonnet 5 | $0.00025 | $0.00509 |
| Haiku 4.5 | $0.00013 | $0.00255 |
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.
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
(
pending→in_progress→done), 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_listrenders 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 agroupor anafteranchor); 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".
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.
- today Changed · +12 lines b69939fbceb4
- 6d ago First seen · 123 lines · 127 tokens per session scan A 65de35fef2a2
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.
Other skills, from other repositories
workflow-helper
Guidance for creating, managing and executing workflow automations that chain multiple tools and agents together. Use when the user asks about building, listing, running or composing workflows and automated task pipelines.
schedule
Use when scheduling recurring cron jobs or one-shot background notifications.
fable-spark
Predict the smallest atomic next engineering action from current workspace state, evidence gates, and mutation freshness with situational silence. Use when evaluating what immediate atomic step to take next, checking situational awareness, or determining if the current state requires action or silence — even if the…
morning
Use when performing daily status check-ins, PR reviews, and morning workflow routines.
keybindings-help
Use when customizing terminal keybindings, shortcut mappings, or key combinations.
composio-delivery
Delivers the finalized analyst brief to Slack, Notion, Google Sheets, and Gmail via authenticated Composio tools. Use whenever a completed, grounded brief must be distributed and logged.