<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>AI All The Things</title><description>Real fixes from real agent builds.</description><link>https://aiallthethings.com/</link><item><title>One Claude Code Binary, Five Different Agents — Shell Aliases as Workflow Modes</title><link>https://aiallthethings.com/articles/claude-code/shell-aliases-as-agent-workflow-modes/</link><guid isPermaLink="true">https://aiallthethings.com/articles/claude-code/shell-aliases-as-agent-workflow-modes/</guid><description>Shell aliases that load different system prompts turn one Claude Code install into specialized agents for planning, review, coding, and deployment.</description><pubDate>Mon, 13 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Write the Plan with One Agent, Break It with Another — The Review Loop That Catches Real Bugs</title><link>https://aiallthethings.com/articles/claude-code/write-the-plan-then-break-it-review-loop/</link><guid isPermaLink="true">https://aiallthethings.com/articles/claude-code/write-the-plan-then-break-it-review-loop/</guid><description>One Claude session can&apos;t review its own work. A second session with a different system prompt finds critical gaps in under 60 seconds.</description><pubDate>Sun, 12 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Claude Code&apos;s Deny Rules Don&apos;t Protect You — Here&apos;s What Actually Does</title><link>https://aiallthethings.com/articles/claude-code/deny-rules-dont-protect-you-sandbox-does/</link><guid isPermaLink="true">https://aiallthethings.com/articles/claude-code/deny-rules-dont-protect-you-sandbox-does/</guid><description>Deny rules only block Claude&apos;s built-in tools. Bash subprocesses bypass them entirely. Sandbox mode is the real security boundary.</description><pubDate>Sat, 11 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Don&apos;t Have Claude Do Your Taxes</title><link>https://aiallthethings.com/articles/general/dont-have-claude-do-your-taxes/</link><guid isPermaLink="true">https://aiallthethings.com/articles/general/dont-have-claude-do-your-taxes/</guid><description>Taxes look like a lookup table. They&apos;re actually a two-layer problem — and knowing where to draw the line is the whole skill of building with AI.</description><pubDate>Wed, 08 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Discord Image Attachments → Claude Vision in Five Lines</title><link>https://aiallthethings.com/articles/obi-jam/discord-image-attachments-to-claude-vision/</link><guid isPermaLink="true">https://aiallthethings.com/articles/obi-jam/discord-image-attachments-to-claude-vision/</guid><description>Route Discord image attachments to Claude&apos;s vision API. Detect by content type, build image content blocks, send images before text.</description><pubDate>Tue, 07 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Channel-Aware Command Enrichment for Discord Agents</title><link>https://aiallthethings.com/articles/obi-jam/channel-aware-command-enrichment/</link><guid isPermaLink="true">https://aiallthethings.com/articles/obi-jam/channel-aware-command-enrichment/</guid><description>Commands in a specific channel get auto-injected with project context. Same command, different channel, different behavior — no user effort required.</description><pubDate>Mon, 06 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Official AI Agent Skills Are Here — Install Stripe and Cloudflare Best Practices in One File</title><link>https://aiallthethings.com/articles/claude-code/official-skills-stripe-cloudflare-best-practices-one-file/</link><guid isPermaLink="true">https://aiallthethings.com/articles/claude-code/official-skills-stripe-cloudflare-best-practices-one-file/</guid><description>Companies now ship SKILL.md files that encode their engineering team&apos;s best practices. Here&apos;s which ones exist and how to install the three that matter most.</description><pubDate>Sun, 05 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Building Per-Skill LLM Cost Tracking Into Your Agent</title><link>https://aiallthethings.com/articles/obi-jam/per-skill-llm-cost-tracking/</link><guid isPermaLink="true">https://aiallthethings.com/articles/obi-jam/per-skill-llm-cost-tracking/</guid><description>A JSONL-per-month cost logger that tags every API call by skill and user. Know exactly what each capability costs — not just total spend.</description><pubDate>Sun, 05 Apr 2026 00:00:00 GMT</pubDate></item><item><title>MCP Tool Schemas Accept Plain Objects — But Only Zod Actually Works</title><link>https://aiallthethings.com/articles/claude-code/mcp-tool-schemas-zod-not-plain-objects/</link><guid isPermaLink="true">https://aiallthethings.com/articles/claude-code/mcp-tool-schemas-zod-not-plain-objects/</guid><description>The MCP SDK silently accepts plain JSON Schema objects for tool parameters. Inputs arrive as undefined. Only Zod schemas validate at runtime.</description><pubDate>Sat, 04 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Prompt Caching for Multi-Skill Agents — Split Stable vs Dynamic</title><link>https://aiallthethings.com/articles/obi-jam/prompt-caching-for-multi-skill-agents/</link><guid isPermaLink="true">https://aiallthethings.com/articles/obi-jam/prompt-caching-for-multi-skill-agents/</guid><description>Your agent&apos;s identity doesn&apos;t change per request. Mark it for caching. Keep skill instructions in the dynamic block. Save 90% on repeated input tokens.</description><pubDate>Sat, 04 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Your MCP Server Isn&apos;t Broken — Your Config Is in the Wrong File</title><link>https://aiallthethings.com/articles/claude-code/mcp-env-vars-silent-failure-settings-json-vs-mcp-json/</link><guid isPermaLink="true">https://aiallthethings.com/articles/claude-code/mcp-env-vars-silent-failure-settings-json-vs-mcp-json/</guid><description>Claude Code silently ignores env vars in settings.json for MCP servers. Move them to .mcp.json at your project root or nothing works.</description><pubDate>Sun, 29 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Graceful Module Disable Pattern for Always-On Agents</title><link>https://aiallthethings.com/articles/obi-jam/graceful-module-disable-pattern-for-always-on-agents/</link><guid isPermaLink="true">https://aiallthethings.com/articles/obi-jam/graceful-module-disable-pattern-for-always-on-agents/</guid><description>How to pause agent capabilities without deleting code or polluting health checks with stale data.</description><pubDate>Tue, 24 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Validate AI-Parsed Output Before Your Code Touches It</title><link>https://aiallthethings.com/articles/obi-jam/validate-ai-parsed-output-before-your-code-touches-it/</link><guid isPermaLink="true">https://aiallthethings.com/articles/obi-jam/validate-ai-parsed-output-before-your-code-touches-it/</guid><description>When Claude vision extracts structured data from images, missing fields silently corrupt downstream math. A validation gate catches it.</description><pubDate>Tue, 24 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Building a Morning Brief: Multi-Source Agent Briefings</title><link>https://aiallthethings.com/articles/obi-jam/building-a-morning-brief-multi-source-agent-briefings/</link><guid isPermaLink="true">https://aiallthethings.com/articles/obi-jam/building-a-morning-brief-multi-source-agent-briefings/</guid><description>How to build a daily agent briefing that pulls from Google Calendar and Vikunja, formats it for Discord, and posts at 6:30am automatically.</description><pubDate>Wed, 18 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Discord Markdown Gotchas for Bot Messages</title><link>https://aiallthethings.com/articles/obi-jam/discord-markdown-gotchas-for-bot-messages/</link><guid isPermaLink="true">https://aiallthethings.com/articles/obi-jam/discord-markdown-gotchas-for-bot-messages/</guid><description>Discord headings need blank lines before them, markdown links generate embed previews, and messages over 2000 chars get rejected silently.</description><pubDate>Wed, 18 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Natural Language Date Parsing: The Same-Day Weekday Bug</title><link>https://aiallthethings.com/articles/obi-jam/natural-language-date-parsing-same-day-weekday-bug/</link><guid isPermaLink="true">https://aiallthethings.com/articles/obi-jam/natural-language-date-parsing-same-day-weekday-bug/</guid><description>When your reminder parser sees &apos;~wed 10pm&apos; on a Wednesday, it schedules next week instead of today. A one-character fix.</description><pubDate>Wed, 18 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Self-Hosted Open Source as Agent Infrastructure</title><link>https://aiallthethings.com/articles/obi-jam/self-hosted-open-source-as-agent-infrastructure/</link><guid isPermaLink="true">https://aiallthethings.com/articles/obi-jam/self-hosted-open-source-as-agent-infrastructure/</guid><description>Run Vikunja and Google Calendar locally and your agent gets task management, scheduling, and reminders for $0/month — no SaaS, no vendor lock-in.</description><pubDate>Wed, 18 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Your Agent Is Hallucinating Answers Instead of Running Tools</title><link>https://aiallthethings.com/articles/obi-jam/agent-hallucinating-answers-instead-of-running-tools/</link><guid isPermaLink="true">https://aiallthethings.com/articles/obi-jam/agent-hallucinating-answers-instead-of-running-tools/</guid><description>When command routing fails silently, the LLM fills the gap with confident fabrications. The user never knows the tool didn&apos;t run.</description><pubDate>Sun, 15 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Build Your Own Agent Harness: A Layer-by-Layer Primer</title><link>https://aiallthethings.com/articles/obi-jam/build-your-own-agent-harness-a-layer-by-layer-primer/</link><guid isPermaLink="true">https://aiallthethings.com/articles/obi-jam/build-your-own-agent-harness-a-layer-by-layer-primer/</guid><description>How to build an always-on AI agent runtime from scratch — transport, personality, LLM routing, skills, memory, and uptime — by validating one layer at a time.</description><pubDate>Sat, 14 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Claude for Thinking, Ollama for Doing</title><link>https://aiallthethings.com/articles/obi-jam/claude-for-thinking-ollama-for-doing/</link><guid isPermaLink="true">https://aiallthethings.com/articles/obi-jam/claude-for-thinking-ollama-for-doing/</guid><description>Route complex reasoning to Claude API and cheap tasks to local Ollama. Your agent doesn&apos;t need its best brain for every message.</description><pubDate>Sat, 14 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Conversation Memory Is Context Not History</title><link>https://aiallthethings.com/articles/obi-jam/conversation-memory-is-context-not-history/</link><guid isPermaLink="true">https://aiallthethings.com/articles/obi-jam/conversation-memory-is-context-not-history/</guid><description>Your agent doesn&apos;t need to remember every message. A sliding window of recent context beats an ever-growing archive.</description><pubDate>Sat, 14 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Make Your Agent Transport a Swappable Layer</title><link>https://aiallthethings.com/articles/obi-jam/make-your-agent-transport-a-swappable-layer/</link><guid isPermaLink="true">https://aiallthethings.com/articles/obi-jam/make-your-agent-transport-a-swappable-layer/</guid><description>Define a transport interface once. Discord today, iMessage tomorrow. Your orchestrator should never know which wire it&apos;s talking through.</description><pubDate>Sat, 14 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Keep Your Agent Runtime Under 400 Lines</title><link>https://aiallthethings.com/articles/obi-jam/keep-your-agent-runtime-under-400-lines/</link><guid isPermaLink="true">https://aiallthethings.com/articles/obi-jam/keep-your-agent-runtime-under-400-lines/</guid><description>If you can&apos;t diagnose a problem in your agent runtime in 30 minutes, your codebase is too big. Simplicity is a reliability feature.</description><pubDate>Sat, 14 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Separate the Harness from the Agent</title><link>https://aiallthethings.com/articles/obi-jam/separate-the-harness-from-the-agent/</link><guid isPermaLink="true">https://aiallthethings.com/articles/obi-jam/separate-the-harness-from-the-agent/</guid><description>Your agent runtime should know nothing about who it&apos;s running. Split machine from mind and every agent gets portable.</description><pubDate>Sat, 14 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Your VPS Is Costing You More Than the Invoice</title><link>https://aiallthethings.com/articles/obi-jam/your-vps-is-costing-you-more-than-the-invoice/</link><guid isPermaLink="true">https://aiallthethings.com/articles/obi-jam/your-vps-is-costing-you-more-than-the-invoice/</guid><description>The real cost of a rented server isn&apos;t the monthly bill. It&apos;s the maintenance time that could go toward building the product.</description><pubDate>Sat, 14 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Edit Tool Fails the Second Time the Same Field Gets Updated — Use sed Instead</title><link>https://aiallthethings.com/articles/skills/edit-tool-fails-second-time-same-field-use-sed-instead/</link><guid isPermaLink="true">https://aiallthethings.com/articles/skills/edit-tool-fails-second-time-same-field-use-sed-instead/</guid><description>The Edit tool fails when old_string no longer exists. For dates, timestamps, and counters that update repeatedly, sed is the right tool.</description><pubDate>Wed, 11 Mar 2026 00:00:00 GMT</pubDate></item><item><title>System Cron Is the Wrong Place for OpenClaw Agent Jobs</title><link>https://aiallthethings.com/articles/openclaw/system-cron-is-the-wrong-place-for-openclaw-agent-jobs/</link><guid isPermaLink="true">https://aiallthethings.com/articles/openclaw/system-cron-is-the-wrong-place-for-openclaw-agent-jobs/</guid><description>System cron won&apos;t find nvm binaries, won&apos;t log failures, and won&apos;t deliver to Discord. OpenClaw cron does all three. Use the right tool for the job.</description><pubDate>Mon, 09 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Route Expensive Model Calls to Subagents with sessions_spawn</title><link>https://aiallthethings.com/articles/openclaw/route-expensive-model-calls-to-subagents-with-sessions-spawn/</link><guid isPermaLink="true">https://aiallthethings.com/articles/openclaw/route-expensive-model-calls-to-subagents-with-sessions-spawn/</guid><description>Use sessions_spawn&apos;s model parameter to run heavy tasks on Opus while keeping your orchestrator on a fast, cheap model.</description><pubDate>Sat, 07 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Connecting Two OpenClaw Agents Over Tailscale: How ACP Pairing Works</title><link>https://aiallthethings.com/articles/openclaw/connecting-two-openclaw-agents-over-tailscale-acp-pairing/</link><guid isPermaLink="true">https://aiallthethings.com/articles/openclaw/connecting-two-openclaw-agents-over-tailscale-acp-pairing/</guid><description>How to wire agent-to-agent communication in OpenClaw using ACP, and why the pairing-required loop has nothing to do with your token.</description><pubDate>Fri, 06 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Don&apos;t Tell Your Agent to Send — Let the Runtime Do It</title><link>https://aiallthethings.com/articles/openclaw/dont-tell-your-agent-to-send/</link><guid isPermaLink="true">https://aiallthethings.com/articles/openclaw/dont-tell-your-agent-to-send/</guid><description>When an OpenClaw scheduled job uses announce mode, the agent just needs to reply. Telling it to &apos;send&apos; makes it reach for a tool — and fail.</description><pubDate>Fri, 06 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Turn Your Agent&apos;s Standing Procedures Into Skills</title><link>https://aiallthethings.com/articles/skills/turn-your-agents-standing-procedures-into-skills/</link><guid isPermaLink="true">https://aiallthethings.com/articles/skills/turn-your-agents-standing-procedures-into-skills/</guid><description>Extracting workflows buried in config docs into structured skills makes them triggerable, testable, and independently improvable.</description><pubDate>Thu, 05 Mar 2026 00:00:00 GMT</pubDate></item><item><title>When to Farm and When to Just Do the Work</title><link>https://aiallthethings.com/articles/skills/when-to-farm-and-when-to-just-do-the-work/</link><guid isPermaLink="true">https://aiallthethings.com/articles/skills/when-to-farm-and-when-to-just-do-the-work/</guid><description>Most orchestrator agents default to spawning subagents for everything. The overhead only pays off on tasks that won&apos;t fit in one session.</description><pubDate>Thu, 05 Mar 2026 00:00:00 GMT</pubDate></item><item><title>What a Skill Audit Actually Finds</title><link>https://aiallthethings.com/articles/skills/what-a-skill-audit-actually-finds/</link><guid isPermaLink="true">https://aiallthethings.com/articles/skills/what-a-skill-audit-actually-finds/</guid><description>Auditing 20 agent skills surfaced undertriggering descriptions, missing persistence, stale docs, and duplicated boilerplate. Here&apos;s the pattern.</description><pubDate>Thu, 05 Mar 2026 00:00:00 GMT</pubDate></item><item><title>OpenClaw Nodes Are Not Agent Messaging</title><link>https://aiallthethings.com/articles/openclaw/agent-messaging-vs-nodes-dont-confuse-them/</link><guid isPermaLink="true">https://aiallthethings.com/articles/openclaw/agent-messaging-vs-nodes-dont-confuse-them/</guid><description>Nodes are device peripherals — camera, screen, remote shell. If you want agents on separate machines to talk, you need to build that yourself.</description><pubDate>Wed, 04 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Agents Batch Everything Unless You Tell Them Not To</title><link>https://aiallthethings.com/articles/openclaw/agents-batch-everything-unless-you-tell-them-not-to/</link><guid isPermaLink="true">https://aiallthethings.com/articles/openclaw/agents-batch-everything-unless-you-tell-them-not-to/</guid><description>Agents batch async signals into scheduled reports by default. Time-sensitive events need explicit classification or they&apos;ll wait for the next briefing.</description><pubDate>Wed, 04 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Ditch Discord as Your Agent Message Bus</title><link>https://aiallthethings.com/articles/openclaw/ditch-discord-as-your-agent-message-bus/</link><guid isPermaLink="true">https://aiallthethings.com/articles/openclaw/ditch-discord-as-your-agent-message-bus/</guid><description>Replace Discord with direct Tailscale HTTP for agent-to-agent communication and inject messages into a remote OpenClaw agent.</description><pubDate>Wed, 04 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Your Agent Inbox Needs a Callback</title><link>https://aiallthethings.com/articles/openclaw/your-agent-inbox-needs-a-callback/</link><guid isPermaLink="true">https://aiallthethings.com/articles/openclaw/your-agent-inbox-needs-a-callback/</guid><description>HTTP endpoints that trigger LLM turns can&apos;t block waiting for a response. Accept immediately, process async, give the agent a route to reply.</description><pubDate>Wed, 04 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Always Specify the Timezone When Asking an OpenClaw Agent for the Date</title><link>https://aiallthethings.com/articles/openclaw/always-specify-the-timezone-when-asking-an-openclaw-agent-for-the-date/</link><guid isPermaLink="true">https://aiallthethings.com/articles/openclaw/always-specify-the-timezone-when-asking-an-openclaw-agent-for-the-date/</guid><description>Agents in isolated sessions default to UTC or guess the timezone. One line in your skill gives you the correct local date every time.</description><pubDate>Mon, 02 Mar 2026 00:00:00 GMT</pubDate></item><item><title>How to Stop OpenClaw Cron Agents from Sending Messages When There&apos;s Nothing to Do</title><link>https://aiallthethings.com/articles/openclaw/how-to-stop-openclaw-cron-agents-from-sending-messages-when-there-is-nothing-to-do/</link><guid isPermaLink="true">https://aiallthethings.com/articles/openclaw/how-to-stop-openclaw-cron-agents-from-sending-messages-when-there-is-nothing-to-do/</guid><description>Telling a cron agent to &apos;stop silently&apos; doesn&apos;t work — the model narrates it anyway. Here&apos;s the phrasing that actually suppresses output.</description><pubDate>Mon, 02 Mar 2026 00:00:00 GMT</pubDate></item><item><title>OpenClaw Still Running Old Version After npm Upgrade? Reinstall the Daemon</title><link>https://aiallthethings.com/articles/openclaw/openclaw-still-running-old-version-after-npm-upgrade-reinstall-the-daemon/</link><guid isPermaLink="true">https://aiallthethings.com/articles/openclaw/openclaw-still-running-old-version-after-npm-upgrade-reinstall-the-daemon/</guid><description>Upgrading OpenClaw via npm doesn&apos;t update the systemd service file. Run openclaw daemon install --force to sync the service with the new binary.</description><pubDate>Sun, 01 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Why Your OpenClaw Agent Only Remembered One Day of Work</title><link>https://aiallthethings.com/articles/openclaw/why-your-openclaw-agent-only-remembered-one-day-of-work/</link><guid isPermaLink="true">https://aiallthethings.com/articles/openclaw/why-your-openclaw-agent-only-remembered-one-day-of-work/</guid><description>Scheduled agent jobs run in isolated sessions with no memory. Here&apos;s how to fix weekly recap logic that silently drops data.</description><pubDate>Sun, 01 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Why Your OpenClaw Skill Works in Text But Not as a Slash Command</title><link>https://aiallthethings.com/articles/openclaw/why-your-openclaw-skill-works-in-text-but-not-as-a-slash-command/</link><guid isPermaLink="true">https://aiallthethings.com/articles/openclaw/why-your-openclaw-skill-works-in-text-but-not-as-a-slash-command/</guid><description>OpenClaw skill names with hyphens break Discord slash command routing. Use underscores in both the folder name and name field.</description><pubDate>Sun, 01 Mar 2026 00:00:00 GMT</pubDate></item></channel></rss>