Stop the 'old_string is not unique' Error in Claude Code's Edit Tool — A Practical Rewrite Strategy
When Claude Code's Edit tool throws 'old_string is not unique in the file', the root cause is usually that the prompt didn't guarantee a uniquely identifiable target. Here's how to design rewrites that actually stick.
Recipes for a Useful Claude Code Status Line — Show Model, Remaining Context, and Git Branch in One Line
Concrete recipes for a Claude Code status line that displays the active model, remaining context, and git branch in a single line — written in both Bash and Node.js, with the failure modes you should plan for.
Designing a Release Gate Claude Code Can Run — Pre-Deploy Verification You Can Actually Read
A green CI does not mean a safe release. Walk through a seven-checkpoint release gate that asks Claude Code to write a readable, narrative report — with concrete scripts and the operational lessons behind them.
/clear vs /compact in Claude Code: Choosing the Right Reset for Long Sessions
When should you use /clear, and when should you reach for /compact in Claude Code? Three decision criteria from real long-session experience, with the pitfalls that hit me before I figured it out.
Testing Stripe Webhooks Safely with Claude Code: Three Practical Local Workflows
Reproduce Stripe webhook failures locally with confidence. Three practical patterns combining Claude Code with Stripe CLI, signed payload replay, and idempotency checks — with full working code.
Composing Claude Code Skills — Building Automation a Single Skill Can't Reach
A practical guide to going beyond one-skill-at-a-time and composing multiple Claude Code Skills into real workflows. Pipeline, branching, and meta-skill patterns with full implementation examples and the failure modes you should design against.
Why Claude Code Skips .gitignore Files in Search — and How to Pull Them in When You Need Them
When .env.example or dist/ won't show up in Claude Code's Glob and Grep, .gitignore is the reason. Here's why it happens, plus three concrete ways through it: the Read tool, --no-ignore flags, and selective gitignore overrides.
Automating Frontend Accessibility Audits with Claude Code — axe-core, Hooks, and PR Comments That Actually Get Read
A practical way to make accessibility audits actually stick in a real codebase. Combine axe-core with Claude Code skills, pre-commit hooks, and a GitHub Actions PR comment, with code you can paste in today.
Observability for Claude Code with OpenTelemetry — A Production-Grade Tracing Guide for Agentic Workflows
Trace Claude Code agent runs end to end with OpenTelemetry. Hook integration, per-tool spans, MCP propagation, cost attribution, and sampling patterns that survive thousands of runs per day.
Stopping Claude Code from Quitting Mid-Task — Prompt Patterns and Verification Loops
Claude Code says "Done!" — but the build is broken and only half the files were touched. Here are the prompt patterns and automated verification loops I now use in production to keep agents running until the job is actually finished.
From /init Output to a CLAUDE.md That Actually Steers Claude — A 4-Step Refinement
The CLAUDE.md that /init generates is a draft, not a finished file. Here's the 4-step process I run on every new project to turn that draft into a CLAUDE.md that meaningfully changes how Claude behaves.
Pasting Screenshots into Claude Code: A Practical Workflow for Fixing UI Bugs Fast
A field-tested workflow for handing screenshots and design comps to Claude Code from the terminal—covering the three input methods, prompt templates that actually work, and the gotchas that bit me in production.