do

A command for implementing a focused GitHub issue from inside a Git worktree, an isolated working copy of a repository.

In plain words
What is it for?
It is for understanding an issue, checking whether it needs splitting, writing and testing the code, and committing the finished changes.
Why use it?
It separates coding from Gru’s automated GitHub tasks, such as claiming the issue, opening a pull request, and posting updates.

Command for Claude Code

Install

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.

agentmods
npx agentmods add commands/fotoetienne/gru/do
Clone the repo
git clone --depth 1 https://github.com/fotoetienne/gru

Made for: Claude Code.

Per session 12 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 1,019 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5 $0.00012 $0.01019
Opus 5 $0.00006 $0.00509
Sonnet 5 $0.00002 $0.00204
Haiku 4.5 $0.00001 $0.00102

Measured 2d ago against content hash 797df1d8a3dd, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

do 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 2d ago.

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.

.claude/commands/do.md · 110 lines

How it starts

The opening of the file, as written. The whole thing — 110 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Work on a GitHub issue.

Issue: $ARGUMENTS

When Running Under Gru

This command is being orchestrated by Gru. GitHub operations (claiming issue, creating PR, posting updates) are handled automatically. Focus on:

  1. understanding the issue (details provided by Gru)
  2. planning the implementation
  3. writing clean code
  4. testing thoroughly
  5. committing your changes

Gru will handle:

  • Fetching issue details
  • Creating pull requests
  • Posting status updates
  • Merging and cleanup

Workflow:

1. Check if Decomposition is Needed

  • Assess the issue's complexity:

    • Does it involve multiple distinct components or systems?
    • Does it have multiple acceptance criteria?
    • Would it take more than a few hours to complete?
    • Does it mix different types of work (backend + frontend + docs)?
  • If the issue is complex and should be broken down:

    • Recommend to the user: "This issue seems complex. Run /decompose $ARGUMENTS to break it into smaller sub-issues first."
    • Stop the fix workflow here - wait for user to decompose
  • If the issue is focused and ready to fix:

    • Proceed to the next step

2. Verify Worktree Setup

  • Confirm current directory is a git worktree with git rev-parse --git-dir
  • Check current branch matches expected pattern minion/issue-<number>-<minion-id>
  • If not in correct worktree, remind user to run /setup-worktree first

3. Plan the Fix

  • Explore the codebase to understand the relevant code
  • Create a detailed plan using TodoWrite with specific steps to fix the issue
  • Consider tests that need to be added or updated

4. Implement the Fix

  • Work through each todo item
  • Write clean, minimal code changes
  • Add or update tests as needed
  • Check CLAUDE.md for project-specific build/test commands
  • Run tests to verify the fix

5. Code Review

  • Make a commit with the changes, prefixing the commit message with your Minion ID (from the branch name), e.g. [M042] Fix null pointer in parser
  • Use the Agent tool with subagent_type='code-reviewer' to perform an autonomous code review
  • Wait for the review agent to complete and read its full output before proceeding
  • The code-reviewer agent will analyze the changes for:
    • Code correctness and logic errors
    • Security vulnerabilities
    • Error handling gaps
    • Edge cases
    • Adherence to project conventions (check CLAUDE.md)
    • Test coverage
  • Address any issues raised by the code-reviewer before proceeding
  • If the review identifies significant problems, iterate on the implementation
  • Do NOT push your branch or write PR_DESCRIPTION.md until you have read and addressed all review findings

Read the full file on GitHub · 110 lines

Changes

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.

  1. 2d ago First seen · 110 lines · 12 tokens per session scan A 797df1d8a3dd

Subscribe to this mod's changes

do is a command published in the GitHub repository fotoetienne/gru (11 stars, last pushed 25d ago), licensed Apache-2.0. It adds 12 tokens to every session and 1,019 once invoked, about $0.0001 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.