> For the complete documentation index, see [llms.txt](https://breakpoint-journal.gitbook.io/breakpoint/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://breakpoint-journal.gitbook.io/breakpoint/ai/ai-tooling-for-swe-tricks-workflows-and-what-worked-at-coinbase.md).

# AI Tooling for SWE: Tricks, Workflows, and What Worked at Coinbase

In this overview, I'll share some of my personal notes from my time as a full-time SWE at Coinbase (from both Base and Institutional organizations)

## **General Tips**

* Create or modify [agents.md](http://agents.md/)
* Use MD files to transfer context with chats
* Chat’s pay particular attention to the beginning and end of the chats, so any chats that are at 70% or more context capacity should be discarded
* System Prompts > [Agents.md](http://agents.md/) > Context + Rules > User Commands
* Plan > Execute > Review > Feedback > Plan > …

## **Context**

**Agents vs Sub-Agents**\
An agent is just a session.

**Different Agents**\
from Alex's talk, using different models to do different tasks (i didn't know about gpt-5.2 and how its better for non-coding related tasks)

## **Sub-Agents**

* <https://github.com/vercel-labs/agent-skills>
* <https://github.com/vercel-labs/skills>
* <http://agent-skills.md/>
* <https://skills.sh/>

## **Secure Coding Agent Container (SCAC)**

**s**

```shell
Usage:
  cd your-project-folder
Usage: scac <command> [agent-args...]

Available commands:
  claude           Claude Code CLI (bind-mount mode)
  claude-copy      Claude Code CLI (copy-based mode)
  amp              AmpCode CLI (bind-mount mode)
  amp-copy         AmpCode CLI (copy-based mode)
  exec             Execute command in running container
  pipe             Copy file from host to running container
  sync-back        Sync container changes back to current directory (incremental mode)
  sync-back auto   Automatically sync changes from all running SCAC containers
  ps               List running SCAC containers
  cleanup          Remove stopped SCAC containers

Copy-mode flags:
  --detach               Start container in detached mode and return container ID

Examples:
  scac claude --print              # Run claude --print --dangerously-skip-permissions
  scac claude-copy --help          # Run claude --help --dangerously-skip-permissions in copy mode
  scac claude-copy --detach        # Start detached container, returns container ID
  scac amp --version               # Run amp --version
  scac amp-copy                    # Run amp in copy mode
  scac exec <cid> claude --help    # Execute claude --help in running container
  scac exec <cid> bash             # Open bash shell in running container
  scac pipe <cid> /path/to/file    # Copy file from host to running container
  scac sync-back <container-id>    # Sync container changes back to current directory
  scac sync-back auto              # Automatically sync from all running containers
  scac ps                          # List running SCAC containers
  scac cleanup                     # Remove stopped SCAC containers
```

## **OpenCode**

### **MCPs**

<https://opencode.ai/docs/mcp-servers/>

### **Plugins**

<https://opencode.ai/docs/ecosystem#plugins>

### **Oh-My-OpenCode**

Most agent harnesses give you one agent with tools. Oh My OpenCode gives you a team of specialized agents that work like a real engineering organization.

The key insight: LLMs aren't interchangeable. Different models excel at different tasks. GPT 5.2 is a debugging god. Gemini 3 Pro dominates frontend. Claude Sonnet is great for documentation. Oh My OpenCode orchestrates them by purpose, not by availability.

#### **Commands**

| Command             | Description                                                                          |
| ------------------- | ------------------------------------------------------------------------------------ |
| `/code-review`      | Review code for bugs and CLAUDE.md compliance                                        |
| `/debugging`        |                                                                                      |
| `/snowflake`        |                                                                                      |
| `/sql-optimization` |                                                                                      |
| `/commit`           | Create a git commit                                                                  |
| `/commit-push-pr`   | Commit, push, and create a PR                                                        |
| `/clean\_gone`      | Clean up gone git branches                                                           |
| `/review-pr`        | Comprehensive PR review using specialized agents                                     |
| `/feature-dev`      | Guided feature development with architecture focus (this is like a "plan" workflow!) |
| `/revise-claude-md` | Improve CLAUDE.md files                                                              |
| `/create-plugin`    | Create a new Claude Code plugin                                                      |
| `/new-sdk-app`      | Create a new SDK app                                                                 |
| `/ralph-loop`       | Run Claude in autonomous loop mode                                                   |
| `/cancel-ralph`     | Stop ralph-loop                                                                      |
| `/hookify`          | Configure hooks                                                                      |
| `/configure`        | Configuration helper                                                                 |
| `/list`             | List available items                                                                 |
| `/help`             | Get help                                                                             |
| `ultrawork (ulw)`   | Maximum effort, great for complex features (use sparingly)                           |

* Normal prompts → Opus 4.5, solid experience.
* Add plan/analyze → Deeper multi-agent reasoning.

#### **Agents**

* Sisyphus (Opus 4.5 High): The orchestrator—thinks like a tech lead, delegates like a manager
* Hephaestus (GPT 5.2 Codex): Autonomous deep worker for goal-oriented, end-to-end execution
* Oracle (GPT 5.2): Architecture, debugging, strategic consultation
* Librarian (Sonnet 4.5): Documentation, OSS implementations, cross-repo analysis
* Explore (Haiku 4.5): Fast, cheap contextual grep—fires in parallel
* Frontend Engineer (Gemini 3 Pro): UI/UX specialist

#### **Installation**

[Opencode + OmO: 10x your cbcode experience](https://docs.google.com/document/d/1V-OStW2ipM1N2BElIBPZJF38Ex7T5xrEuRC0tUT9-aI/edit?tab=t.0)

#### **Documentation**

<https://github.com/code-yeongyu/oh-my-opencode>

## **WorkTrunk**

<https://worktrunk.dev/>

See the WorkTrunk section of the following [guide](https://docs.google.com/document/d/18BRUJfjaB1JndfA7L2TuRqqeRvhcP5R6gkMo64r_2ww/edit?tab=t.0) for more information.

### **Features**

* [ ] Add post-start hooks

## **Vibe Kanban**

### **Features**

* Add PR feedback directly in UI
* Create PRs
* Custom Prompt Tags: save prompts as tags that you can include with certain tasks

### **Issues**

#### **Anthropic API Key Missing**

Copied ANTHROPIC\_AUTH\_TOKEN from \~/.claude/settings.json into \~/.config/opencode/opencode.json.

## **GSD (Get-Shit-Done)**

<https://github.com/glittercowboy/get-shit-done>\
The concept behind GSD is that it utilizes the scientific method (i.e. plan, hypothesize, execute, verify, rinse-repeat) to complete features. It creates a very structured file system and documents phases of your project in .md files before executing.

**Highly recommended to execute with the following otherwise you’ll be approving 50x before the project can even finish:**

```shell
claude --dangerously-skip-permissions
```

To see an example of how the phases work, see the [README.md](http://readme.md/)

## **Ralph Loops**

[How to Ralph](https://docs.google.com/document/d/1F7x2C7gLQtKxWZLhWTOA8CraxXAE9cKMWDAB4wjrkA8/edit?tab=t.0#heading=h.tb86d3xooru7)

```shell
🚀 Usage:
  1. Run 'cbcode' in this directory
  2. Use /prd or ask Claude to 'create a prd' to generate a PRD
  3. Run ./ralph.sh to start the autonomous implementation loop

🛡️ Security mode: 🔒 Secure containerized execution (default)

💡 Ralph execution modes:
  ./ralph.sh              # Default: SCAC copy mode (isolated in a container)
  ./ralph.sh --bind       # SCAC bind-mount mode (your file changes are visible)
  ./ralph.sh --no-scac    # Direct execution (not protected by SCAC)
  ./ralph.sh 100          # Run a ralph loop with 100 iterations
  ./ralph.sh --help       # Show all options

```

If you’re ever unsure how many loops to run for, you can ask Claude what is suggested given the PRD. For example, if you have **three** phases in your PRD, you could set Ralph to run for **six** iterations such that each phase can get a second review.

I also generally run with **`–bind`** s.t. I can see the output of the Ralph loop as it works.

### **Ralph Orchestrator**

<https://github.com/mikeyobrien/ralph-orchestrator>\
An improved version of the Ralph-Wiggum method that also adds a dashboard running localhost for tracking jobs.

### **Willie**

<https://github.cbhq.net/rob-polak/willie>

A knowledge indexer that utilizes Ralph loops to generate a Github repository of team-specific information.

```shell
# Basic run (interactive mode, 50 iterations)
./willie
# Non-interactive with custom iterations
./willie -y -n 10
# Dry run (shows what it would do without executing)
./willie --dry-run
# Full help
./willie --help
# Reset collected data
./willie clean              # Clears data, keeps team context
./willie clean --all        # Full reset including team context
```

The concept is you can give it a set of tasks, human readable instructions, explaining where to fetch data from. I’m curious why it’s useful to have this in a single repository however.

## **N8N**

<https://docs.google.com/document/d/1KYMHMIehpptE6_5UVRHxcKcSz5d6l5bYhzu1Jx4tOQw/edit?tab=t.vkka6q409k2w#heading=h.yr2nayjb4zob>

### **Base-Account On-Call**

See the Base Account [flow](https://coinbase.slack.com/archives/C0ABND53KHA/p1769633170824189) for an example of how n8n integrates with PagerDuty, DataDog, Google Sheets, and Linear to automatically create backlog tickets to improve monitor SNR (sound-to-noise ratio). It’ll propose tickets that add subtags to monitors or update insufficiently documented runbooks etc.

## **Project Ideas**

### **Hacker**

* Auto-reviews online CVEs and security issues
* Reviews over code from a security perspective
* Automatically runs updates

### **FixerUpper / XFit**

Automatically run overnight and throughout the day finding tasks to cleanup and optimize the codebase. Auto integrates with slack to produce a round-up. I need to go through each one and approve which end up on Slack however.

* Monitor DD for error logs and pages, setup investigator
* Checks for vulnerabilities and issues
* Check repository’s for out-of-date documentation

## **Action Items**

* [x] ~~Create a Secure Code Agent container and let it use your CLI tools~~ [~~https://github.cbhq.net/wallet/secure-code-agent-container~~](https://github.cbhq.net/wallet/secure-code-agent-container)
* [x] ~~Visual orchestrator for agents:~~ [~~https://www.vibekanban.com/~~](https://www.vibekanban.com/)
* [x] [~~Watch Brunos’ on-call AI~~](https://coinbase.slack.com/archives/C0ABND53KHA/p1769633170824189)
* [ ] Ambient Agents
* [x] ~~GSD (Get-Shit-DOne)~~
* [ ] [Graham Perich - AI Retool 2/26 - Agentic Software Engineering Refresh](https://docs.google.com/document/d/1YCuU_Bmo81hENijcd4XOrYhR-LrppTNGTTAb7M6UnBw/edit?tab=t.0#heading=h.mhn2mmdb5efe)
* [ ] Create user commands
* [ ] Modify my [agents.md](http://agents.md/)
* [ ] [Create SubAgents](https://code.claude.com/docs/en/sub-agents) (act like personalities)\
  \- \[ ] Tell one agent to be extremely skeptical in Plan mode and don’t make any questions without consulting me. Ask me lots of questions, etc.\
  \- \[ ] Break down PB\&J sandwich problems

## Slides

![](https://content.gitbook.com/content/mGhYQRY1OEeL4zywZ9zS/blobs/08XyBMm8zVHy3qHjBbdn/Unknown%20image)\
![](https://content.gitbook.com/content/mGhYQRY1OEeL4zywZ9zS/blobs/REmW26eJgJCOeeWZ2O1a/Unknown%20image)
