An Agent Can't Offer an MCP Tool It Can't See
MCP discovery tells an agent how to authenticate, not what a tool does. When a tool sits behind per-user login, static metadata is the fix, not a smarter model.
~ % ls ./blog
I write about software engineering, leadership, and productivity. I also share my thoughts on the tech industry and how to navigate it.
MCP discovery tells an agent how to authenticate, not what a tool does. When a tool sits behind per-user login, static metadata is the fix, not a smarter model.
When your team is overloaded, don't descope by task count. Hand off the work that costs the least context to lose, not the biggest item on the board.
Hard limits for AI agents belong in code, not the prompt: the model reads prompt rules and breaks them. Plus the deny-by-default trap that does nothing.
AI made finding code issues free, but owning the fix still needs a human. Why finding throughput is a vanity metric and the hand-back is the real work.
Engineering teams reward complexity by accident because simplicity leaves no artifact. Four ways a manager can make avoided complexity visible.
We shipped a greenfield project in three weeks by building the system around the AI models, not the prompts. I call it APE: Agentic Product Engineering.
AI engineering workflows assume one expert orchestrator. Here's what breaks when five engineers run agent sessions on one codebase — and our fix.
AI-assisted coding patterns that actually work, from months of experiments: two case studies — delegated testing and parallel review with Claude Code.
Build Mastra AI workflows step by step — parallel steps, branching, suspend/resume, multi-agent, and serverless deployment — with TypeScript examples.
Mastra is a TypeScript-native AI framework — typed agents and workflows, a local dev sandbox, memory, and built-in evals. Built for how you already code.
Eleventy, or 11ty, is a powerful yet straightforward static site generator. It does not require any config to get started.
Axios interceptors are a powerful way to manage HTTP requests. Learn 4 ways to use them: handle errors, add headers, transform data, and more.
My 2021 Mac setup for web development: a detailed list of every tool I install from scratch to handle day-to-day dev work.
My 2020 in review: welcoming our first baby and a year shipping JAMstack educational content — the highs, the lows, and lessons learned.
Gatsby vs create-react-app: both cut config, but Gatsby adds built-in performance, static rendering with no server, and a rich plugin ecosystem.
A quick intro to GraphQL, a query language and server-side runtime: define your types and fields, then write a resolver function for each.
Build a Node.js CLI tool with yargs middleware by treating commands like server routes — for cleaner, reusable command-line programs.
Proxiy Object gives you the ability to intercept access to an object properties and change its behaviour.