Human DX optimizes for discoverability. Agent DX optimizes for predictability. What I learned building a CLI for agents first.
Agent infrastructure & DX
AI agents and developer tooling
My 18 essays and guides on building interfaces for coding agents: agent-first CLIs, MCP tradeoffs, subagent isolation, AST-enforced migrations, and applied machine learning.
Start with the foundational pieces below, or jump to a specific topic. These patterns come from building the open-source Google Workspace CLI, Helen's Foundry, and native Rust tooling with coding agents.
Start here
Core essays on CLI predictability, protocol fidelity, embedded MCP servers, and agent-run code migrations.
You Need to Rewrite Your CLI for AI Agents The MCP Abstraction Tax Every layer from App to API to MCP loses fidelity. An exploration of what gets lost and why it matters for enterprise APIs.
Your App Should Ship an MCP Server Why I embedded an MCP server in a native Rust prose editor so an AI agent can drive, inspect, rebuild, and verify the running app.
One Rule, One Throwaway Skill Slides from my AI Engineer Code Summit talk on using ast-grep rules and a temporary skill to migrate TypeScript to Effect.
CLI and MCP interface design
Designing command-line tools, MCP servers, and native application interfaces that coding agents can inspect and verify.
You Need to Rewrite Your CLI for AI Agents Human DX optimizes for discoverability. Agent DX optimizes for predictability. What I learned building a CLI for agents first.
The MCP Abstraction Tax Every layer from App to API to MCP loses fidelity. An exploration of what gets lost and why it matters for enterprise APIs.
Your App Should Ship an MCP Server Why I embedded an MCP server in a native Rust prose editor so an AI agent can drive, inspect, rebuild, and verify the running app.
Google Workspace Developer Tools MCP Server Announcing the new MCP server for Google Workspace Developer Tools, providing AI agents with access to official documentation and API snippets.
Google Workspace Developer Tools VS Code Extension Announcing the new Google Workspace Developer Tools extension for VS Code, working with Antigravity and providing OAuth2 scope linting and MCP support.
Abandon Git LFS because AI Agents Git LFS causes fatal errors in AI agents like Jules due to proxy conflicts and hook limitations. Learn why I abandoned LFS and migrated back to standard Git.
Workflows, guardrails, and verification
Structuring multi-agent loops, AST rules, permissions, commit identity, and prompt security in real repositories.
One Rule, One Throwaway Skill Slides from my AI Engineer Code Summit talk on using ast-grep rules and a temporary skill to migrate TypeScript to Effect.
Triaging Gmail with Claude Subagents A writeup of a small agentic system I built to triage my Gmail inbox, using Claude subagents to organize and assess messages.
Protect Gmail AI Agents with Model Armor Use Model Armor in an MCP tool handler to block prompt injection and redact sensitive Gmail content before it reaches an AI agent.
Agent Identity for Git Commits How to configure AI agents to push commits to GitHub using a separate bot identity without modifying local git configuration.
Extracting Gold from Antigravity's Brain A workflow for extracting architectural patterns and implementation challenges from AI agent walkthroughs to inform later engineering work.
VS Code Git Remote Color An open-source VS Code extension that hashes each workspace Git remote and colors the status bar to distinguish open repositories.
Applied ML, benchmarks, and Workspace integrations
Evaluating frontier models, running local ONNX transformers in Rust, and calling Gemini, Vertex AI, and MCP from Google Workspace.
Miko-bench: 65 AI Models Guess My Puppy's Breed Mix I asked 65 vision models to rank Miko's likely breeds from the same evidence given to humans, then compared their guesses with her DNA results.
Fiction AST and GLiNER NER in Rust How I built a fiction-specific AST and named-entity pipeline with LLM labeling, GLiNER fine-tuning, and ONNX inference in Rust.
Building an MCP Client in Google Apps Script Learn how to communicate with Model Context Protocol (MCP) servers using Apps Script and UrlFetchApp. Incorporate the MCP client into Vertex AI tool calling.
Using Gemini in Apps Script Use Apps Script's Vertex AI advanced service to call Gemini for text, images, structured output, search grounding, and multi-turn chat.
Generating Text with Gemini Pro in Apps Script A short Apps Script example that calls the Gemini Pro REST API to generate text, then reads the response candidate text.
Using Vertex AI in Apps Script How to use the Vertex AI API in Apps Script to make predictions on your data or use it in any of your other Google Workspace processes.