GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com โ€” GitHub - drolosoft/taskrail: A live wave board of your session's plan above the Claude Code prompt. A Claude Code mod.

BranchesTags
Open more actions menu

Latest commit

 

History

26 Commits
26 Commits

Folders and files

NameName
Last commit message
Last commit date
.claude-plugin
.claude-plugin
 
 
.github
.github
 
 
assets
assets
 
 
hooks
hooks
 
 
scripts
scripts
 
 
skills/running-waves
skills/running-waves
 
 
tests
tests
 
 
types
types
 
 
.gitignore
.gitignore
 
 
ARCHITECTURE.md
ARCHITECTURE.md
 
 
CHANGELOG.md
CHANGELOG.md
 
 
CONTRIBUTING.md
CONTRIBUTING.md
 
 
LICENSE
LICENSE
 
 
README.md
README.md
 
 
SECURITY.md
SECURITY.md
 
 

Repository files navigation

taskrail logo

taskrail

GitHub Release License: MIT Claude Code 2.1.287+

๐Ÿ›ค๏ธ A live board of your session's plan, right above the prompt.

taskrail is a Claude Code mod. When Claude works through a plan with several tasks, the board shows the waves, the tasks under each one and the state each task is in, updated by Claude itself as the work moves. You pick how much of it you see with /taskrail.

the taskrail board above the prompt


Install

claude plugin marketplace add drolosoft/claude-plugins
claude plugin install taskrail@drolosoft-marketplace

Start a new session, or run /reload-plugins. /plugin then lists it as 1 mod active ยท taskrail.

For one session with a local copy: claude --plugin-dir ./taskrail.

Modes

/taskrail โ€ฆ What the band shows
full The whole board: header, description, rail, tasks, key line and progress bar (the default)
bar One line: project, plan, time, a station per wave, the goal, ten tiles and the time left
both The whole board, and Claude also pastes it in the chat at every milestone
off Nothing in the band; Claude shows the board in the chat only when you ask

/taskrail alone answers the current mode. The choice is kept across sessions.

If you already have a skill or a command named taskrail, Claude Code keeps yours and refuses the mod's. The board and the three tools still work, in the mode last chosen; rename yours to get /taskrail back.

How Claude uses it

The mod registers three tools. Claude calls them on its own when it runs a plan with several tasks; you can also ask for them by name.

Tool What it does
plan Starts (or replaces) the board: project, title, goal, description and the waves with their task ids. Every task starts ๐Ÿฅš.
set Updates task icons by id, the key line, the goal, the title or the description. Its result tells Claude what the current mode asks of the chat. When a wave that has begun still has two or more tasks in ๐Ÿฅš and at most one running, the result adds one line saying so (never on the board), so Claude starts the independent ones at once.
show Returns the board as text, for the chat.

Icons: ๐Ÿฅš pending ยท ๐Ÿ”ง working ยท ๐Ÿ‘€ in review ยท ๐Ÿฉน fixing ยท ๐Ÿงช testing ยท ๐ŸŸฉ merged ยท ๐Ÿš€ shipped ยท ๐Ÿ”‘ needs you ยท ๐Ÿ‘ป missing ยท ๐ŸงŸ stale ยท ๐Ÿ’ฅ broken ยท ๐Ÿฅฑ idle ยท ๐Ÿ›‘ stopped. The header counts each of these icons in use. A wave's station is ๐ŸŸฉ when every task is merged; otherwise it shows the most pressing state among its tasks, in this order: ๐Ÿ›‘ ๐Ÿ”‘ ๐Ÿ’ฅ ๐ŸงŸ ๐Ÿ‘ป ๐Ÿฉน ๐Ÿ‘€ ๐Ÿงช ๐Ÿ”ง ๐Ÿš€, else ๐Ÿฅš. The "N of M" counts ๐ŸŸฉ only; the tiles are green for ๐ŸŸฉ, yellow for the running states (๐Ÿ”ง ๐Ÿ‘€ ๐Ÿฉน ๐Ÿงช, at least one tile while anything runs) and red for the rest. After the tiles, once the first task is done, a guess of the time left (7/14 ยท ~18m left): the wall time since the first task started, divided by the tasks done, is what one task costs with the waves running as they run, and every task not done owes that much less what it has already run. plan and set also take a note, the key line under the rail. set reads โœ… (and โœ”๏ธ, โ˜‘๏ธ) as ๐ŸŸฉ; any other icon outside this list is refused, the task keeps its icon and the result names the valid ones.

Each task keeps the time of its last move, when it first left ๐Ÿฅš and when it reached ๐ŸŸฉ or ๐Ÿš€. The full board and show print it after the task: how long it has run while it is under way (๐Ÿ”ง T4 ยท 12m), how long it took once it is done (๐ŸŸฉ T4 ยท 48m), in minutes under an hour and 1h12m above; nothing for a pending task or under a minute. A wave's column widens to fit its times. The header keeps the time of the last update, and the bar mode shows no task times. A plan saved by an earlier version draws as before: the tasks it had under way show no time, and its pending ones are timed once they start.

Running the waves fast

The plugin ships a skill, running-waves, that Claude loads when it runs a plan with several tasks. It holds the rules that keep the waves fast, measured on real runs: subagents never wait on each other's processes, each worktree has its own port and test server, anything long runs in the background, only the tests of what changed run while iterating, a server is not rebuilt when nothing changed, briefs are short, and independent plans run at once. Several tasks in ๐Ÿ”ง at the same time is the board working as intended; one ๐Ÿ”ง at a time means the waves are being run in series.

What moves on its own

Claude does not have to report everything. The mod listens to the engine's own agent events and moves a task when they are clear enough:

Event What the board does
A subagent is spawned whose description or name carries a task id (Implement T4) ties the agent to the task; a task nobody was on (๐Ÿฅš ๐Ÿฅฑ ๐Ÿ‘ป ๐ŸงŸ) becomes ๐Ÿ”ง
That agent asks you for a permission the task becomes ๐Ÿ”‘ while it waits
The agent calls its next tool the task takes back the icon it had; with nothing held, the call counts as news of the task
The agent's turn ends an answer hands a working task (๐Ÿ”ง ๐Ÿ”‘ ๐ŸงŸ) to ๐Ÿ‘€; an error or a refusal makes it ๐Ÿ’ฅ; an interruption ๐Ÿ›‘
Fifteen minutes go by with no set and no agent event touching a task in ๐Ÿ”ง ๐Ÿ‘€ ๐Ÿฉน ๐Ÿงช the task becomes ๐ŸงŸ; the key line stays as it was. The next set or event moves it on as usual
Five minutes go by since a task became ๐ŸŸฉ the task leaves the rows and the rows close up, so a long plan keeps the band short; the header, the stations, the "N of M" and the tiles still count it. A ๐Ÿš€ task stays in sight

The stale check runs once a minute, and also whenever the board is drawn. A task waiting for you (๐Ÿ”‘) never goes stale.

A task that is ๐ŸŸฉ or ๐Ÿš€ is never touched, and set still has the last word: an icon Claude sets stays until an event with something new to say. Name the task id in each Agent call's description and the board follows it.

The plan lives in the session's plugin state and in the plugin store under the session id, so it survives /resume, including a restart of Claude Code followed by --resume. /clear drops the plan along with the conversation, and a new session starts with no plan. The ties between agents and tasks live in the session only: agents do not survive a resume.

What it reads and writes

Nothing outside Claude Code. taskrail opens no network connection and reads or writes no file. It keeps the plan in the plugin's session state and in the plugin store, and draws it in the band above the prompt. When one of its hooks fails (a plan the renderer cannot draw, say) it writes one dim line under its name in the transcript and lets the event through; it never takes a turn, a tool call or the band down with it.

Requirements

  • Claude Code 2.1.287 or later.
  • Works in the terminal, the IDE extensions and the desktop app's Code tab. Mods do not run in the VS Code chat panel, in claude -p, or in cloud sessions.

Development

claude plugin validate --strict .
claude plugin test .
claude --plugin-dir .

Saving a file reloads the mod in a session started with --plugin-dir. Do not load the same mod from --plugin-dir and from the marketplace in one session: two plugins named taskrail would register the same tools twice.

Contributing

See CONTRIBUTING.md. Security reports go by email, see SECURITY.md.

License

MIT. Copyright (c) 2026 Drolosoft.

About

A live wave board of your session's plan above the Claude Code prompt. A Claude Code mod.

drolosoft.com/taskrail.html

Topics

claude-codeclaude-code-modclaude-code-plugintask-board

Resources

Readme
MIT license

Contributing

Contributing

Security policy

Security policy
Activity
Custom properties

Stars

0 stars

Watchers

0 watching

Forks

0 forks
Report repository

Releases

Packages

Contributors

Languages

You are visitor 01402520 โ€” GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800ร—600. No cookies required.