Morning
Open your terminal and start a Claude Code session in any project:
cd your-project
claudePick a task:
/morningClaude fetches tasks assigned to you and shows them as a selectable list:
? What would you like to work on?
❯ Add team member invite flow SGS-55 · high · linear · assigned
Fix friction map empty state SGS-52 · medium · linear · assigned
Update DORA calculations SGS-49 · low · linear · assigned
Type something.
Chat about thisIf no tasks are assigned to you, it shows unassigned tasks from the backlog that you could pick up.
Pick one. Claude creates a branch, updates the task to “In Progress” on your ticket system, and identifies related files.
One Task at a Time
Tandemu enforces a single active task. This isn’t about rigidity — it’s about measurement. When a task has a clear start and end, you get accurate cycle times and attribution.
If you try to run /morning in another window while a task is active, Tandemu offers to continue that task in the new repo:
You're currently working on Add team member invite flow (SGS-55).
What would you like to do?
❯ Continue here Keep working on this task in the current repo
Pause and pick another Run /pause first to switch tasksIf you choose “Continue here”, the current repo is added to the task’s repo list.
Work
Code as you normally would with Claude Code. Tandemu collects telemetry automatically in the background — you don’t need to do anything different.
What’s tracked:
- Session duration (start/end)
- AI-generated vs manually written code (via
Co-Authored-Bycommit tags) - Prompt loops (when you repeatedly ask Claude to fix the same issue)
- Tool execution errors
Pause a Task
Need to switch to something urgent? Pause first:
/pauseThis snapshots your progress, sends partial telemetry, sets the task back to backlog in your ticket system, and clears the active task so you can pick a new one with /morning.
Finish a Task
When you’re done:
/finishClaude checks for uncommitted work:
? You have uncommitted changes. What would you like to do?
❯ Commit now Stage and commit with a conventional commit message
Stash for later Stash changes so you can come back to them
Leave as-is Keep changes in working treeThen asks about the task:
? What's the status of this task?
❯ Done Task is complete — close it out and create a PR if needed
Coming back later Not finished yet — save progress and return to mainIf done, Claude:
- Measures the work — cycle time, lines changed, AI vs manual ratio
- Sends telemetry to the OTEL collector
- Updates the task to “Done” on your ticket system
- Offers to create a PR
- Shows your updated task board
Check the Team
At any point, check what’s happening across the team:
/standupOr see what’s blocking people:
/blockersMultiple Repos
Tandemu works across repos. Your ~/.claude/tandemu.json config is global, and the active task tracks which repos you’re working in.
- Start a task in
repo-A—/morning, pick a task - Open
repo-B—/morning, choose “Continue here” to add this repo - Run
/finishfrom either — it measures work across all tracked repos
The active task file (~/.claude/tandemu-active-task.json) is shared across all Claude Code windows, so every session sees the same state.
End of Day
Everything is already tracked. Your engineering lead can see:
- How many hours you were active
- What tasks you worked on
- Your AI usage ratio
- Any friction events
No standup reports to write. No timesheets to fill. No tickets to update manually.