simonholliday

Subroutine — Productivity skill for Claude Code

Productivity community

A self-hosted, agent-native task and decision tracker for people and coding agents working on complex projects.

How to install Subroutine

This entry records only its repository, not the path inside it, so there is no exact command to give. Open simonholliday/subroutine and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

What Subroutine does

A self-hosted, agent-native task and decision tracker for people and coding agents working on complex projects. Install it, tell Claude "we use Subroutine now", and you never type a ticket.

Alternatives in Productivity

  • Linear - Ticket Management — You are tasked with managing Linear tickets, including creating tickets from thoughts documents, updating exis 10k ★
  • Ticket Workflow — Work on ticket: $ARGUMENTS 5.8k ★
  • /strategy — Run an end-to-end strategy workflow with decision-quality outputs 2.3k ★

README

Subroutine

**A self-hosted, agent-native task and decision tracker for people and coding agents working on complex projects.**

Designed from the ground up so that a coding agent is a first-class user rather than an add-on: agents get accounts of their own, can file and claim work, and document findings. An agent learns the tool while using it.

Setup takes about a minute, and that is it

**Four commands, and most of the minute is waiting for downloads.**

$ uv tool install subroutine
$ subroutine init
$ claude plugin marketplace add simonholliday/subroutine
$ claude plugin install subroutine@subroutine

The first two put the program on your machine and make your instance; the last two give Claude Code the tools and the skill. **Adding the marketplace needs Git**, because that command clones a repository - the one prerequisite here that is Claude Code's rather than ours.

**Then start a fresh Claude Code session and tell it *"we use Subroutine now"*. That sentence is the setup.**

The skill that ships with the plugin has a section for exactly that moment, and its first instruction is to **ask only what cannot be undone and state the rest**. So your agent looks for an existing project before making one, proposes a key instead of interviewing you about it, skips the workspace question when there is only one workspace, marks the checkout so later sessions do not have to work out where they are, and writes a pointer into whichever file your agent reads at startup, so the next session finds all of it without being told.

From there you talk to your agent rather than to Subroutine: *"file that as a bug"*, *"what can I actually start?"*, *"what did we decide about retries?"*, *"write down why we rejected the other approach."* You never type a ticket, and you never have to learn a command to get any of what follows.

Keeping an eye on the work

You will want to see what is happening, though. Run `subroutine serve`, then `subroutine login link` for a