writing
Articles
Notes on building software in the age of AI. Engineering over hype, systems over demos.
OpenSpec vs. Superpowers vs. pi-sdd-kit: SDD Tools Compared
How plain AGENTS.md memory, OpenSpec, Superpowers, and pi-sdd-kit compare for spec-driven development with AI agents, and the honest rule for which to use.
read article →
AGENTS.md: The File That Gives Your Agent a Memory
AGENTS.md is the file your agent harness loads before the model wakes up. Here is what belongs in it, what to cut, and how to keep it from rotting.
read article →
Most of Your AI Coding Agent's Tokens Die Where You Never Look
Your AI coding agent burns most of its context on output you never read. The three-layer stack I run to cut the token bill 60 to 90 percent: RTK at the tool layer, compression at the conversation layer, memory at the knowledge layer.
read article →
Context Engineering Is Just Deciding What the Model Sees
Context engineering is not a new discipline. It is the one job inside your AI agent harness that determines whether the model can actually finish the work.
read article →
Harness Engineering: Stop Upgrading the Model and Fix the Harness
The model is a commodity. The harness is your edge. A practitioner's guide to harness engineering for AI coding agents: cut context waste, keep tools minimal, and give the agent a memory that outlives the session. With pi as the worked example.
read article →
Give Your Agent a Shell, Not a Protocol
MCP servers front-load every tool schema before you type anything. CLI tools through bash pay nothing until called. Here is when to use each, and how to audit the servers you already have.
read article →
Pi: The Coding Agent That Hides Nothing
Pi is an open-source, bring-your-own-key coding agent with four tools and a 150-word system prompt. No MCP, no hidden planner, no invisible subagents. Just a loop you can fully see.
read article →
One Model Per Phase: Automatic Model Handoffs in Pi
Exploring, planning, building, and reviewing each want a different model and a different amount of thinking. pi-skill-model-handoff switches both when a skill loads, so the model follows the work instead of you switching it by hand.
read article →
How to Test a Claude Skill: Evals, Triggering, and Description Optimization
Most Claude skills ship without a single real test. Here's the eval loop I use: 20 queries, a train/test split, and a trigger-rate target to prove a skill fires when it should and stays quiet when it shouldn't.
read article →
Claude Skill vs Prompt vs Memory vs Subagent: What to Use When
Four primitives, one decision. Cut through the confusion between Claude prompts, CLAUDE.md memory, skills, and subagents. Pick the right tool every time.
read article →
Claude Skills vs MCP vs Subagents: When to Use Each
A decision framework for choosing between Claude Code skills, MCP tools, subagents, and memory: comparison table and choose-this-when breakdown per option.
read article →
GitHub Spec Kit: A Practitioner's Guide to Spec-Driven Development
GitHub Spec Kit is GitHub's open-source toolkit for spec-driven development. Install the specify CLI, run seven slash commands, and ship with intent instead of guesswork.
read article →
Claude Skill Examples: Real SKILL.md Files You Can Steal
Nobody publishes their working SKILL.md files. Here are real, production examples from a persona-skill library: alex-hormozi, lifeos-lint, loading maps, and the decision-split reference structure that makes them actually work.
read article →
SKILL.md Explained: Every Frontmatter Field and Progressive Disclosure
The complete technical reference for SKILL.md: every frontmatter field, the directory convention, and the three-level progressive disclosure model that keeps Claude Code skills fast and context-efficient.
read article →
What Is Kiro? AWS's Agentic IDE for Spec-Driven Development
Kiro is AWS's agentic IDE for spec-driven development: three structured files, automated hooks, and parallel agents that implement what you specify.
read article →
What Are Claude Skills? A Plain-English Explainer
Claude skills are reusable SKILL.md modules that teach Claude how to do one kind of work. They load on demand, persist across sessions, and follow the open Agent Skills standard.
read article →
Persona Skills for Claude Code: Why Naming an Expert Beats Role Prompting
Role prompting treats a persona as a one-line costume. This guide shows why naming an expert only pays off inside a Claude Code skill, backed by distilled references and a loading map that routes the model into its densest cluster.
read article →
Spec-Driven Development Case Study: 13 Apps in 70 Days, Solo, with AI
How Spec-Driven Development let me ship a production crypto fintech solo in 70 days with AI agents: the architecture, the specs, and the honest limits.
read article →
How to Create Claude Code Skills: The Complete Guide to Agent Skills
Claude skills are reusable behavior modules that replace system-prompt debt. Learn the full anatomy: SKILL.md, progressive disclosure, references, and the description field that triggers everything.
read article →
Spec-Driven Development vs. Vibe Coding: A Practitioner's Honest Comparison
Vibe coding is real and useful. It is also wrong for anything that must be correct. A METR RCT, a payment idempotency head-to-head, and the honest verdict.
read article →
Spec-Driven Development with Claude Code: The Hands-On Workflow
How to run Spec-Driven Development inside Claude Code: plan mode, the three-layer context system, steering files, .status gates, and specialized sub-agents that turn a stateless AI into a consistent collaborator.
read article →
How to Write a Spec for AI Agents: Template, EARS Format, and Examples
A copy-paste spec template, the EARS format, negative scope, and the Smart Kid test: how to write a software requirements specification an AI agent can actually build from.
read article →
What Is Spec-Driven Development? A Practitioner's Guide (and When to Skip It)
Spec-Driven Development is the method I used to ship a 13-app crypto fintech in 70 days, solo, with AI agents. What a spec is, the four pillars, a full worked example, the EARS format, and when to skip it.
read article →
Don't Code, Specify: Why Senior Developers Are Getting Worse Results with AI
The methodology I used to build a crypto fintech (13 apps) in 70 days, solo, with AI agents.
read article →