tm-marathon-config-example

Example Marathon Configuration for CLAUDE.md - copy the section below into your project's CLAUDE.md

SKILL.md

GitHub

Marathon Configuration Example

Copy the ## Marathon Configuration section below into your project's CLAUDE.md file. The /tm and /issues skills read this section to configure marathon mode for your specific codebase.

If this section is missing, /tm uses these defaults:

  • Base branch: main
  • Required approvals: 1
  • No bot reviewer rules
  • No retro log

Marathon Configuration

Project-specific settings for /tm marathon mode.

Branch and Merge

  • Base branch: main
  • PR target branch: main
  • Required approvals: 1 (minimum for auto-merge)
  • Markdown-only PR approvals: 1

Bot Reviewers

<!-- Remove any bots you don't use. Add entries for any custom bots. -->

Three optional per-bot fields drive pr-review-merge Ready Criterion 6 (bot re-review of the head SHA):

  • Re-reviews on push: yes|no - opt-in, no by default. yes means the PR is not ready until this bot has completed its pass on the current head SHA. Bots without yes are never waited on. Turn it on only for a bot that reliably re-reviews every push and whose findings you want before merge (for example an AI reviewer on AI-authored changes); leave it no for a bot that is rate-limited or often skips re-reviews, or every PR stalls for the full max wait.
  • Max wait for re-review: <duration> - upper bound (e.g. 10m) measured from when the head commit was pushed (its earliest check-suite creation). When Re-reviews on push: yes and this field is absent, the bound is 15m. When it expires the criterion passes with a warning naming the bot in the merge record.
  • Re-review check name: <check-run name> - set when the bot's pass shows up as a check run (for example a GitHub Actions reviewer job) rather than a submitted review. The criterion then reads only the check run of that name on the head SHA: in progress means keep waiting until the max wait expires; completed with conclusion success satisfies the criterion; completed with conclusion skipped means the bot does not apply to this PR, which satisfies the criterion with no warning; completed with any other conclusion (failure, cancelled, neutral, timed_out) is a settled verdict that the bot did not complete a green pass, so the criterion passes at once with a warning in the merge record. Nothing holds forever on an advisory bot.

CodeRabbit (coderabbitai[bot]):

  • Re-reviews on push: no
  • Max wait for re-review: 10m (inert while Re-reviews on push is no; the bound that applies if flipped to yes)
  • Fix code and push. CodeRabbit re-reviews automatically and resolves its own threads.
  • NEVER reply in CodeRabbit threads - CodeRabbit ignores replies from other bots.
  • If request_changes_workflow is enabled: CodeRabbit submits CHANGES_REQUESTED reviews that GitHub does not auto-dismiss on re-review. Every PR needs stale bot CR dismissal before merging.

claude[bot] (claude[bot]):

  • Re-reviews on push: no
  • Max wait for re-review: 20m (inert while Re-reviews on push is no; the bound that applies if flipped to yes)
  • Re-review check name: claude-review (example for an Actions-hosted reviewer; set to the reviewer job's check-run name, used once Re-reviews on push is yes)
  • Resolve threads via GraphQL after addressing the feedback.

Human reviewers:

  • Fix code, reply inline, @mention reviewer. Do NOT resolve human threads - let the reviewer confirm.

CI Patterns

<!-- Document your CI quirks so teammates don't waste time investigating known issues. -->
  • Known flaky tests: (list any tests that fail intermittently on CI but are not real failures)
  • Non-blocking checks: (list checks that are informational only, not merge gates - e.g., codecov/patch, Trivy scans)
  • Pre-existing failures: (list any tests that are currently broken on the base branch)
  • Slow checks: (list checks that routinely take 10+ min so teammates know to expect delays)

GitHub Issues (for /issues)

<!-- Defaults shown. Adjust label names to match your repo's conventions. -->
  • Agent-ready label: agent-ready (opt-in label that makes an issue marathon-eligible)
  • Needs-triage label: needs-triage (applied with a clarifying-question comment)
  • In-progress label: in-progress (applied when a teammate starts an issue)
  • Issue exclude labels: (none — e.g. discussion, wontfix, question to skip during triage)

Retrospective

<!-- Optional. If you want marathon retros to accumulate across sessions, specify a path. -->
  • Retro log: ~/.claude/projects/<project-slug>/memory/marathon-retros.md
  • Append each marathon's retrospective to this log after completion