Agentic Experience: The Agent's Error Log is the Blueprint for Your CLI

I have a code agent—Claude Code—that interacts with Linear, my task management tool, about 800 times a month: listing tasks, creating issues, changing states, leaving comments. I reviewed 165 of its sessions and counted more than 500 errors and over 370 retries. None of these were caused by issues in Linear’s API. All were interface errors: the agent communicated with the command line, and the command line didn’t understand it. ...

May 22, 2026 · Fernando

Agentic Experience: 1,324 calls to my CLI, 15.9% error rate

My CLI’s most frequent user isn’t me lql is a Rust CLI for managing Linear issues. I wrote it because none of the existing alternatives worked for my actual use case: an AI agent that manages issues autonomously. Why I had to write my own CLI Linear’s MCP was the first attempt. The idea is elegant: an MCP server that exposes Linear’s API directly to the agent. In practice, it was slow, unstable, and the agent had to build GraphQL queries from scratch on every call. Each call was an opportunity to invent a field that doesn’t exist. I uninstalled it after two weeks. ...

April 29, 2026 · Fernando

Your CLI Has a New User—and It’s Not Human

You ask your AI copilot to capture a window. The copilot writes peek app "Xcode". The tool looks for a window owned by Xcode exactly. It doesn’t find one because the process is named Xcode-16.3. The tool responds with Error: application not found. The copilot, a large language model (LLM) with the memory span of a goldfish, then tries peek app "Xcode-16.3". This time it works—but it’s wasted a conversational turn, input tokens, output tokens, and the patience of the person paying the bill. ...

April 7, 2026 · Fernando

In Codex, a Skill Is Not a /Command (but in Claude Code, It Almost Is)

TL;DR: If you’re using Codex, use a command to control the session or application, and use a skill to teach the agent a way of working. In Claude Code, the current documentation already treats skills as something you can invoke with /skill-name, so the concepts merge more there. Not so in Codex: types might exist as a skill, but /types won’t exist by default. There’s a common confusion when switching from Claude Code to Codex. And it’s understandable. ...

March 30, 2026 · Fernando

150 Lines of Apologies Removed

TL;DR: My AI agent had a 246-line instruction file for managing issues in Linear. 150 of those lines were workarounds: hardcoded UUIDs, curl fallbacks, notes like “the CLI doesn’t support X.” I didn’t rewrite them — I built a tool that made them unnecessary. Now those 150 lines are gone. Have you ever written a set of instructions so long that its sheer length proves something is fundamentally wrong? I’m not talking about legitimate documentation. I mean those files that start with “use tool X” and then spend 80% of the text explaining when tool X doesn’t work and what to do instead. Instructions that are, effectively, a list of apologies for the tool you should have built in the first place. ...

March 26, 2026 · Fernando

Madness Driven Design: Don Quixote, Sancho Panza, and Your AI Copilot

TL;DR: An LLM is like Don Quijote—you can’t cure his madness, it’s stochastic by nature. The solution isn’t to fix the madman but to assign him a deterministic Sancho Panza as a sidekick. MDD consists of two layers: first, you study the errors it makes to design tools that absorb those mistakes, and then you let it loose with those tools to verify you’ve closed any gaps. Design for madness, not against it. ...

March 26, 2026 · Fernando

Why My CLI Output Isn't XML (And How I Ended Up Reinventing TOON Without Knowing It)

TL;DR: When your primary consumer is an LLM, XML and JSON waste tokens by repeating structure in every element. A compact positional format reduces consumption by 50%. Turns out this idea already had a name: TOON (Token-Oriented Object Notation). Same selective pressure — expensive tokens and repeated keys — same solution. Anthropic uses XML for everything. Their system prompts are wrapped in <instructions>, their examples in <example>, their tools in <function>. If you work with Claude, you live surrounded by tags. ...

March 26, 2026 · Fernando

Linear Agent Isn’t What You Need. Your Agent Was Already in the Terminal

TL;DR: Linear just launched an integrated AI agent. Cool, but it doesn’t address the problem developers face when working with coding agents in the terminal. What we actually need isn’t another AI agent but a rock-solid CLI that our existing agents can use seamlessly. And if we’re going to build one, it should be in Rust — which is why lql exists: a CLI for Linear, purpose-built for agents. Yesterday, Linear launched their AI agent. It’s an integrated chatbot that gets your roadmap, your issues, and even your code. You can chat with it on Slack, mention it in a comment, and it’ll synthesize context, suggest actions, and even create issues for you. ...

March 25, 2026 · Fernando

Mole: The Mac Cleanup Tool You Didn’t Know You Needed (But Only Two Commands Matter)

How many gigabytes of junk are sitting on your Mac right now without you even noticing? I’m not talking about duplicate photos from that 2019 barbecue or your Downloads folder looking like a digital landfill. I’m talking about build artifacts. node_modules from projects you haven’t touched since the pandemic. Build caches for frameworks you barely remember installing. Xcode’s derived data piling up like dust under the bed. I spent months with my drive hovering at 85% full, juggling what to delete. Then I found Mole, ran mo purge --dry-run, and the screen spat out a number: 17 GB recoverable. Three hundred and fifty forgotten build artifacts quietly rotting in the dark. ...

March 23, 2026 · Fernando

Working with an AI agent is like living with the protagonist of Memento

Imagine you have a brilliant coworker. Solves complex problems, writes clean code, understands what you ask on the first try. But every morning, when you tell them “open the course project,” they look at you with a poker face and ask: “What course? Where is it?” Every day. Without exception. It’s exactly like living with Leonard Shelby, the protagonist of Memento. The guy who can’t form new memories and has to tattoo important things on his body to remember them. ...

March 14, 2026 · Fernando