RSSAmplifier

Blog

/dev/michael

Thoughts on building with AI agents, Claude Code, infrastructure, and the craft of software engineering. By Michael Livshits.

michaellivs.comRSS feed ↗41 posts

Latest posts

Ergonomic coding surfaces for agents (a.k.a Code Mode)

Code Mode isn't a strict upgrade on tools. It's a different point in the tradeoff space, and the real move isn't picking the surface - it's bootstrapping one.

State of Browser Use, May 2026

How agents drive a browser in 2026: autonomous loops, hybrid primitives, computer-use, code mode. Frameworks, cloud infra, benchmarks, prompt injection.

Web Search for Agents in 2026

A practical guide to every web search API available for agents in 2026 - pricing, data sources, benchmarks, SDKs, and what I picked for my own agent harness.

System reminders - how Claude Code steers itself

Claude Code has 37 hidden reactive messages that nudge the agent mid-conversation. Here's how they work and how to build your own.

Building napkin - a memory system for agents

A decade of information retrieval and three years of agent harness engineering, poured into a local-first knowledge system that avoids vector search entirely.

Reverse-engineering Claude's generative UI - then building it for the terminal

Extracting Anthropic's design system from a conversation export and rebuilding generative UI for the terminal.

The Software Engineering Anarchist

Backlogs are dying. What replaces them isn't chaos - it's anarchy. Free market collaboration between competent people.

Hello, World

The Shift - a company, a movement, and a generation. Built for a world that rewrites itself every quarter.

Knowledge distillation into skills via feedback loops

I built a chart CLI and distilled aesthetic knowledge into a 213-line skill through a render-look-fix feedback loop. Here's the process.

The LLM app spectrum

From single-file HTML to full-stack vibe coding - mapping what LLMs can build for non-technical users, and where the real leverage is.

The Claw ecosystem: 12 personal agents, dissected

OpenClaw runs on Pi. NanoClaw wraps Claude Code. MimiClaw runs on a $5 chip. I tore apart 12 personal agents to find what's inside.

Skills, forks, and self-surgery: how agent harnesses grow

Claude Code, NanoClaw, and Pi take radically different approaches to harness extensibility. The tradeoff is always safety vs. agent agency.

The hard problem in multi-agent is context transfer

Quality loops work because context stays intact. The moment you add a second agent, you get lossy handoffs. That's the real challenge.

Your Eval Sucks and Nobody Is Coming to Save You

Agent evals overfit prompts to small datasets and test nothing real. Dogfood your agent, test your harness, and stop lying to yourself.

Your RAG Pipeline Sucks and Nobody Is Coming to Save You

RAG pipelines are broken by design. Why full-text search and BM25 beat vector embeddings when an LLM already understands your query.

What 16 parallel agents building a C compiler teaches about coordination

Anthropic's agent teams experiment compiled Linux with 16 Claude instances. The hard lessons about coordination matter more than the result.

Every CLI coding agent, compared

36 CLI coding agents compared: Claude Code, Codex CLI, Gemini CLI, OpenCode, and 32 more. Features, sandboxing, stars, and which to use.

Claude Code's Hidden Memory Directory

Claude Code has an undocumented persistent memory system. A MEMORY.md file loads into every session. Here's how it works and why it matters.

A thousand ways to sandbox an agent

There are a thousand ways to sandbox an agent. Okay, I lied. There are three: simulated, containers, and microVMs. Here's when to use each.

The architecture behind Claude Code's $1B run-rate

Every agent builder hits a wall with writes. Here's the structural reason why - and the escape hatch.

Playing Capture the Flag with Claude

I red-teamed psst with Claude. It found a real vulnerability - file exfiltration bypasses masking. Then we fixed it with a PostToolUse hook.

Claude Code Tasks: One Less Dependency

Steve Yegge's Beads proved how agent memory should work. Now Anthropic is building it into Claude Code. One less dependency.

llms.txt Doesn't Do What You Think

Everyone's adding llms.txt for AI discoverability. The data says no major AI actually reads it.

I Understand My Code. I Just Don't Know It.

When agents write your code, production is easy. Understanding becomes the bottleneck. An attempt to not lose grip.

Why I Chose FTS Over Vector Search for Claude Code Memory

Building retrieval for Claude Code's command history. Why BM25 beats embeddings when there's already an LLM interpreting queries.

Open Responses Solves the Wrong Problem

The new LLM interoperability spec tackles response normalization. The real pain is stream error handling, and nobody's solving it.

Claude Quest: pixel-art visualization for Claude Code sessions

I built an RPG-style companion that shows what Claude Code is doing. File reads cast spells. Bash commands swing swords. Errors take damage.

Skills aren't the innovation

Everyone's adopting Anthropic's agent skills. But the file format isn't what matters. Progressive disclosure is the real idea.

psst v0.2.0: Environments, Scanning, and psst run

Secrets manager for agents now supports dev/prod environments, detects leaked secrets, and injects into any command.

Why Anthropic and Vercel chose different sandboxes

Two companies, four sandboxing strategies, all correct. How to pick between gVisor, Firecracker, bubblewrap, and just-bash.

Claude forgot. ran didn't.

Claude Code forgets your bash commands after context resets. ran indexes them across sessions so you can search what worked.

psst v0.1.3: Now It Actually Masks Your Secrets

The secrets manager for agents now redacts output, imports .env files, and locks your vault.

Split Personality Claude

Using Claude to argue with itself. A surprisingly useful pattern for decisions.

psst 🤫 Because Your Agent Doesn't Need to Know Your Secrets

I built a secrets manager where AI agents use secrets without seeing them. The secret never touches the context - it's injected at runtime.

The Agent Harness

A specification for agent behavior that LLM frameworks leave undefined: error handling, context management, tool execution, and state transitions.

Context Engineering Has No Engine

A specification for what context engineering actually means - and a call to build it. We have the term but not the tools.

Tool Design is All About the Flow

The insight that finally made my agents reliable: tools aren't utilities, they're waypoints. Design for flow, not function.

Reverse-engineering Claude's sandbox, then building my own

How Anthropic sandboxes Claude (spoiler: gVisor), and what I learned building a similar system for AI agents.

Embedding Claude Code sessions in blog posts

Building an Astro component to render real Claude Code chat sessions. This post uses the component it describes.

Anatomy of agentic systems

The basic ingredients of an agentic system: loops, tools, memory, and the levers we pull to control behavior without breaking autonomy.

hi chat, dev here

First post. What this blog is and why it exists.