All Articles
Authoring Dynamic Workflows: Building Reusable Research Pipelines with phase / agent / pipeline
A hands-on guide to writing your own Claude Code Dynamic Workflows: the phase / agent / pipeline / parallel primitives, locking outputs with JSON Schema, porting the adversarial-verification pattern, and designing for token cost.
Why git Says detected dubious ownership in repository — and How to Get Past It
An automation that ran fine yesterday suddenly dies on detected dubious ownership in repository. Here is what actually triggers it, the safe.directory fix, and how it differs from a real Permission denied.
Running Claude Code's Dynamic Workflows: What I Learned About Orchestrating Subagents
A hands-on walk through Claude Code's Dynamic Workflows (v2.1.154): running /deep-research, enabling the feature, watching progress with /workflows, and saving a workflow for reuse, from an indie developer's angle.
A Month of Reading App Store Connect Sales and Trends Weekly with Claude in Chrome
Notes from one month of switching App Store Connect Sales and Trends from a monthly glance to a weekly review, with Claude in Chrome walking the dashboards and four apps worth of numbers showing me what I had been missing.
Localizing an App Store Screenshot PSD into 15 Languages Overnight with Cowork
A work log of localizing the store screenshots for the Android wallpaper app 'Beautiful Wallpapers' into many languages with Cowork: extracting text with psd-tools, pouring translations into layer names, and the real walls I hit with Thai and Korean glyphs.
Catching Claude Quality Regressions With an Eval Harness
I tweaked a prompt by one line and, for a different set of inputs, the output quietly got worse. Here is the eval harness I built to protect Claude's production quality across every prompt change and model update, with full implementation code and real operating numbers.
Diagnosing invalid_request_error When You Pass an Image URL to the Claude API
When the Claude API rejects an image you passed via `source.type: url`, the root cause almost always lives in one of four buckets: scheme, MIME, size, or reachability. Here is the diagnostic order I use in production.
Hand Claude Code a One-Line Done-When and Let It Run — Inside My Four-Site Article Pipeline
How I built an E2E-driven article pipeline that runs Claude Code autonomously across four AI blogs, publishing 16 articles per day. The trick is collapsing the done-when into a single Python gate and capping retries at five.
Splitting Claude API prompt cache into 5m and 1h tiers — separate TTLs cut cost and stabilize ops
Anthropic's cache_control supports two TTLs: 5 minutes and 1 hour. Splitting them into a two-tier layout — 1h for static system/tools, 5m for variable few-shot — meaningfully changed both my costs and my on-call life. Here's the design with the numbers I observed.
Three Weeks of Letting Claude in Chrome Tune My AdMob Mediation Priorities
I let Claude in Chrome handle the reordering of AdMob mediation priorities for three weeks. Here is how I set the threshold, the three prompt changes that actually mattered, the numbers, and the parts I deliberately kept under human control.
Rewiring Claude API Observability with OpenTelemetry GenAI Conventions — A Design Memo for Model Migrations and Cost Audits
An implementation memo for rewiring production observability around Claude API to match the OpenTelemetry GenAI semantic conventions — span attributes, metrics, cost tracking, and model-migration replay — written from running this in indie services for six months.
The Six-Step Order I Use Before Handing Claude Code to Non-Engineers — A Rollout Design for Tiny Teams
I took CyberAgent WINTICKET's six-session Claude Code training for business roles and compressed it into a rollout sequence that fits a solo indie developer or a tiny team. Covers Permission design, supply-chain defense with pnpm, Managed Settings, and shipping a first real PR.