<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>WithAgents — Agentic Development</title>
    <description>Writing on building production software with AI agents. The WithAgents field journal — patterns, tools, and field notes from the practice.</description>
    <link>https://withagents.dev</link>
    <atom:link href="https://withagents.dev/feed.xml" rel="self" type="application/rss+xml"/>
    <language>en-us</language>
    <lastBuildDate>Tue, 05 May 2026 16:08:34 GMT</lastBuildDate>
    <item>
      <title><![CDATA[23,479 Sessions: What Actually Works in Agentic Development]]></title>
      <description><![CDATA[What 11.6GB of session data across 27 projects reveals about building production software with AI agents]]></description>
      <link>https://withagents.dev/posts/post-01-series-launch</link>
      <guid isPermaLink="true">https://withagents.dev/posts/post-01-series-launch</guid>
      <pubDate>Fri, 06 Mar 2026 00:00:00 GMT</pubDate>
      <author>Nick Krzemienski</author>
    </item>
    <item>
      <title><![CDATA[3 Agents Found the Bug 1 Agent Missed]]></title>
      <description><![CDATA[Why multi-agent consensus catches what solo review cannot]]></description>
      <link>https://withagents.dev/posts/post-02-multi-agent-consensus</link>
      <guid isPermaLink="true">https://withagents.dev/posts/post-02-multi-agent-consensus</guid>
      <pubDate>Fri, 06 Mar 2026 00:00:00 GMT</pubDate>
      <author>Nick Krzemienski</author>
    </item>
    <item>
      <title><![CDATA[I Banned Unit Tests and Shipped Faster]]></title>
      <description><![CDATA[Why functional validation replaced testing when AI writes the code]]></description>
      <link>https://withagents.dev/posts/post-03-functional-validation</link>
      <guid isPermaLink="true">https://withagents.dev/posts/post-03-functional-validation</guid>
      <pubDate>Fri, 06 Mar 2026 00:00:00 GMT</pubDate>
      <author>Nick Krzemienski</author>
    </item>
    <item>
      <title><![CDATA[The 7-Layer Prompt Engineering Stack]]></title>
      <description><![CDATA[How layered enforcement turned written rules into mechanical discipline across 23,479 AI coding sessions]]></description>
      <link>https://withagents.dev/posts/post-07-prompt-engineering-stack</link>
      <guid isPermaLink="true">https://withagents.dev/posts/post-07-prompt-engineering-stack</guid>
      <pubDate>Fri, 06 Mar 2026 00:00:00 GMT</pubDate>
      <author>Nick Krzemienski</author>
    </item>
    <item>
      <title><![CDATA[194 Parallel Agents, Zero Merge Conflicts]]></title>
      <description><![CDATA[Git worktrees give each AI agent its own filesystem — a five-stage pipeline makes sure they all come back together]]></description>
      <link>https://withagents.dev/posts/post-06-parallel-worktrees</link>
      <guid isPermaLink="true">https://withagents.dev/posts/post-06-parallel-worktrees</guid>
      <pubDate>Fri, 06 Mar 2026 00:00:00 GMT</pubDate>
      <author>Nick Krzemienski</author>
    </item>
    <item>
      <title><![CDATA[35 Worktrees, 12 Agents, Zero Merge Conflicts]]></title>
      <description><![CDATA[Parallelism gets agents working at the same time. Choreography is what keeps their work from eating itself alive when they finish.]]></description>
      <link>https://withagents.dev/posts/post-14-multi-agent-merge</link>
      <guid isPermaLink="true">https://withagents.dev/posts/post-14-multi-agent-merge</guid>
      <pubDate>Fri, 06 Mar 2026 00:00:00 GMT</pubDate>
      <author>Nick Krzemienski</author>
    </item>
    <item>
      <title><![CDATA[Spec-Driven Development: Why YAML Beats Verbal Instructions for AI Agents]]></title>
      <description><![CDATA[A single YAML file replaces meetings, tickets, and Slack threads — agents read it, build in parallel, and ship without asking clarifying questions]]></description>
      <link>https://withagents.dev/posts/post-11-spec-driven-development</link>
      <guid isPermaLink="true">https://withagents.dev/posts/post-11-spec-driven-development</guid>
      <pubDate>Fri, 06 Mar 2026 00:00:00 GMT</pubDate>
      <author>Nick Krzemienski</author>
    </item>
    <item>
      <title><![CDATA[The Designer-Less Design Workflow: Stitch MCP and the Death of Figma Handoffs]]></title>
      <description><![CDATA[269 AI-generated screens, zero Figma files, and the branding bug that taught me to treat prompts as build artifacts]]></description>
      <link>https://withagents.dev/posts/post-10-stitch-design-to-code</link>
      <guid isPermaLink="true">https://withagents.dev/posts/post-10-stitch-design-to-code</guid>
      <pubDate>Fri, 06 Mar 2026 00:00:00 GMT</pubDate>
      <author>Nick Krzemienski</author>
    </item>
    <item>
      <title><![CDATA[Teaching AI to Remember: Cross-Session Memory]]></title>
      <description><![CDATA[A SQLite observation store and MCP memory server that turns 23,479 sessions of amnesia into searchable institutional knowledge]]></description>
      <link>https://withagents.dev/posts/post-12-cross-session-memory</link>
      <guid isPermaLink="true">https://withagents.dev/posts/post-12-cross-session-memory</guid>
      <pubDate>Fri, 06 Mar 2026 00:00:00 GMT</pubDate>
      <author>Nick Krzemienski</author>
    </item>
    <item>
      <title><![CDATA[84 Thinking Steps to Find a One-Line Bug]]></title>
      <description><![CDATA[How structured hypothesis-test-revise chains solve bugs that brute force debugging never will]]></description>
      <link>https://withagents.dev/posts/post-13-sequential-thinking-debugging</link>
      <guid isPermaLink="true">https://withagents.dev/posts/post-13-sequential-thinking-debugging</guid>
      <pubDate>Fri, 06 Mar 2026 00:00:00 GMT</pubDate>
      <author>Nick Krzemienski</author>
    </item>
    <item>
      <title><![CDATA[The Anatomy of a Skill]]></title>
      <description><![CDATA[How SKILL.md files turn repeatable workflows into invocable prompt programs — and the factory that generates them]]></description>
      <link>https://withagents.dev/posts/post-15-skills-anatomy</link>
      <guid isPermaLink="true">https://withagents.dev/posts/post-15-skills-anatomy</guid>
      <pubDate>Fri, 06 Mar 2026 00:00:00 GMT</pubDate>
      <author>Nick Krzemienski</author>
    </item>
    <item>
      <title><![CDATA[Building Claude Code Plugins That Actually Work]]></title>
      <description><![CDATA[Hooks, skills, and the enforcement layer that turns agent suggestions into hard stops across 23,479 sessions]]></description>
      <link>https://withagents.dev/posts/post-16-claude-code-plugins</link>
      <guid isPermaLink="true">https://withagents.dev/posts/post-16-claude-code-plugins</guid>
      <pubDate>Fri, 06 Mar 2026 00:00:00 GMT</pubDate>
      <author>Nick Krzemienski</author>
    </item>
    <item>
      <title><![CDATA[The iOS Patterns Compendium: What 4,597 Sessions Taught Me About SwiftUI, State, and Survival]]></title>
      <description><![CDATA[Five battle-tested Swift patterns from building three iOS apps with AI agents — covering state management, memory profiling, iCloud sync, Keychain security, and multi-simulator validation]]></description>
      <link>https://withagents.dev/posts/post-05-ios-patterns</link>
      <guid isPermaLink="true">https://withagents.dev/posts/post-05-ios-patterns</guid>
      <pubDate>Fri, 06 Mar 2026 00:00:00 GMT</pubDate>
      <author>Nick Krzemienski</author>
    </item>
    <item>
      <title><![CDATA[SDK vs CLI: The Decision Framework That Took 23,479 Sessions to Learn]]></title>
      <description><![CDATA[When to call the API directly, when to use Claude Code CLI, and when you need both — a practical guide from the series finale]]></description>
      <link>https://withagents.dev/posts/post-18-sdk-vs-cli</link>
      <guid isPermaLink="true">https://withagents.dev/posts/post-18-sdk-vs-cli</guid>
      <pubDate>Fri, 06 Mar 2026 00:00:00 GMT</pubDate>
      <author>Nick Krzemienski</author>
    </item>
    <item>
      <title><![CDATA[The Five-Layer Streaming Bridge]]></title>
      <description><![CDATA[Token-by-token Claude streaming on iOS — after four failed architectures]]></description>
      <link>https://withagents.dev/posts/post-04-ios-streaming-bridge</link>
      <guid isPermaLink="true">https://withagents.dev/posts/post-04-ios-streaming-bridge</guid>
      <pubDate>Fri, 06 Mar 2026 00:00:00 GMT</pubDate>
      <author>Nick Krzemienski</author>
    </item>
    <item>
      <title><![CDATA[The Self-Correcting Loop: How Ralph Turned Hat-Based Orchestration Into Autonomous Execution]]></title>
      <description><![CDATA[One hat per session, one event per hat, and the 1:47 AM guidance command that finished 28 tasks by morning]]></description>
      <link>https://withagents.dev/posts/post-08-ralph-orchestrator</link>
      <guid isPermaLink="true">https://withagents.dev/posts/post-08-ralph-orchestrator</guid>
      <pubDate>Fri, 06 Mar 2026 00:00:00 GMT</pubDate>
      <author>Nick Krzemienski</author>
    </item>
    <item>
      <title><![CDATA[Mining 23,479 Sessions: What 3.4 Million Lines of AI Logs Actually Reveal]]></title>
      <description><![CDATA[Building a pipeline to extract patterns from 11.6GB of Claude Code session data — and discovering the series was using the wrong numbers]]></description>
      <link>https://withagents.dev/posts/post-09-code-tales</link>
      <guid isPermaLink="true">https://withagents.dev/posts/post-09-code-tales</guid>
      <pubDate>Fri, 06 Mar 2026 00:00:00 GMT</pubDate>
      <author>Nick Krzemienski</author>
    </item>
    <item>
      <title><![CDATA[The CCB Evolution: From Bash Script to Autonomous Builder]]></title>
      <description><![CDATA[Four generations of Claude Code builders — each one a lesson that cost real money and real patience to learn]]></description>
      <link>https://withagents.dev/posts/post-17-ccb-evolution</link>
      <guid isPermaLink="true">https://withagents.dev/posts/post-17-ccb-evolution</guid>
      <pubDate>Fri, 06 Mar 2026 00:00:00 GMT</pubDate>
      <author>Nick Krzemienski</author>
    </item>
    <item>
      <title><![CDATA[Anneal: Three Planning Variants for Agentic Development]]></title>
      <description><![CDATA[Linear, tournament, and convergence pipelines that turn rough ideas into executable plans]]></description>
      <link>https://withagents.dev/posts/post-19-anneal</link>
      <guid isPermaLink="true">https://withagents.dev/posts/post-19-anneal</guid>
      <pubDate>Thu, 23 Apr 2026 00:00:00 GMT</pubDate>
      <author>Nick Krzemienski</author>
    </item>
    <item>
      <title><![CDATA[Crucible: Refusal-Driven Verification for Claude Code]]></title>
      <description><![CDATA[The gate between 'I did the work' and 'the work is done' — 10 phases, 3 reviewers, 3 oracles, zero override flags.]]></description>
      <link>https://withagents.dev/posts/post-20-crucible</link>
      <guid isPermaLink="true">https://withagents.dev/posts/post-20-crucible</guid>
      <pubDate>Tue, 28 Apr 2026 00:00:00 GMT</pubDate>
      <author>Nick Krzemienski</author>
    </item>
    <item>
      <title><![CDATA[The Economics of a Session]]></title>
      <description><![CDATA[Token spend per task complexity, when Opus actually pays back over Sonnet, and the cost-of-defect curve that makes "use the cheap model" the most expensive choice you can make]]></description>
      <link>https://withagents.dev/posts/post-21-economics-of-a-session</link>
      <guid isPermaLink="true">https://withagents.dev/posts/post-21-economics-of-a-session</guid>
      <pubDate>Tue, 05 May 2026 00:00:00 GMT</pubDate>
      <author>Nick Krzemienski</author>
    </item>
    <item>
      <title><![CDATA[Hooks as a Control Plane]]></title>
      <description><![CDATA[Four hook events form the entire governance surface of Claude Code — refuse tools, gate commits, block deploys, enforce evidence. Once you see it as a control plane, the whole agent stack changes shape.]]></description>
      <link>https://withagents.dev/posts/post-22-hook-control-plane</link>
      <guid isPermaLink="true">https://withagents.dev/posts/post-22-hook-control-plane</guid>
      <pubDate>Fri, 08 May 2026 00:00:00 GMT</pubDate>
      <author>Nick Krzemienski</author>
    </item>
    <item>
      <title><![CDATA[Prompt Caching Economics]]></title>
      <description><![CDATA[Cache reads cost a tenth what cache writes cost, and most agents leave that 90% discount on the table because nobody structures their system prompt for hits. Here's how to order your messages so the cache pays you back.]]></description>
      <link>https://withagents.dev/posts/post-23-prompt-caching-economics</link>
      <guid isPermaLink="true">https://withagents.dev/posts/post-23-prompt-caching-economics</guid>
      <pubDate>Tue, 12 May 2026 00:00:00 GMT</pubDate>
      <author>Nick Krzemienski</author>
    </item>
    <item>
      <title><![CDATA[Custom MCP Servers]]></title>
      <description><![CDATA[When the prebuilt MCP servers run out of road, you write your own. The protocol is a four-method handshake, the transport is stdio or HTTP, and the whole thing fits in 200 lines of TypeScript.]]></description>
      <link>https://withagents.dev/posts/post-24-custom-mcp-servers</link>
      <guid isPermaLink="true">https://withagents.dev/posts/post-24-custom-mcp-servers</guid>
      <pubDate>Fri, 15 May 2026 00:00:00 GMT</pubDate>
      <author>Nick Krzemienski</author>
    </item>
    <item>
      <title><![CDATA[Docs When Readers Aren't Human]]></title>
      <description><![CDATA[AGENTS.md, SKILL.md, CLAUDE.md — three doc formats nobody asked for, written for an audience that doesn't read narrative. The 95:5 ratio between human-targeted and agent-targeted docs is about to flip.]]></description>
      <link>https://withagents.dev/posts/post-25-docs-for-non-human-readers</link>
      <guid isPermaLink="true">https://withagents.dev/posts/post-25-docs-for-non-human-readers</guid>
      <pubDate>Tue, 19 May 2026 00:00:00 GMT</pubDate>
      <author>Nick Krzemienski</author>
    </item>
    <item>
      <title><![CDATA[Giving Agents Secrets Without Giving Agents Secrets]]></title>
      <description><![CDATA[The pattern: secrets enter the agent's environment at the tool boundary, not in the prompt. Vault-injected env. 1Password op-run envelopes. Hooks that scrub before write. Your session JSONL gets archived; nothing in there should be sensitive.]]></description>
      <link>https://withagents.dev/posts/post-26-secrets-without-secrets</link>
      <guid isPermaLink="true">https://withagents.dev/posts/post-26-secrets-without-secrets</guid>
      <pubDate>Fri, 22 May 2026 00:00:00 GMT</pubDate>
      <author>Nick Krzemienski</author>
    </item>
    <item>
      <title><![CDATA[The Session Is the Artifact]]></title>
      <description><![CDATA[The JSONL session file is the primary deliverable, not the resulting code. Replayable, line-addressable, auditable — 11.6 GB across 538 directories of permanent record telling you exactly how every commit got written.]]></description>
      <link>https://withagents.dev/posts/post-27-session-as-artifact</link>
      <guid isPermaLink="true">https://withagents.dev/posts/post-27-session-as-artifact</guid>
      <pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate>
      <author>Nick Krzemienski</author>
    </item>
    <item>
      <title><![CDATA[The AI-Pattern Detector That Ships This Series]]></title>
      <description><![CDATA[Six banned phrases, three syntactic patterns, one cosine-similarity fingerprint, and a humanize loop that rewrites flagged passages until the voice matches. The gate every post in this series passes through.]]></description>
      <link>https://withagents.dev/posts/post-28-ai-pattern-detector</link>
      <guid isPermaLink="true">https://withagents.dev/posts/post-28-ai-pattern-detector</guid>
      <pubDate>Fri, 29 May 2026 00:00:00 GMT</pubDate>
      <author>Nick Krzemienski</author>
    </item>
    <item>
      <title><![CDATA[The Skill Marketplace Problem]]></title>
      <description><![CDATA[Seventy-one marketplaces subscribed. One hundred thirty-two plugins installed. Twenty-six marketplaces installed-but-unused. The discovery overhead is the bottleneck — and it's getting worse.]]></description>
      <link>https://withagents.dev/posts/post-29-skill-marketplace-problem</link>
      <guid isPermaLink="true">https://withagents.dev/posts/post-29-skill-marketplace-problem</guid>
      <pubDate>Tue, 02 Jun 2026 00:00:00 GMT</pubDate>
      <author>Nick Krzemienski</author>
    </item>
    <item>
      <title><![CDATA[Notification Architecture for Async Agents]]></title>
      <description><![CDATA[Agents finish at three in the morning. Severity model, channel routing, the exhausted-state-fires-alert pattern. The notification layer that lets you sleep while your work runs.]]></description>
      <link>https://withagents.dev/posts/post-30-notification-architecture</link>
      <guid isPermaLink="true">https://withagents.dev/posts/post-30-notification-architecture</guid>
      <pubDate>Fri, 05 Jun 2026 00:00:00 GMT</pubDate>
      <author>Nick Krzemienski</author>
    </item>
    <item>
      <title><![CDATA[Drift Detection]]></title>
      <description><![CDATA[Specs and code diverge silently. The 60-day audit pattern, the four-class taxonomy (dead, drifted, lying, fine), and what I do every quarter to make sure my docs still describe what my code actually does.]]></description>
      <link>https://withagents.dev/posts/post-31-drift-detection</link>
      <guid isPermaLink="true">https://withagents.dev/posts/post-31-drift-detection</guid>
      <pubDate>Tue, 09 Jun 2026 00:00:00 GMT</pubDate>
      <author>Nick Krzemienski</author>
    </item>
    <item>
      <title><![CDATA[The 529 Cascade]]></title>
      <description><![CDATA[Anthropic returns 529 (overload) intermittently. Naive retries themselves consume the bucket and storm the API a hundred times over. The retry policy that costs less, not more.]]></description>
      <link>https://withagents.dev/posts/post-32-the-529-cascade</link>
      <guid isPermaLink="true">https://withagents.dev/posts/post-32-the-529-cascade</guid>
      <pubDate>Fri, 12 Jun 2026 00:00:00 GMT</pubDate>
      <author>Nick Krzemienski</author>
    </item>
  </channel>
</rss>