How We Use goose to Maintain goose
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.
- A user reached out on Discord asking why an Ollama model was throwing an error in chat mode.
- Rather than digging through the codebase myself, I asked goose to explore the code, identify the root cause, and explain it back to me.
- 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
- Write a detailed issue and add it to a developerâs backlog (someone else has to contextâswitch later).
- 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.
- A team member sees an issue and comments
/goose. - Goose spins up in a container, reads the issue, explores the codebase, runs verification, and opens a draft PR.
- 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 minimallyatâŻ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
| Benefit | Description |
|---|---|
| Speed | A 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. |
| Cost | If goose fails, you lose minutes of compute. If it succeeds, you save hours. |
| Responsiveness | When 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.
| Phase | What goose does | Why it matters |
|---|---|---|
| Understand | Reads the issue and extracts all requirements to a file | Forces the AI to identify what âdoneâ looks like before writing code |
| Research | Explores the codebase with search and analysis tools | Prevents blind edits to unfamiliar code |
| Plan | Decides on an approach | Catches architectural mistakes before implementation |
| Implement | Makes minimal changes | Keeps the diff small and reviewable |
| Verify | Runs tests / linters | Guarantees the change doesnât break existing functionality |
| Report | Posts a summary and opens a draft PR | Gives 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
| Phase | Purpose |
|---|---|
| Verify | Run tests and linters to catch obvious failures before a human sees the PR. |
| Confirm | Reâ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:
- Point at a problem.
- Say âtry this.â
- 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.