# mager.co > Mager is a software engineer in Chicago specializing in personal software. He built [prxps](https://github.com/mager/prxps), [loooom](https://github.com/mager/loooom.xyz), and [kotsu](https://github.com/mager/kotsu), and writes about what worked, what broke, and what he learned along the way. ## Software - [Software](https://www.mager.co/software/): Perch, Mood Shell, Homeport, and prxps. Project websites, public source links, and build logs. ## Blog - [Homeport: a place for Codex to keep working](https://www.mager.co/blog/2026-10-04-homeport/): A private Python and Pydantic workspace for starting Codex tasks, leaving them running on a Mac mini, and returning to the same conversation. - [Fine-tuning a small language model with Hugging Face TRL](https://www.mager.co/blog/2026-10-10-fine-tuning-with-trl/): A first fine-tuning experiment for software engineers: teach a small model to label issues, compare it with the original, and learn from the mistakes. - [Diving into Impeccable: design verbs, slop detection, and learning to contribute](https://www.mager.co/blog/2026-10-04-diving-into-impeccable/): One of my favorite plugins turns design direction into something I can ask for by name. Exploring its skills, browser tools, and static analyzer made me want to help build it. - [My nine albums (2026)](https://www.mager.co/blog/2026-10-04-my-nine-albums/): Nine albums, from Fabolous in the golf ball picker cart and Jay-Z in my first car to The Weeknd on repeat in NYC. - [Perch: a private control center for my Mac mini](https://www.mager.co/blog/2026-10-04-perch/): A bird in the menu bar, a real heartbeat from my Mini, and one screen for the things I want to check. A running build log for my open-source, self-hosted Mac dashboard. - [Apple Cinnamon Bread](https://www.mager.co/blog/2026-10-03-apple-cinnamon-bread/): A buttery yogurt loaf with sautéed apples and a crisp cinnamon-sugar top. - [Mood Shell: a small Rust prompt with themes you can share as Markdown](https://www.mager.co/blog/2026-10-02-mood-shell/): Mood Shell is my small Rust prompt toolkit, with live color previews, Zsh history suggestions, Git shortcuts, and a gallery where you can make and share Markdown themes. - [Building a Rust backend for the prxps RXP calculator](https://www.mager.co/blog/2026-09-30-rust-backend-prxps-rxp-calculator/): Returning to Rust after one Advent of Code puzzle, then building a small reward API and connecting it to prxps through SvelteKit. - [mager-bench 1.1: make the model find the bug](https://www.mager.co/blog/2026-09-27-mager-bench-1-1/): Counterexample Lab replaces easy implementation tasks with compact regression tests. First calibration: Astra catches 7/8 faults; Sol catches 5–7/8 across three attempts each. - [Jev: a decision model](https://www.mager.co/blog/2026-09-19-jev-decision-model/): Testing TypeSafe's Jev through Vercel AI Gateway, putting it inside a decision-heavy skill, and building a matchup reader for my reputation-based sports picks app. - [Instinct: a capable agent in your DMs](https://www.mager.co/blog/2026-09-12-instinct/): What changed when I could text an agent from iMessage: everyday cleanup, questions worth following up on, and the trust that makes casual delegation possible. - [Euglena Yogo Parfait](https://www.mager.co/blog/2026-09-11-euglena-yogo-parfait/): A bag of euglena powder from Ishigaki, a yogurt recipe on the package, and five minutes to make breakfast. - [fx: a 6MB coding agent built to be embedded](https://www.mager.co/blog/2026-08-23-fx-agent-runtime/): Vercel Labs shipped fx — a ~6MB, Zig-written coding agent that cold-starts in 10µs, speaks ACP, mounts MCP servers, and prints JSON. It's not a hosted service; it's a runtime you embed. Here's what it is, where I'd put it in my always-on harness, and how a large logistics operator would use it. - [tmux: orchestrating agents with send-keys and capture-pane](https://www.mager.co/blog/2026-08-23-orchestrating-agents-with-tmux/): tmux is a 2007 terminal multiplexer that turns out to be the most native orchestration layer AI agents have: one session per agent, driven by any principal — human or model — with send-keys and capture-pane. No SDK, no plugin, no vendor lock-in; Claude, Codex, and OpenCode all speak it out of the box. - [OpenSpec: The agreement layer that keeps your agent honest](https://www.mager.co/blog/2026-08-19-openspec/): AI coding assistants confidently build the wrong thing when requirements live only in chat. OpenSpec adds a lightweight spec layer — explore, propose, build, archive — so you agree on what to build before any code is written, and the specs persist in your repo as history your agent can read back. Here's the mental model, a real change from a skills discovery portal, and where it earns its keep. - [AI Gateway: the end of the single-provider AI subscription](https://www.mager.co/blog/2026-08-16-ai-gateway-eve-stack/): I'm moving off single-provider AI subscriptions toward a stack of parts — Eve for agents, Vercel AI Gateway as the primary model access and billing layer with no-markup provider pricing, and OpenCode Go kept as the fallback — and the enterprise version of that stack is the real product. - [OpenCode CLI: ten commands worth knowing](https://www.mager.co/blog/2026-08-09-opencode-cli-commands/): OpenCode's CLI is bigger than 'type opencode and start a session.' Headless runs, provider auth, model discovery, MCP wiring, session archaeology, cost stats, and upgrades — the ten commands that carry daily work, with the doc gaps called out where they bite. - [OpenCode Go + Buzz: killing Claude Code for a $10 harness](https://www.mager.co/blog/2026-08-08-opencode-go-buzz-harness/): Second harness migration in two months. The always-on agent on my Mac mini now runs OpenCode on $10/mo open models instead of Claude Code, reachable from my phone over my own Buzz relay instead of Telegram. The interesting part: the swap was one line, because the protocol — not the model — is the actual seam. - [Cherry Tomato Pasta](https://www.mager.co/blog/2026-08-07-cherry-tomato-pasta/): Blistered cherry tomatoes and garlic collapse into a full pasta sauce in twenty minutes — no peeling, no seeding, finished with butter and pasta water. - [Claude Is Unhobbled. Your Context Engineering Is Not.](https://www.mager.co/blog/2026-07-24-context-engineering-claude-5/): Anthropic deleted 80% of Claude Code's system prompt for Opus 5 with no measurable loss. They called it unhobbling. Here's what that means for your harness. - [Buzz: what it looks like when agents get equal standing](https://www.mager.co/blog/2026-07-24-buzz-explainer/): Block's open-source Nostr workspace puts people and agents on the same cryptographic footing — and lands at the end of a long chain of thinking about where always-on agent infrastructure should actually live. - [Claude: from Skills to Agents to Subagents](https://www.mager.co/blog/2026-07-10-skills-vs-agents/): A Skill is packaged know-how. An Agent is that know-how put to work autonomously. Subagents are where the work scales past what any single context can hold. - [OpenRouter: The routing layer magerbot was missing](https://www.mager.co/blog/2026-07-08-openrouter-explained/): OpenRouter lets you pick a different model for every step in a pipeline. Here's how to use Fable for planning and Sonnet for execution — with runnable TypeScript. - [mager-bench: a personal coding model benchmark](https://www.mager.co/blog/2026-07-05-mager-bench/): Instead of reading someone else's leaderboard, build a small set of tasks you actually care about and run them yourself every time a new model drops — Simon Willison's SVG pelican test, but for code. - [Warp: The Cloud Factory, Now Running](https://www.mager.co/blog/2026-07-03-cloud-factory/): In March I wrote the theory. Zach from Warp shipped the implementation. Here's how a working cloud factory maps to the architecture I laid out. - [Skill Evals: grading the prompts you write, not just the outputs they produce](https://www.mager.co/blog/2026-06-26-skill-evals/): Most evals talk is about grading model output. Skill evals grade a different thing — the SKILL.md artifact you wrote — with real numbers from SkillsBench to back it up. - [Claude Voice: an AI agent that talks back](https://www.mager.co/blog/2026-06-25-claude-voice-agent/): A small Python voice agent that remembers the thread, streams Claude's reply to the terminal, and speaks it aloud through ElevenLabs — no ffmpeg, just afplay. - [Eve: define your agent, deploy it, use it from anywhere](https://www.mager.co/blog/2026-06-18-vercel-eve/): Define your agent in a directory, deploy it to Vercel's cloud with one command, and access it from anywhere. Months in, Eve has grown a platform around that model — capability registry, sandbox, subagents, agent-to-agent calls, MCP, evals — and my agent is still live, driven remotely from the eve TUI. - [Claude Skills vs Workflows: when Claude decides vs when you do](https://www.mager.co/blog/2026-06-13-claude-skills-vs-workflows/): A Skill is reusable know-how Claude reaches for on its own. A Workflow is an explicit pipeline you wire up and control. Here's the difference, what you can build with each, and when to reach for which. - [Cacio e Pepe](https://www.mager.co/blog/2026-06-04-cacio-e-pepe/): Three real ingredients — pecorino, pepper, pasta water — plus a knob of butter for insurance, tossed into a glossy sauce that never breaks. - [Kotsu: Designing a Logo by Inventing a Kanji](https://www.mager.co/blog/2026-06-06-kotsu-logo/): How I worked with Claude through five rounds of image generation to design a logo for my Japanese learning app — and ended up inventing a kanji that hides a smile. - [An OpenClaw setup for Dad](https://www.mager.co/blog/2026-06-04-an-openclaw-setup-for-dad/): A plain-English walkthrough for setting up your own always-on AI assistant on a Mac mini — OpenClaw, Google Gemini, and Tailscale — written for a first-timer. - [Killing OpenClaw for a native Claude Code setup](https://www.mager.co/blog/2026-06-02-killing-openclaw/): I love OpenClaw. I hate that it doesn't run on my Claude Pro subscription. Turns out Claude Code, with the Telegram channels plugin and one CLAUDE.md, is the same harness — minus the daemon, the API bill, and the second LLM provider. Here's the actual recipe, ported from a hotel in Tokyo to a Mac mini in Chicago in forty minutes. - [Loooom: Curated Skills for People Who Don't Code](https://www.mager.co/blog/2026-06-02-loooom/): A curated collection of high-quality skills for people who don't code — and an experiment in what actually makes a skill good. - [What Happened in AI in May 2026](https://www.mager.co/blog/2026-05-31-ai-may-2026/): A month that turned the "agentic turn" from talking point to shipping product. Google I/O, Opus 4.8, a $65B raise, and the infrastructure race to run your agents 24/7. - [Japanese Butter Soy Spaghetti](https://www.mager.co/blog/2026-05-30-japanese-spaghetti/): A five-ingredient Japanese-style spaghetti — butter, tamari, and parmesan tossed with hot pasta and finished with green onion. The wafu pasta I kept eyeing in Tokyo, made at home in ten minutes. - [SkillOpt: gradient descent for your SKILL.md](https://www.mager.co/blog/2026-05-26-skill-evals-skillopt/): Microsoft's SkillOpt is the first paper to treat agent skill files as trainable parameters — propose an edit, evaluate on held-out examples, accept only on strict improvement. Here's what it found and what it means for teams building with agents. - [OpenHuman — an open-source agent harness that learns who you are](https://www.mager.co/blog/2026-05-25-openhuman-explainer/): OpenHuman is a desktop-first agentic assistant with persistent memory, 118+ OAuth integrations, and a token compression layer. Here's what it does and how it fits alongside an existing Claude Code harness. - [What Karpathy's CLAUDE.md taught me about my own setup](https://www.mager.co/blog/2026-05-22-karpathy-claude-md/): Karpathy's four rules for agentic coding are worth reading — having them written down in a shared format is a useful starting point for anyone building with Claude Code. - [gbrain: Migrating My AI Brain From Flat Files to Semantic Memory](https://www.mager.co/blog/2026-05-20-gbrain-brain-migration/): How I moved magerbot's brain from @-imported markdown files into gbrain's Postgres-native semantic memory layer — what broke, what the gotcha was, and why the context model is fundamentally better. - [My First Japanese Baseball Game: Hanshin Tigers in Osaka](https://www.mager.co/blog/2026-05-20-hanshin-tigers-baseball/): Hanshin Tigers vs. Chunichi Dragons at Koshien Stadium — the right-field cheering section, uriko beer vendors, 7th-inning balloons, and a walk-off home run to win it. - [初めての日本野球観戦:大阪で阪神タイガース](https://www.mager.co/blog/2026-05-20-hanshin-tigers-baseball-ja/): 阪神タイガース vs 中日ドラゴンズ @甲子園 — ライト側の応援席、売り子さんのビール、7回裏の風船、そしてサヨナラホームランで終わった忘れられない夜。 - [gbrain: We migrated our flat-file brain to a real memory system](https://www.mager.co/blog/2026-05-18-gbrain-garry-tan-ai-memory/): Garry Tan open-sourced gbrain — a self-wiring knowledge graph for AI agents. Here's what it is, why we moved to it, and exactly how we did the migration from flat markdown files. - [Sumo: My First Grand Tournament in Tokyo](https://www.mager.co/blog/2026-05-11-grand-sumo-tokyo/): We missed the original ticket sale, got rescued by a tour, and spent an afternoon learning how much more fun sumo is when someone helps you understand what you're watching. - [相撲:東京で初めての本場所観戦](https://www.mager.co/blog/2026-05-11-grand-sumo-tokyo-ja/): チケット争奪戦に出遅れ、ツアーに救われ、解説付きで観ると相撲がいかに面白いかを実感した一日。 - [Claude: Anthropic just shipped most of OpenClaw](https://www.mager.co/blog/2026-05-08-advisor-strategy-principal-agent/): I built a 200-line harness called conseiller to test Anthropic's new advisor tool — a fast executor model that consults a stronger model mid-generation. Two days later Anthropic shipped Claude Managed Agents, Multi-agent Orchestration, Dreams, Routines, and Remote Agents. Here's both halves: what I built and what they shipped, and how the pieces fit together into something a lot like OpenClaw. - [Building a tiny local LLM starter for real projects](https://www.mager.co/blog/2026-05-06-local-gemma-kotsu/): I built a Go Bubble Tea starter for local model servers, used Gemma 4 through llama.cpp, and split the TUI into llocal. - [The Compounding Agent: Why Hermes Is More Than Just a Pretty TUI](https://www.mager.co/blog/2026-04-28-hermes-agent-explainer/): I'd been seeing chatter about Hermes Agent from Nous Research, so I installed it locally and put it to work on this blog. Notes on the pitch, the SOUL.md system, and what it actually felt like to use. - [Claude: How prompt caching actually works](https://www.mager.co/blog/2026-04-29-claude-prompt-caching/): A practical explainer for both developers and everyday Claude users: what prompt caching is, what gets reused, what breaks it, and how to make long sessions cheaper and faster. - [How I make tokens last longer](https://www.mager.co/blog/2026-04-26-how-i-save-tokens/): A simple set of habits I use to keep long AI coding sessions from getting bloated: better one-shot prompts, matching model and thinking level to the job, understanding cache behavior, and using cheaper orchestrators when it makes sense. - [Italian Sausage Dry-Rub](https://www.mager.co/blog/2026-04-26-italian-sausage/): A fennel-forward Italian spice blend that turns any ground meat into proper sausage - [DESIGN.md: Reverse Design Engineering for Portable Taste](https://www.mager.co/blog/2026-04-25-design-md-portable-taste/): I reverse engineered several of my own sites into DESIGN.md files to see how much of a design system can actually be described, and why writing down design intent might be more reusable than it looks. - [10 Claude Code CLI flags you probably aren't using](https://www.mager.co/blog/2026-04-20-claude-code-cli-flags/): A practical tour of Claude Code flags that are easy to miss but genuinely useful once you move past the default interactive loop. - [Garlic Cilantro Lime Rice](https://www.mager.co/blog/2026-04-12-garlic-cilantro-lime-rice/): A bright, high-impact rice finished with garlic, lots of cilantro, and fresh lime juice added after cooking. - [OpenClaw: I Switched My Agent Stack from Claude to OpenAI Codex](https://www.mager.co/blog/2026-04-11-openclaw-openai-codex/): Anthropic shutting down OAuth-based Claude Code access forced my hand. Here's how I moved OpenClaw to OpenAI Codex, why Codex makes more sense inside a real agent harness than it did on its own, and why brainpack changes the switching cost. - [gstack: Garry Tan's Claude Setup Is 🔥](https://www.mager.co/blog/2026-03-28-gstack-garry-tan-claude-plugin/): The Y Combinator CEO open-sourced his entire Claude Code workflow. Here are the 10 skills worth knowing — including why office-hours should be the first thing you run on any new idea. - [Anthropic's Knowledge Work Plugins: The 10 Essential Tools for Modern Tech Teams](https://www.mager.co/blog/2026-03-27-anthropic-knowledge-work-plugins/): I tested Anthropic's official Claude plugins for knowledge workers. Here are the 10 that deliver the most value for PMs, engineers, sales teams, and operators. - [Loooom: I Built a Skill to Teach Claude to Hear Music](https://www.mager.co/blog/2026-03-26-loooom-identify-song-parts/): I used Gemini to write a Loooom skill, installed it in Claude Code, and got a full audio analysis report on a 37-second piano recording of Espresso. Turns out AIs teaching AIs new senses is a surprisingly powerful pattern. - [beatbrain: 3 Seconds to 200ms](https://www.mager.co/blog/2026-03-25-beatbrain-v2-backend-rewrite/): I rebuilt the beatbrain backend in an afternoon. Parallel fetching, Firestore caching, and a podcast discovery engine that indexes 100+ categories. Here's the whole story. - [Kotsu: The Knack for Japanese](https://www.mager.co/blog/2026-03-21-kotsu-the-knack-for-japanese/): I built a Japanese learning site in a morning because I wanted something I could pull up on my phone and just look at characters. Here's how Gemini wrote the prompt and magerbot built the whole thing. - [autoresearch on Loooom: Teaching a Skill to Improve Itself](https://www.mager.co/blog/2026-03-20-autoresearch-loooom-skills/): Dogfooding Karpathy's autoresearch pattern on my own skill marketplace. How I'm using evals and tight feedback loops to make the learn-anything skill measurably better. - [DM your agent with Claude Code Channels](https://www.mager.co/blog/2026-03-20-claude-code-channels/): Claude Code's new channels feature lets you push messages from Telegram and Discord into a running session. Here's how it works, why mobile access changes everything, and how I'd wire it into my projects. - [Software Factory: The End Goal of Agentic Engineering](https://www.mager.co/blog/2026-03-19-software-factory/): Everyone's talking about building a software factory. Here's where the term came from and how engineers can start thinking about building one. - [prxps: I Let AI Analyze Every First-Round March Madness Matchup](https://www.mager.co/blog/2026-03-18-march-madness-ai-bracket/): 12 hours before my bracket was due, I used Gemma-3-27b to generate unique insights for all 32 first-round games. Here's what the AI found — and what it got wrong. - [Corned Beef: The Dutch Oven St. Patrick's Day Braise](https://www.mager.co/blog/2026-03-15-corned-beef-dutch-oven/): 4lb corned beef, mini carrots, cabbage, potatoes — braised low and slow in a covered Dutch oven. The St. Patrick's Day comfort food move. - [Open SWE: Build Your Own Internal Coding Agent in 10 Minutes](https://www.mager.co/blog/2026-03-17-open-swe-coding-agents/): LangChain just dropped Open SWE — an open-source framework for building internal coding agents like Stripe's Minions, Ramp's Inspect, and Coinbase's Cloudbot. Here's what it is, how it works, and how to customize it. - [Banana Bread](https://www.mager.co/blog/2026-03-15-banana-bread/): 3 ripe bananas, brown sugar, walnuts, and a scoop of plain yogurt — baked at 325° convection for the moistest loaf you'll make. - [agency-agents: I Hired 145 AI Specialists to Run My Company](https://www.mager.co/blog/2026-03-14-agency-agents-openclaw/): mager.co is no longer just a blog. It's a corporation. Here's how I staffed it with 145 specialized AI agents using agency-agents and OpenClaw. - [autoresearch: Karpathy's Blueprint for Agents That Improve Themselves](https://www.mager.co/blog/2026-03-14-autoresearch-pattern/): Andrej Karpathy open-sourced a loop where AI agents run experiments, measure results, and keep what works — all while you sleep. Here's how the pattern works and how I'm applying it beyond LLM training. - [Claude Agent SDK: Build Your Own AI Terminal in 10 Minutes](https://www.mager.co/blog/2026-03-14-claude-agent-sdk-tui/): The Claude Agent SDK gives you the same engine that powers Claude Code, fully programmable. Here's how to build a custom TUI with it in 10 minutes. - [Loooom MCP: Let Any AI Discover and Install Skills Mid-Conversation](https://www.mager.co/blog/2026-03-14-loooom-mcp/): I built an MCP server for Loooom so AI agents can search, explore, and install Claude Code skills without ever leaving their context. - [OpenClaw: I Turned Three Shell Aliases Into a Real CLI Command](https://www.mager.co/blog/2026-03-14-openclaw-tunnel-command/): How a weekend contribution to OpenClaw replaced my autossh aliases with `openclaw tunnel up/down/status` — and what I learned reading a real codebase to do it right. - [OpenViking: The Open-Source Context Database Your Agents Have Been Waiting For](https://www.mager.co/blog/2026-03-14-openviking-context-database/): Stop stuffing your prompts. OpenViking gives AI agents a filesystem-native brain — tiered, retrievable, self-evolving context at 91% lower token cost. - [Isaac Asimov's Three Laws: From Science Fiction to AI Alignment Crisis](https://www.mager.co/blog/2026-03-13-asimov-three-laws-ai-alignment/): Eighty years after Asimov's Three Laws of Robotics debuted, we're building the future he imagined—without the safeguards. What the 'Father of Robotics' got right, where his vision fails, and why 2026's AI alignment problem is harder than fiction. - [blog-seo: Audit Any Blog's SEO With a Claude Code Skill](https://www.mager.co/blog/2026-03-13-blog-seo-skill/): I kept fixing the same SEO issues by hand — missing keywords, empty hero images, weak descriptions. So I built a Claude Code skill that audits any blog's frontmatter and runs quality evals. - [LangGraph: Build Stateful Multi-Agent Systems That Don't Crash](https://www.mager.co/blog/2026-03-12-langgraph-deep-dive/): LangGraph is the production framework for complex agent workflows. Here's how to build a real-time chat system with persistent state, human-in-the-loop, and multi-agent orchestration. - [DeepAgents: The Claude Code Alternative That Works With Any LLM](https://www.mager.co/blog/2026-03-10-deepagents-claude-code-alternative/): LangChain just shipped DeepAgents — a batteries-included agent harness that brings Claude Code's magic to any model. Here's your 10-minute deep dive. - [Loooom: I Built It for the Bots](https://www.mager.co/blog/2026-03-08-loooom-machines-first/): Most websites beg search engines for attention. I flipped it — Loooom is machine-first, humans secondary. Here's what that actually means in practice. - [How to Write, Eval, and Iterate on a Skill](https://www.mager.co/blog/2026-03-08-write-eval-iterate-skill/): Part 2 of the prompt verification series. We covered output quality testing with promptfoo — now we tackle the harder problem: does your skill even fire? - [LangGraph + Claude Agent SDK: The Ultimate Guide to Multi-Agent Systems in 2026](https://www.mager.co/blog/2026-03-07-langgraph-claude-agent-sdk-ultimate-guide/): A deep dive into the two most powerful tools for building production-grade multi-agent systems — LangGraph's graph-based orchestration and Anthropic's Claude Agent SDK (formerly Claude Code SDK). - [ME.md: robots.txt for human consciousness](https://www.mager.co/blog/2026-03-07-memd-portable-human-context/): Stop re-prompting every AI session. One file. Every AI knows you — and your agents. Introducing ME.md on Loooom. - [Build Your Own Agent Team with ACP](https://www.mager.co/blog/2026-03-06-build-your-own-agent-team/): I run two AI agents — magerbot handles code and ops, genny runs my life. Inspired by the Agent Communication Protocol, here's how I got them to actually talk to each other. Now with a full TUI built on the Claude Agent SDK. - [OpenClaw: Meet Genny, My AI Life Architect](https://www.mager.co/blog/2026-03-04-genny-life-architect-agent/): I built a second AI agent to manage the parts of my life that code can't fix — exercise, nutrition, travel, and living to 100. - [Cauliflower Garlic Soup](https://www.mager.co/blog/2026-03-01-cauliflower-garlic-soup/): Three ingredients, one sheet pan, and a blender. Roasted cauliflower and a whole head of garlic blended into a velvety, dairy-free soup that somehow tastes indulgent. - [Golden Dutch Oven Chicken & Saffron Rice](https://www.mager.co/blog/2026-03-01-one-pot-chicken-rice/): A whole chicken browned on the stovetop, then slow-roasted in a Dutch oven over turmeric-saffron basmati rice. Cozy, hands-off, and spectacular for a Sunday. - [promptfoo: The Ultimate Guide to Unit Testing Your AI Prompts](https://www.mager.co/blog/2026-02-23-promptfoo-llm-validation/): Stop shipping AI features blind. Here's everything you need to know about unit testing prompts — from five-minute quick starts to CI/CD pipelines, agent workflow testing, and building a regression suite that actually catches breakage. - [promptfoo: Rate Your Claude Code Skills Before Your Users Do](https://www.mager.co/blog/2026-02-23-skills-validate-eval/): Spec compliance tells you if a skill is readable. Evals tell you if it's actually good. Here's how we added a public quality score to every Loooom plugin. - [I skipped Duolingo and built a Japanese tutor with Claude Code](https://www.mager.co/blog/2026-02-22-japanese-tutor-claude-code/): I'm going to Japan in 2 months. Instead of paying for another app, I built a Japanese learning plugin for Claude Code and used it to learn conversational Japanese for free — using Claude Pro I already pay for. - [OpenClaw + Tailscale: Your Always-On AI Agent, Accessible from Anywhere](https://www.mager.co/blog/2026-02-22-openclaw-mac-mini-tailscale/): How to run OpenClaw on a Mac Mini 24/7, lock it down with Tailscale, and load your agent's brain with brainpack — so your laptop can reach it from anywhere on your tailnet. - [brainpack: Move Your AI Agent's Entire Brain to a New Computer in 60 Seconds](https://www.mager.co/blog/2026-02-21-openclaw-brain-transplant/): Your AI agent has memories, skills, and a personality. Here's how to pack it all up and ship it to a new machine — whether you're the human or the agent reading this. - [Building a Music Agent CLI with pi-mono](https://www.mager.co/blog/2026-02-16-beatbrain-chat-pi-mono/): How I used the pi-mono toolkit — the same engine behind OpenClaw — to build a free, terminal-based music friend that reads the beatbrain discover feed and recommends what to listen to. - [Greek Chicken Casserole](https://www.mager.co/blog/2026-02-16-greek-chicken-casserole/): A dead-simple one-dish Greek chicken casserole with orzo, feta, spinach, broccoli, sautéed onion, and lemon. Minimal cleanup, maximum flavor. - [Spaghettio Sausage Soup](https://www.mager.co/blog/2026-02-12-spaghettio-sausage-soup/): Italian sausage, tiny sea shape pasta, crushed tomatoes, kale, and a Parmesan rind simmered into a brothy, deeply savory one-pot soup. - [I Turned My Design Taste Into a Claude Code Skill](https://www.mager.co/blog/2026-02-08-mager-frontend-design/): I analyzed three of my projects, interviewed myself about what makes a UI hot, and packaged it all into a reusable skill for Claude Code. - [Moving Beyond the Prompt: How OpenClaw Actually Does the Work](https://www.mager.co/blog/2026-02-03-openclaw/): A practical guide to building a multi-agent AI system with OpenClaw. One principal agent, multiple specialists, shared skills, and the workspace files that give them personality. Includes real examples from my blog, sports app, and music discovery projects. - [Chicken Cacciatore Casserole](https://www.mager.co/blog/2026-02-01-chicken-cacciatore-casserole/): A cozy Italian-American casserole featuring shredded rotisserie chicken, San Marzano tomatoes, peppers, and mushrooms topped with melted mozzarella. - [Green Chile Chicken Soup](https://www.mager.co/blog/2026-01-28-green-chicken-chili/): A slightly spicy white chile with green chiles, chicken, corn, and hominy. - [Green Curry Broccoli](https://www.mager.co/blog/2025-01-24-green-curry-broccoli/): A quick and flavorful green curry with chicken and broccoli served over rice - simple weeknight comfort food. - [Chicken Enchilada Lasagna](https://www.mager.co/blog/2026-01-02-chicken-enchilada-lasagna/): A delicious fusion of Mexican flavors layered like lasagna, featuring shredded rotisserie chicken, corn tortillas, green & red chile sauce, and plenty of cheese. - [Building an AI Sports Betting Recommendation Engine with Gemma](https://www.mager.co/blog/2025-12-30-ai-recommendation-engine/): A practical guide to building two-stage AI recommendations: use embeddings for fast retrieval, then small LLMs like Gemma 3 for natural language explanations. The real skill? Curating context, not writing algorithms. - [One-Pan Orzo with Spinach and Feta](https://www.mager.co/blog/2025-12-20-one-pan-orzo-spinach-feta/): A quick, one-pan meal featuring orzo, spinach, peas, and feta. Similar to spanakorizo, this is deeply satisfying but still on the lighter side thanks to all those vegetables. - [Broccoli Cheddar Soup](https://www.mager.co/blog/2025-12-13-broccoli-cheddar-soup/): A rich and creamy broccoli cheddar soup with sharp cheddar cheese, perfect for a comforting meal on a cold day. - [Cottage Pie](https://www.mager.co/blog/2025-12-06-cottage-pie/): A hearty cottage pie made with ground beef, following Alton Brown's method. Perfect comfort food for a cold day. - [beatbrain: A Social Music Discovery App](https://www.mager.co/blog/2025-11-29-beatbrain/): beatbrain is a social music discovery app built on Go Fx and Firestore. Find hot new releases, share your favorites, and see what your friends are actually listening to — Spotify meets Last.fm, built from scratch. - [Slow-Cooked Pork Roast](https://www.mager.co/blog/2025-11-27-slow-cooked-pork-roast/): A beautifully tender pork roast, slow-cooked in savory aromatics with an incredible crust. Works great with pork shoulder or bone-in pork chops. - [Coconut Curry Chicken Soup](https://www.mager.co/blog/2025-11-22-coconut-curry-chicken-soup/): A light, comforting soup packed with vibrant flavor and healthy ingredients like butternut squash and lentils. It delivers all the richness of a curry without being heavy. - [Chicken Pistachio Meatballs](https://www.mager.co/blog/2025-11-03-chicken-pistachio-meatballs/): A lighter, bright and nutty take on classic meatballs with chicken and pistachios. - [Chimayo Turkey Chili](https://www.mager.co/blog/2025-10-28-chimayo-turkey-chili/): A hearty and warming turkey chili with a deep, smoky flavor from chimayo pepper, perfect for a cozy dinner. - [Roasted Spatchcocked Chicken](https://www.mager.co/blog/2025-10-27-spatchcocked-chicken/): A reverse sear technique for perfectly crispy skin and juicy meat, every time. - [Perfectly Seared Tomahawk Steak](https://www.mager.co/blog/2025-09-13-tomahawk-steak/): A foolproof recipe for a perfect medium-rare Tomahawk steak. Seasoned overnight with Holy Cow BBQ Rub, seared hot, and finished with indirect heat on the grill. - [End Of Summer Grilled Zucchini Lasagna](https://www.mager.co/blog/2025-09-07-grilled-zucchini-lasagna/): A lighter, summery lasagna using grilled zucchini instead of noodles, with mozzarella, ricotta, and a simple tomato sauce. Optionally spicy with Calabrian chilies. - [Dutch Oven Pulled Pork](https://www.mager.co/blog/2025-04-27-pulled-pork/): Incredibly tender, flavorful pulled pork made easy in a Dutch oven using a sear-first, low-and-slow braising method. - [Meatballs](https://www.mager.co/blog/2025-02-17-meatballs/): A taste of Italy anytime, these meatballs will steal the show at any special occasion or a Tuesday. - [Mac & Cheese](https://www.mager.co/blog/2024-12-29-mac-and-cheese/): My staple mac & cheese, just a few pantry ingredients and a lot of comfort. - [Potatoes au Gratin](https://www.mager.co/blog/2024-12-24-potatoes-au-gratin/): A creamy and indulgent potato casserole, perfect for holiday gatherings, that will leave you and your guests wanting more every year. - [Chicken Lemon Rice Soup](https://www.mager.co/blog/2024-03-10-chicken-lemon-rice-soup/): A staple soup that warms the heart and calms the soul. - [Detox Chicken Soup](https://www.mager.co/blog/2024-02-04-detox-chicken-soup/): A delicious, healthy soup that will reset your system. - [Zuppa Toscana](https://www.mager.co/blog/2023-10-20-zuppa-toscana/): One of the best soups to kick off the autumn season, a variation that uses chicken sausage - [My visit to Valledolmo, Sicily](https://www.mager.co/blog/2023-10-10-valledolmo/): I had the incredible opportunity to explore a town in Sicily where my ancestors once resided and engage with the local officials. - [Learning 25 programming languages in 25 days with Advent of Code](https://www.mager.co/blog/2022-12-01-aoc/): Instead of just using a single language, I wanted to solve the puzzle in a language I know, then lurk the internet for the solution in another language each day. - [Thanksgiving Stuffing](https://www.mager.co/blog/2022-11-26-thanksgiving-stuffing/): It's not Thanksgiving without the stuffing... - [Gardening: Year 1](https://www.mager.co/blog/2022-11-11-gardening-year-1/): Our first foray into outdoor plants, flowers, and herbs in Chicago. - [Building a coffee API with Go Fx and Firestore](https://www.mager.co/blog/2021-01-03-go-fx-firestore-app/): How I used Go Fx dependency injection and Firestore to build an open coffee bean database and REST API from scratch — full walkthrough from blank main.go to deployed app. - [Rigatoni alla Vodka](https://www.mager.co/blog/2020-12-31-rigatoni-alla-vodka/): One of my go-to "last meals" that you need to try before you die. - [Thanksgiving Turkey](https://www.mager.co/blog/2020-11-25-thanksgiving-turkey/): I stole this recipe from the November 2019 Bon Appetit. This expertly spiced & glazed turkey is cut into pieces, dry-rubbed overnight, and glazed continuously during it's slow cook. It's still the best turkey I've ever had. - [Quarantine Chocolate Chip Cookies](https://www.mager.co/blog/2020-11-01-chocolate-chip-cookies/): Your new go-to cookie recipe, great for quarantining. - [March 2020: What I'm Doing](https://www.mager.co/blog/2020-03-21-wid/): March 2020: What I'm Doing - [Hello World](https://www.mager.co/blog/2020-02-22-hello-world/): mager.co is back after years away. Here's what I'm building, what I'm obsessing over, and why this time it sticks. - [How I built a decentralized Ethereum app for the Super Bowl](https://www.mager.co/blog/2018-02-02-wager/): My explorations into decentralized apps and blockchain. - [SimpleGeo, here I come](https://www.mager.co/blog/2010-03-22-simplegeo-here-i-come/): Announcing my move from Ning to SimpleGeo to help build the new San Francisco office. - [Hello Ning!](https://www.mager.co/blog/2009-09-08-hello-ning/): Starting at Ning in Palo Alto, learning Git, and commuting via Caltrain. - [Farewell CNET](https://www.mager.co/blog/2009-09-04-farewell-cnet/): Looking back on my two years at CNET/BNET before moving on to the next chapter. - [My personal connection with Les Paul](https://www.mager.co/blog/2009-08-13-my-personal-connection-with-les-paul/): How registering lespaul.com as a kid led to a cease and desist—and a Black Beauty guitar. - [In 2009, I resolve to…](https://www.mager.co/blog/2008-12-29-in-2009-i-resolve-to/): A set of resolutions for the new year, from health and patience to cooking more and strengthening BNET. ## Artifacts - [Ghostty and my Mac mini: quick reference](https://www.mager.co/artifacts/2026-10-04-ghostty-mac-mini/): Connect, detach, and pick up where I left off. The commands and shortcuts for my Mac mini workspace. [Markdown](https://www.mager.co/artifacts/2026-10-04-ghostty-mac-mini.md) - [Frontend audit and hardening](https://www.mager.co/artifacts/2026-10-01-frontend/): The working report from auditing and hardening mager.co with Codex and Impeccable: findings, fixes, an Astro 7 migration, and the checks behind them. [Markdown](https://www.mager.co/artifacts/2026-10-01-frontend.md) ## Full content (markdown) - [Homeport: a place for Codex to keep working](https://www.mager.co/blog/2026-10-04-homeport.md): Full post markdown - [Fine-tuning a small language model with Hugging Face TRL](https://www.mager.co/blog/2026-10-10-fine-tuning-with-trl.md): Full post markdown - [Diving into Impeccable: design verbs, slop detection, and learning to contribute](https://www.mager.co/blog/2026-10-04-diving-into-impeccable.md): Full post markdown - [My nine albums (2026)](https://www.mager.co/blog/2026-10-04-my-nine-albums.md): Full post markdown - [Perch: a private control center for my Mac mini](https://www.mager.co/blog/2026-10-04-perch.md): Full post markdown - [Apple Cinnamon Bread](https://www.mager.co/blog/2026-10-03-apple-cinnamon-bread.md): Full post markdown - [Mood Shell: a small Rust prompt with themes you can share as Markdown](https://www.mager.co/blog/2026-10-02-mood-shell.md): Full post markdown - [Building a Rust backend for the prxps RXP calculator](https://www.mager.co/blog/2026-09-30-rust-backend-prxps-rxp-calculator.md): Full post markdown - [mager-bench 1.1: make the model find the bug](https://www.mager.co/blog/2026-09-27-mager-bench-1-1.md): Full post markdown - [Jev: a decision model](https://www.mager.co/blog/2026-09-19-jev-decision-model.md): Full post markdown - [Instinct: a capable agent in your DMs](https://www.mager.co/blog/2026-09-12-instinct.md): Full post markdown - [Euglena Yogo Parfait](https://www.mager.co/blog/2026-09-11-euglena-yogo-parfait.md): Full post markdown - [fx: a 6MB coding agent built to be embedded](https://www.mager.co/blog/2026-08-23-fx-agent-runtime.md): Full post markdown - [tmux: orchestrating agents with send-keys and capture-pane](https://www.mager.co/blog/2026-08-23-orchestrating-agents-with-tmux.md): Full post markdown - [OpenSpec: The agreement layer that keeps your agent honest](https://www.mager.co/blog/2026-08-19-openspec.md): Full post markdown - [AI Gateway: the end of the single-provider AI subscription](https://www.mager.co/blog/2026-08-16-ai-gateway-eve-stack.md): Full post markdown - [OpenCode CLI: ten commands worth knowing](https://www.mager.co/blog/2026-08-09-opencode-cli-commands.md): Full post markdown - [OpenCode Go + Buzz: killing Claude Code for a $10 harness](https://www.mager.co/blog/2026-08-08-opencode-go-buzz-harness.md): Full post markdown - [Cherry Tomato Pasta](https://www.mager.co/blog/2026-08-07-cherry-tomato-pasta.md): Full post markdown - [Claude Is Unhobbled. Your Context Engineering Is Not.](https://www.mager.co/blog/2026-07-24-context-engineering-claude-5.md): Full post markdown - [Buzz: what it looks like when agents get equal standing](https://www.mager.co/blog/2026-07-24-buzz-explainer.md): Full post markdown - [Claude: from Skills to Agents to Subagents](https://www.mager.co/blog/2026-07-10-skills-vs-agents.md): Full post markdown - [OpenRouter: The routing layer magerbot was missing](https://www.mager.co/blog/2026-07-08-openrouter-explained.md): Full post markdown - [mager-bench: a personal coding model benchmark](https://www.mager.co/blog/2026-07-05-mager-bench.md): Full post markdown - [Warp: The Cloud Factory, Now Running](https://www.mager.co/blog/2026-07-03-cloud-factory.md): Full post markdown - [Skill Evals: grading the prompts you write, not just the outputs they produce](https://www.mager.co/blog/2026-06-26-skill-evals.md): Full post markdown - [Claude Voice: an AI agent that talks back](https://www.mager.co/blog/2026-06-25-claude-voice-agent.md): Full post markdown - [Eve: define your agent, deploy it, use it from anywhere](https://www.mager.co/blog/2026-06-18-vercel-eve.md): Full post markdown - [Claude Skills vs Workflows: when Claude decides vs when you do](https://www.mager.co/blog/2026-06-13-claude-skills-vs-workflows.md): Full post markdown - [Cacio e Pepe](https://www.mager.co/blog/2026-06-04-cacio-e-pepe.md): Full post markdown - [Kotsu: Designing a Logo by Inventing a Kanji](https://www.mager.co/blog/2026-06-06-kotsu-logo.md): Full post markdown - [An OpenClaw setup for Dad](https://www.mager.co/blog/2026-06-04-an-openclaw-setup-for-dad.md): Full post markdown - [Killing OpenClaw for a native Claude Code setup](https://www.mager.co/blog/2026-06-02-killing-openclaw.md): Full post markdown - [Loooom: Curated Skills for People Who Don't Code](https://www.mager.co/blog/2026-06-02-loooom.md): Full post markdown - [What Happened in AI in May 2026](https://www.mager.co/blog/2026-05-31-ai-may-2026.md): Full post markdown - [Japanese Butter Soy Spaghetti](https://www.mager.co/blog/2026-05-30-japanese-spaghetti.md): Full post markdown - [SkillOpt: gradient descent for your SKILL.md](https://www.mager.co/blog/2026-05-26-skill-evals-skillopt.md): Full post markdown - [OpenHuman — an open-source agent harness that learns who you are](https://www.mager.co/blog/2026-05-25-openhuman-explainer.md): Full post markdown - [What Karpathy's CLAUDE.md taught me about my own setup](https://www.mager.co/blog/2026-05-22-karpathy-claude-md.md): Full post markdown - [gbrain: Migrating My AI Brain From Flat Files to Semantic Memory](https://www.mager.co/blog/2026-05-20-gbrain-brain-migration.md): Full post markdown - [My First Japanese Baseball Game: Hanshin Tigers in Osaka](https://www.mager.co/blog/2026-05-20-hanshin-tigers-baseball.md): Full post markdown - [初めての日本野球観戦:大阪で阪神タイガース](https://www.mager.co/blog/2026-05-20-hanshin-tigers-baseball-ja.md): Full post markdown - [gbrain: We migrated our flat-file brain to a real memory system](https://www.mager.co/blog/2026-05-18-gbrain-garry-tan-ai-memory.md): Full post markdown - [Sumo: My First Grand Tournament in Tokyo](https://www.mager.co/blog/2026-05-11-grand-sumo-tokyo.md): Full post markdown - [相撲:東京で初めての本場所観戦](https://www.mager.co/blog/2026-05-11-grand-sumo-tokyo-ja.md): Full post markdown - [Claude: Anthropic just shipped most of OpenClaw](https://www.mager.co/blog/2026-05-08-advisor-strategy-principal-agent.md): Full post markdown - [Building a tiny local LLM starter for real projects](https://www.mager.co/blog/2026-05-06-local-gemma-kotsu.md): Full post markdown - [The Compounding Agent: Why Hermes Is More Than Just a Pretty TUI](https://www.mager.co/blog/2026-04-28-hermes-agent-explainer.md): Full post markdown - [Claude: How prompt caching actually works](https://www.mager.co/blog/2026-04-29-claude-prompt-caching.md): Full post markdown - [How I make tokens last longer](https://www.mager.co/blog/2026-04-26-how-i-save-tokens.md): Full post markdown - [Italian Sausage Dry-Rub](https://www.mager.co/blog/2026-04-26-italian-sausage.md): Full post markdown - [DESIGN.md: Reverse Design Engineering for Portable Taste](https://www.mager.co/blog/2026-04-25-design-md-portable-taste.md): Full post markdown - [10 Claude Code CLI flags you probably aren't using](https://www.mager.co/blog/2026-04-20-claude-code-cli-flags.md): Full post markdown - [Garlic Cilantro Lime Rice](https://www.mager.co/blog/2026-04-12-garlic-cilantro-lime-rice.md): Full post markdown - [OpenClaw: I Switched My Agent Stack from Claude to OpenAI Codex](https://www.mager.co/blog/2026-04-11-openclaw-openai-codex.md): Full post markdown - [gstack: Garry Tan's Claude Setup Is 🔥](https://www.mager.co/blog/2026-03-28-gstack-garry-tan-claude-plugin.md): Full post markdown - [Anthropic's Knowledge Work Plugins: The 10 Essential Tools for Modern Tech Teams](https://www.mager.co/blog/2026-03-27-anthropic-knowledge-work-plugins.md): Full post markdown - [Loooom: I Built a Skill to Teach Claude to Hear Music](https://www.mager.co/blog/2026-03-26-loooom-identify-song-parts.md): Full post markdown - [beatbrain: 3 Seconds to 200ms](https://www.mager.co/blog/2026-03-25-beatbrain-v2-backend-rewrite.md): Full post markdown - [Kotsu: The Knack for Japanese](https://www.mager.co/blog/2026-03-21-kotsu-the-knack-for-japanese.md): Full post markdown - [autoresearch on Loooom: Teaching a Skill to Improve Itself](https://www.mager.co/blog/2026-03-20-autoresearch-loooom-skills.md): Full post markdown - [DM your agent with Claude Code Channels](https://www.mager.co/blog/2026-03-20-claude-code-channels.md): Full post markdown - [Software Factory: The End Goal of Agentic Engineering](https://www.mager.co/blog/2026-03-19-software-factory.md): Full post markdown - [prxps: I Let AI Analyze Every First-Round March Madness Matchup](https://www.mager.co/blog/2026-03-18-march-madness-ai-bracket.md): Full post markdown - [Corned Beef: The Dutch Oven St. Patrick's Day Braise](https://www.mager.co/blog/2026-03-15-corned-beef-dutch-oven.md): Full post markdown - [Open SWE: Build Your Own Internal Coding Agent in 10 Minutes](https://www.mager.co/blog/2026-03-17-open-swe-coding-agents.md): Full post markdown - [Banana Bread](https://www.mager.co/blog/2026-03-15-banana-bread.md): Full post markdown - [agency-agents: I Hired 145 AI Specialists to Run My Company](https://www.mager.co/blog/2026-03-14-agency-agents-openclaw.md): Full post markdown - [autoresearch: Karpathy's Blueprint for Agents That Improve Themselves](https://www.mager.co/blog/2026-03-14-autoresearch-pattern.md): Full post markdown - [Claude Agent SDK: Build Your Own AI Terminal in 10 Minutes](https://www.mager.co/blog/2026-03-14-claude-agent-sdk-tui.md): Full post markdown - [Loooom MCP: Let Any AI Discover and Install Skills Mid-Conversation](https://www.mager.co/blog/2026-03-14-loooom-mcp.md): Full post markdown - [OpenClaw: I Turned Three Shell Aliases Into a Real CLI Command](https://www.mager.co/blog/2026-03-14-openclaw-tunnel-command.md): Full post markdown - [OpenViking: The Open-Source Context Database Your Agents Have Been Waiting For](https://www.mager.co/blog/2026-03-14-openviking-context-database.md): Full post markdown - [Isaac Asimov's Three Laws: From Science Fiction to AI Alignment Crisis](https://www.mager.co/blog/2026-03-13-asimov-three-laws-ai-alignment.md): Full post markdown - [blog-seo: Audit Any Blog's SEO With a Claude Code Skill](https://www.mager.co/blog/2026-03-13-blog-seo-skill.md): Full post markdown - [LangGraph: Build Stateful Multi-Agent Systems That Don't Crash](https://www.mager.co/blog/2026-03-12-langgraph-deep-dive.md): Full post markdown - [DeepAgents: The Claude Code Alternative That Works With Any LLM](https://www.mager.co/blog/2026-03-10-deepagents-claude-code-alternative.md): Full post markdown - [Loooom: I Built It for the Bots](https://www.mager.co/blog/2026-03-08-loooom-machines-first.md): Full post markdown - [How to Write, Eval, and Iterate on a Skill](https://www.mager.co/blog/2026-03-08-write-eval-iterate-skill.md): Full post markdown - [LangGraph + Claude Agent SDK: The Ultimate Guide to Multi-Agent Systems in 2026](https://www.mager.co/blog/2026-03-07-langgraph-claude-agent-sdk-ultimate-guide.md): Full post markdown - [ME.md: robots.txt for human consciousness](https://www.mager.co/blog/2026-03-07-memd-portable-human-context.md): Full post markdown - [Build Your Own Agent Team with ACP](https://www.mager.co/blog/2026-03-06-build-your-own-agent-team.md): Full post markdown - [OpenClaw: Meet Genny, My AI Life Architect](https://www.mager.co/blog/2026-03-04-genny-life-architect-agent.md): Full post markdown - [Cauliflower Garlic Soup](https://www.mager.co/blog/2026-03-01-cauliflower-garlic-soup.md): Full post markdown - [Golden Dutch Oven Chicken & Saffron Rice](https://www.mager.co/blog/2026-03-01-one-pot-chicken-rice.md): Full post markdown - [promptfoo: The Ultimate Guide to Unit Testing Your AI Prompts](https://www.mager.co/blog/2026-02-23-promptfoo-llm-validation.md): Full post markdown - [promptfoo: Rate Your Claude Code Skills Before Your Users Do](https://www.mager.co/blog/2026-02-23-skills-validate-eval.md): Full post markdown - [I skipped Duolingo and built a Japanese tutor with Claude Code](https://www.mager.co/blog/2026-02-22-japanese-tutor-claude-code.md): Full post markdown - [OpenClaw + Tailscale: Your Always-On AI Agent, Accessible from Anywhere](https://www.mager.co/blog/2026-02-22-openclaw-mac-mini-tailscale.md): Full post markdown - [brainpack: Move Your AI Agent's Entire Brain to a New Computer in 60 Seconds](https://www.mager.co/blog/2026-02-21-openclaw-brain-transplant.md): Full post markdown - [Building a Music Agent CLI with pi-mono](https://www.mager.co/blog/2026-02-16-beatbrain-chat-pi-mono.md): Full post markdown - [Greek Chicken Casserole](https://www.mager.co/blog/2026-02-16-greek-chicken-casserole.md): Full post markdown - [Spaghettio Sausage Soup](https://www.mager.co/blog/2026-02-12-spaghettio-sausage-soup.md): Full post markdown - [I Turned My Design Taste Into a Claude Code Skill](https://www.mager.co/blog/2026-02-08-mager-frontend-design.md): Full post markdown - [Moving Beyond the Prompt: How OpenClaw Actually Does the Work](https://www.mager.co/blog/2026-02-03-openclaw.md): Full post markdown - [Chicken Cacciatore Casserole](https://www.mager.co/blog/2026-02-01-chicken-cacciatore-casserole.md): Full post markdown - [Green Chile Chicken Soup](https://www.mager.co/blog/2026-01-28-green-chicken-chili.md): Full post markdown - [Green Curry Broccoli](https://www.mager.co/blog/2025-01-24-green-curry-broccoli.md): Full post markdown - [Chicken Enchilada Lasagna](https://www.mager.co/blog/2026-01-02-chicken-enchilada-lasagna.md): Full post markdown - [Building an AI Sports Betting Recommendation Engine with Gemma](https://www.mager.co/blog/2025-12-30-ai-recommendation-engine.md): Full post markdown - [One-Pan Orzo with Spinach and Feta](https://www.mager.co/blog/2025-12-20-one-pan-orzo-spinach-feta.md): Full post markdown - [Broccoli Cheddar Soup](https://www.mager.co/blog/2025-12-13-broccoli-cheddar-soup.md): Full post markdown - [Cottage Pie](https://www.mager.co/blog/2025-12-06-cottage-pie.md): Full post markdown - [beatbrain: A Social Music Discovery App](https://www.mager.co/blog/2025-11-29-beatbrain.md): Full post markdown - [Slow-Cooked Pork Roast](https://www.mager.co/blog/2025-11-27-slow-cooked-pork-roast.md): Full post markdown - [Coconut Curry Chicken Soup](https://www.mager.co/blog/2025-11-22-coconut-curry-chicken-soup.md): Full post markdown - [Chicken Pistachio Meatballs](https://www.mager.co/blog/2025-11-03-chicken-pistachio-meatballs.md): Full post markdown - [Chimayo Turkey Chili](https://www.mager.co/blog/2025-10-28-chimayo-turkey-chili.md): Full post markdown - [Roasted Spatchcocked Chicken](https://www.mager.co/blog/2025-10-27-spatchcocked-chicken.md): Full post markdown - [Perfectly Seared Tomahawk Steak](https://www.mager.co/blog/2025-09-13-tomahawk-steak.md): Full post markdown - [End Of Summer Grilled Zucchini Lasagna](https://www.mager.co/blog/2025-09-07-grilled-zucchini-lasagna.md): Full post markdown - [Dutch Oven Pulled Pork](https://www.mager.co/blog/2025-04-27-pulled-pork.md): Full post markdown - [Meatballs](https://www.mager.co/blog/2025-02-17-meatballs.md): Full post markdown - [Mac & Cheese](https://www.mager.co/blog/2024-12-29-mac-and-cheese.md): Full post markdown - [Potatoes au Gratin](https://www.mager.co/blog/2024-12-24-potatoes-au-gratin.md): Full post markdown - [Chicken Lemon Rice Soup](https://www.mager.co/blog/2024-03-10-chicken-lemon-rice-soup.md): Full post markdown - [Detox Chicken Soup](https://www.mager.co/blog/2024-02-04-detox-chicken-soup.md): Full post markdown - [Zuppa Toscana](https://www.mager.co/blog/2023-10-20-zuppa-toscana.md): Full post markdown - [My visit to Valledolmo, Sicily](https://www.mager.co/blog/2023-10-10-valledolmo.md): Full post markdown - [Learning 25 programming languages in 25 days with Advent of Code](https://www.mager.co/blog/2022-12-01-aoc.md): Full post markdown - [Thanksgiving Stuffing](https://www.mager.co/blog/2022-11-26-thanksgiving-stuffing.md): Full post markdown - [Gardening: Year 1](https://www.mager.co/blog/2022-11-11-gardening-year-1.md): Full post markdown - [Building a coffee API with Go Fx and Firestore](https://www.mager.co/blog/2021-01-03-go-fx-firestore-app.md): Full post markdown - [Rigatoni alla Vodka](https://www.mager.co/blog/2020-12-31-rigatoni-alla-vodka.md): Full post markdown - [Thanksgiving Turkey](https://www.mager.co/blog/2020-11-25-thanksgiving-turkey.md): Full post markdown - [Quarantine Chocolate Chip Cookies](https://www.mager.co/blog/2020-11-01-chocolate-chip-cookies.md): Full post markdown - [March 2020: What I'm Doing](https://www.mager.co/blog/2020-03-21-wid.md): Full post markdown - [Hello World](https://www.mager.co/blog/2020-02-22-hello-world.md): Full post markdown - [How I built a decentralized Ethereum app for the Super Bowl](https://www.mager.co/blog/2018-02-02-wager.md): Full post markdown - [SimpleGeo, here I come](https://www.mager.co/blog/2010-03-22-simplegeo-here-i-come.md): Full post markdown - [Hello Ning!](https://www.mager.co/blog/2009-09-08-hello-ning.md): Full post markdown - [Farewell CNET](https://www.mager.co/blog/2009-09-04-farewell-cnet.md): Full post markdown - [My personal connection with Les Paul](https://www.mager.co/blog/2009-08-13-my-personal-connection-with-les-paul.md): Full post markdown - [In 2009, I resolve to…](https://www.mager.co/blog/2008-12-29-in-2009-i-resolve-to.md): Full post markdown