ai / agents
An agent is a software program that runs tools in a loop to achieve a goal.
I state the goal. The agent runs tools (web search, reading and writing files, etc.), observes results, and works until the goal is achieved.
I run agents in Warp as my primary tool for software development. I often run multiple agents in separate Warp tabs, inside git worktrees.

A native terminal is the agent harness
I find raw CLIs like Claude Code too limiting. Some things are nicer with a native UI like Warp:
- Reviewing diffs inline to accept or reject hunks.
- Tracking an agent's active task lists.
- Interleaving prompts and normal shell commands.
- Dragging screenshots into prompts.
- Speaking prompts via voice.
A router picks the model
A custom router picks the model by task complexity: a fast, cheap model for easy tasks and a stronger model for hard ones. This saves me from choosing one per prompt.
Mine routes easy tasks to the latest Gemini Flash and hard tasks to the latest Claude Opus.
The router also fails over. When one provider has availability issues, it flips to the most similar model from another. I keep a single router as my default and swap models as better ones ship.
CI and code review
I replaced GitHub Pull Requests with cibot. When I review a teammate's change, I open a new Warp tab and:
cd "$(cibot checkout APP-1A)"
This checks out the remote branch into a local git worktree.
I can then prompt the AI to review while I also review in Warps's code review
UI. I can then cibot comment APP-1A our feedback.
See git / workflow.
AGENTS.md
We check AGENTS.md files into the repo. They are version-controlled and
scoped by directory. A root AGENTS.md covers architecture and quick reference.
Subdirectory files (db/AGENTS.md, ui/AGENTS.md) have domain-specific rules.
Patterns I've found useful in AGENTS.md:
- Quick reference. Runnable commands for common tasks like build, test, lint, and migrate.
- Safety rails. Explicit rules like "never commit secrets."
- Conditional checks. "Run X if Y files touched" to keep feedback fast.
- Style guides. Commit message conventions and naming patterns.
- Environment context. Available tools, port numbers, and file paths.