Building a Claude Code Slash Command That Writes Your Daily Standup Updates

Published: (March 1, 2026 at 11:26 PM EST)
4 min read
Source: Dev.to

Source: Dev.to

Why I built a stand‑up slash command

I was tired of writing my daily stand‑up manually: opening Jira, scrolling through yesterday’s tickets, checking my git log, and trying to remember the work that never made it into a commit. It was a small annoyance that happened every morning.

Claude Code offers slash commands—custom markdown files placed in ~/.claude/commands/ that Claude picks up automatically. The community had many useful commands for git workflows and PR automation, but none for stand‑ups. I decided to create one.

How the /standup command works

Running /standup in any Claude Code session performs the following steps:

  1. Pulls git commits made since yesterday.
  2. Reads Claude Code’s session files (*.jsonl under ~/.claude/projects/) to capture work that didn’t result in a commit (debugging, documentation, failed attempts).
  3. Optionally connects to Jira via the Atlassian MCP to fetch ticket status.
  4. Formats the data into the classic Yesterday / Today / Blockers sections.
  5. Prompts whether to post the summary back to Jira.

Example output

📅 STANDUP UPDATE — March 1, 2026

YESTERDAY:
• Fixed authentication timeout bug (commit: ba28b5c)
• Investigated schema drift in orders pipeline — no commit yet
• Reviewed PR #47 for data contract changes

TODAY:
• PIPELINE-124: incremental load strategy (In Progress)
• Complete schema drift investigation

BLOCKERS:
• None

---
Post to Jira? (y/n):

The TODAY section is AI‑inferred from context, so a quick review is recommended before sharing.

Implementation details

Pulling git commits

git log --since=yesterday --oneline

Reading Claude Code session files

Claude Code continuously writes each session to ~/.claude/projects//*.jsonl. Even if a session crashes or the terminal is closed, the work is still recorded.

find ~/.claude/projects -name "*.jsonl" -newer ~/.standup_last_run -type f

These files provide the missing context that makes a stand‑up useful.

Optional Jira integration

If you want the command to post to Jira, first enable the Atlassian MCP transport:

claude mcp add --transport sse atlassian https://mcp.atlassian.com/v1/sse

If you skip this step, the command works fine with just git and session data.

Installation

git clone https://github.com/AyanPutatunda/claude-standup.git
mkdir -p ~/.claude/commands
cp claude-standup/commands/standup.md ~/.claude/commands/standup.md

Open Claude Code in any git repository and type /standup. No npm, no extra configuration, and no API keys are required.

Fixing the “run twice in one day” bug

The first version stored a full timestamp in ~/.standup_last_run, causing a second run on the same day to return nothing. The fix is to store only the date, resetting at midnight.

# Before — stored full timestamp (too aggressive)
echo $(date -u +%Y-%m-%dT%H:%M:%SZ) > ~/.standup_last_run

# After — store date only
echo $(date +%Y-%m-%d) > ~/.standup_last_run

Now you can run /standup multiple times per day and always get the complete picture.

Using Claude Code’s experimental Agent Teams

The command consists of four independent concerns:

  1. Git data collection
  2. Session file parsing
  3. Jira integration
  4. Output formatting

Each concern can be handled by a separate specialist agent. Enabling Agent Teams:

{
  "env": {
    "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1"
  }
}

Claude spawns four agents simultaneously, each writing to its own file. An orchestrator then assembles the final output. This approach reduced context‑switching and produced better results, though I’m not certain it’s the “right” way.

Future ideas

  • /retro – generate sprint retrospectives using the same approach
  • /debt – audit technical debt from TODOs and stale dependencies
  • /context-handoff – create end‑of‑session summaries for async teams

If any of these would be useful, the repository is open for contributions. I’m especially interested in format variants, as every team runs stand‑ups slightly differently.

Contributing

The project lives at:

If you encounter bugs, please open an issue. If the command works for you, a ⭐ on the repo helps others discover it.

0 views
Back to Blog

Related posts

Read more »

Google Gemini Writing Challenge

What I Built - Where Gemini fit in - Used Gemini’s multimodal capabilities to let users upload screenshots of notes, diagrams, or code snippets. - Gemini gener...