Latest articles
Multiple Choice Is Not a Decision: Teaching a Planning Agent to Ask More Questions
My planning skill had four workflows and every one of them just moved existing material around. None of them ever produced a decision.
The Subagents Guide I Wish I'd Had
The other half of the skills guide: what subagents are, how Claude Code actually uses them, and what a year of running two of them on real projects taught me...
Firecrawl CLI Setup: Skip the Installer That Rewrites Your Editors
One npm install, one environment variable, one smoke test. Plus the auth screen that tells you two contradictory things in consecutive lines, and both of the...
What to Do When Your AI Coding Agent Can't Read a Web Page
I built a four-rung fallback ladder so my coding agent could read any web page. Then I read two months of my own logs and found the bottom rung had never run...
The Other Doc Got Fat Too: My Task File Was 90% Finished Work
I built a skill to compact my PLAN.md and took a victory lap. Meanwhile TASKS.md sat next to it at 758 lines, 90% of them already done.
Run Claude Code on DeepSeek Models in a Single Command
A fish function that points Claude Code at DeepSeek without wrecking your normal setup, plus the /anthropic vs /v1 gotcha that makes the copy-paste instructi...
Somebody Finally Wrote Down Why My Coding Agents Keep Failing the Same Way
A review of Beyond Code by Jeremy McEntire, the first book on AI-assisted development that never once tells you which tool to use.
The Expensive Model Only Plans Now: I Split My AI Coding Rig Across Two Tools
Planning is the only thing worth Opus money. So I moved the whole build to opencode and a roster of cheap models.
The Bottleneck Was Me: How I Stopped Racing My AI Builder and Started Pacing It
I built a pipeline to keep my background AI builder always busy. It worked, and it was exactly the wrong goal. The real target was never throughput. It was p...
Planning Is Cheaper Than Coding, and My Own Logs Proved Me Wrong About Why
I pulled a month of my own session logs to catch coding red-handed as the token hog. The meter came back flat. Turns out coding is expensive, just not for th...
I Got Tired of AI Memory Hype, So I Built a Context Lake
Everyone's bolting memory onto their AI agents. A Context Lake flips it. One brain, outside the agents, that they all read from. Here's why it finally clicked.
The Living Plan Got Fat: Compacting a Doc That Won't Stop Growing
My PLAN.md hit 28,000 words and became the thing I dreaded opening. Here's the skill that keeps the plan lean and files the rest.
The Obsidian Plugin Collection I Built One Free Kiro Credit at a Time
Claude Code Pro runs out mid-session. Kiro's free tier resets every month. Here's the pile of Obsidian plugins I built one free credit at a time.
My Third Try: How a Living Plan Beat Both Vibe Coding and Spec-Kit
I'd been circling this project for months. Two attempts ended in either no architecture or too much. The third one is working.
Senior Software Engineer by Title, AI Therapist by Reality
My LinkedIn says 'Senior Software Engineer.' My screen time says I spent 14 hours this week talking AI assistants out of bad decisions.
Microsoft APM - Managing AI Context Like a Dependency Problem
I went from syncing AI skills across devices to building a full declarative infrastructure for agent context. Here's how APM makes skills easier to use in mo...
I Burned Out on Vibe Coding, Came Back, and Rewrote Everything
After months away from side projects, I came back and realized my vibe-coded apps were prototypes. So I started over.