Developer-Tools

We Tested 55 MCP Servers. Here's What Breaks.
MCP servers are the tools AI agents rely on. We tested 55 of them with mcp-assert, found 20 bugs across 9 servers, and submitted fix PRs. Grafana and Ant Group merged ours. Three days after launch, Ant Group’s visualization team asked us to integrate mcp-assert into their CI. The most common failure: servers throw unhandled exceptions instead of returning isError, leaving agents unable to recover.
agent-lsp: Reliable Code Intelligence for AI Agents via MCP and LSP
I needed AI agents to reliably rename symbols, find references, and check diagnostics without silent failures. The existing MCP-LSP tools were stateless, feature-poor, and untested. So I built agent-lsp: a persistent runtime with 50 tools, 20 provider-agnostic skills, speculative execution, and an audit trail for every AI-driven edit.
The Agent-Skill Boundary: When Autonomous Behaviors Become Skills
Agents accumulate autonomous behaviors over time - ‘always do X before Y’, ‘if you see Z then do W’. These instructions eat context budget, drift across invocations, and can’t be observed or tested. How to recognize when an autonomous behavior is a skill waiting to be extracted, and the layered model that makes the boundary clear.
Self-Validating Agents: Building Quality Checks into Claude Code Workflows
Claude Code agents write code fast. Too fast to catch quality issues in real-time. Here’s how to build validation directly into agent workflows using hooks and team coordination - micro validation after every file write, macro validation before completion, and independent review from validator agents.
Scout-and-Wave, Part 4: Trust Is Structural
The Scaffold Agent doesn’t add capability. It restores a review gate that was cosmetically present but structurally absent. The worktree isolation trip wire catches failures that were invisible until merge time. Neither fixes a bug in the traditional sense. Both fix trust.
Scout-and-Wave, Part 2: What Dogfooding Taught Us
Scout-and-wave v0.1.0 worked. Then we ran it on documentation agents, measured the overhead honestly, and learned that raw agent count is a bad proxy for when parallelism is worth it. This post covers the audit-fix-audit loop, the dogfooding experiment that confirmed SAW was 88% slower than sequential for that job, SAW Quick mode for small disjoint work, and the bootstrap problem for new projects.
Scout-and-Wave, Part 3: Five Failures, Five Fixes
The scout refused to write the IMPL doc. Forty-five percent of agents arrived at work already done. The skill file grew to 400 lines with no separation of concerns. Each failure drove a specific fix — and each fix is traceable to an exact incident in an exact run. This is the scout prompt’s bug tracker.
Scout-and-Wave: A Coordination Pattern for Parallel AI Agents
Naive parallel agents step on each other. The scout-and-wave pattern solves this by front-loading dependency mapping: one throwaway agent identifies seams and builds a living coordination artifact before any implementation begins. Development then proceeds in waves, each consuming and updating the artifact for the next.
Bulletproof SSH: Multi-Identity Git, Socket Persistence, and Zero-Trust Key Management
Most developers cargo-cult their SSH config from Stack Overflow. This is the setup I actually run: three GitHub identities on one machine, persistent control sockets, conditional git configs that auto-select the right key, and pinned known_hosts. No third-party tools.
Branding a CLI Tool in 4 Days: Mascot, Screencasts, and Visual Identity with AI
Most CLI tools ship with no visual identity beyond a help screen. Here’s how I used AI image generation to create Shelby, a consistent mascot with a locked-down spec, and built a complete brand system - poses, screencasts, color palette, terminal theme - for shelfctl in 4 days.
GPL & AGPL: Freedom Through Copyleft - Complete Guide to Viral Licensing
Why copyleft licenses ‘infect’ derivative works, how GPL differs from permissive licenses, and when viral licensing protects community contributions from proprietary capture
Apache License 2.0: When Patent Protection Matters - Complete Guide
Why Apache 2.0 matters for patent-heavy projects, how it differs from MIT, and when explicit patent grants protect your users and contributors
Why Choose the MIT License? A Comprehensive Guide to Open Source Licensing
Why MIT became the most popular open-source license, when to choose it over GPL/Apache/BSD, and a decision framework for selecting the right license for your project
Glob Patterns: Complete Syntax Reference with Examples
Part 2: A comprehensive reference covering every glob pattern from basic wildcards to advanced features like brace expansion and extended globs. Learn the rules that apply everywhere.
Glob Patterns: The Invisible Abstraction Everyone Uses But Nobody Learns
Glob patterns are everywhere - .gitignore, shell wildcards, build configs - yet most developers learn them by accident through copy-paste. Here’s why glob deserves explicit teaching.
Your README is a Landing Page, Not Your Documentation
More features always lead to more sprawl. The longer it goes on, the harder it is to bring back under control. Here’s how to treat your README like a landing page - with hooks, not walls of text.
Managing Multiple Claude Code Contexts Without Going Insane
I work on OSS projects, client work, and employer projects. Each needs different Claude Code configuration. Here’s how I stopped manually editing CLAUDE.md every time I switched contexts.