How We Use goose to Maintain goose

Published: (December 28, 2025 at 12:45 PM EST)
6 min read
Source: Dev.to

Source: Dev.to

The Goose 🩆 Backlog‑Solver

As AI agents grow in capability, more people feel empowered to code and contribute to open source. The ceiling feels higher than ever. That is a net positive for the ecosystem, but it also changes the day‑to‑day reality for maintainers.

Maintainers like the goose team face a growing volume of pull requests and issues—often faster than they can realistically process.

We embraced this reality and put goose to work on its own backlog.

Note: We actually used goose pre‑1.0 to help us build goose 1.0. The original goose was a Python CLI, but we needed to move quickly to Rust, Electron, and an MCP‑native architecture. Goose helped us make that transition. Using it to triage issues and review changes felt like a natural extension, so we embedded goose directly into a GitHub Action.

Credit: The GitHub Action workflow was built by Tyler Longwell, who turned an idea we had been exploring manually into something any maintainer can trigger with a single comment.


Before the GitHub Action

Before the Action existed, the goose team was already using goose to accelerate our issue workflow. Here’s a real example.

  1. A user reached out on Discord asking why an Ollama model was throwing an error in chat mode.
  2. Rather than digging through the codebase myself, I asked goose to explore the code, identify the root cause, and explain it back to me.
  3. I then asked goose to use the GitHub CLI to open an issue.

During that same session, goose reported 95 % confidence that it knew how to fix the problem. The change was small, so I asked goose to open a PR, which was merged the same day.

How the workflow looked before goose

  • Fragmented steps – I would ask clarifying questions, search GitHub for related issues, pull the latest code, grep through files, read the logic, and form a hypothesis.
  • Two possible outcomes
    1. Write a detailed issue and add it to a developer’s backlog (someone else has to context‑switch later).
    2. Attempt the fix myself, often spending more time and generating back‑and‑forth during code review.

Either path stretched across hours or days. Low‑priority problems could slip through the cracks, lingering in Discord or a GitHub comment until they were forgotten.

With goose, that entire process collapsed into a single conversation.

The local workflow works, but when I solve an issue locally with goose I’m still the one driving: I stop what I’m doing, open a session, paste the issue context, guide goose through the fix, run the tests, and open the PR.


Scaling with a GitHub Action

The GitHub Action compresses that entire sequence into a single comment.

  1. A team member sees an issue and comments /goose.
  2. Goose spins up in a container, reads the issue, explores the codebase, runs verification, and opens a draft PR.
  3. The maintainer returns to a proposed solution rather than a blank slate.

Real‑world example – Issue #6066

  • Users reported that goose kept defaulting to 2024 even though the correct datetime was in the context.
  • The issue sat for two days.
  • Tyler saw it, commented /goose solve this minimally at 1:59 AM, and went back to whatever he was doing (presumably sleeping).
  • 14 minutes later, goose opened PR #6101.

The maintainer’s role shifts from implementing to reviewing. The bottleneck in open source is rarely “can someone write this code.” It’s “can someone with enough context find the time to write this code.” The Action decouples those two constraints: any maintainer can trigger a fix attempt without deep familiarity with that part of the codebase.

Benefits

BenefitDescription
SpeedA backlog contains feature requests, complex bugs, and quick fixes in equal measure. The Action lets you point at an issue and say “try this one” without committing your afternoon.
CostIf goose fails, you lose minutes of compute. If it succeeds, you save hours.
ResponsivenessWhen a user filed issue #6232 about slash commands not handling optional parameters, a maintainer quickly commented /goose can you fix this. Within the hour there was a draft PR with the fix and four new tests. Even if the PR needs adjustments, contributors see momentum.

Under the Hood

Maintainers summon goose with /goose followed by a prompt as a comment on an issue. GitHub Actions spins up a container with goose installed, passes in the issue metadata, and lets goose work. If goose produces changes and verification passes, the workflow opens a draft pull request.

The workflow uses a recipe that defines phases to ensure goose actually accomplishes the job and doesn’t do more than we ask it to.

PhaseWhat goose doesWhy it matters
UnderstandReads the issue and extracts all requirements to a fileForces the AI to identify what “done” looks like before writing code
ResearchExplores the codebase with search and analysis toolsPrevents blind edits to unfamiliar code
PlanDecides on an approachCatches architectural mistakes before implementation
ImplementMakes minimal changesKeeps the diff small and reviewable
VerifyRuns tests / lintersGuarantees the change doesn’t break existing functionality
ReportPosts a summary and opens a draft PRGives the maintainer a clear hand‑off point

TL;DR

  • Before: Issue → manual triage → fragmented debugging → slow PRs.
  • Now: Issue → comment /goose → automated triage, fix, and draft PR → maintainer reviews.

The goose‑powered GitHub Action lets open‑source projects scale their maintenance workflow without sacrificing quality or responsiveness. 🚀

Overview

The workflow described below helps goose operate safely and transparently when solving issues.

Key Steps

PhasePurpose
VerifyRun tests and linters to catch obvious failures before a human sees the PR.
ConfirmRe‑read the original issue and requirements to avoid declaring victory while forgetting half the task.

How It Works

  • The workflow file gives goose access to the TODO extension (https://block.github.io/goose/docs/mcp/todo-mcp).
  • The phases tell goose what to do.
  • The TODO helps goose remember what it’s doing. As goose reads through the codebase and builds a solution, its context window fills up and earlier instructions can be compressed or lost. The TODO persists, so goose can always check what’s been completed and what remains.

Guardrails

  • Only authorized users can invoke /goose.
  • The workflow restricts which files goose may modify.
  • Every PR must be reviewed and approved by a maintainer before merging.

Why Use Goose to Maintain Goose?

  • It forces us to be honest about the tool’s capabilities.
  • If the agent can’t produce mergeable PRs here, we notice immediately.

Vision

We’re not aiming for AI to replace maintainers. Instead, we want a workflow where a maintainer can:

  1. Point at a problem.
  2. Say “try this.”
  3. Receive a concrete proposal (instead of a blank editor).

If this becomes the norm, open‑source projects can scale in a fundamentally different way.

Public Access

The GitHub Action workflow is public, so anyone can explore this pattern in their own CI pipeline.

Back to Blog

Related posts

Read more »