Posts
5 posts
What I write down here is what I want to keep.
Agent Skills: From Usage to First Principles
A Skill is not a “longer prompt,” nor is it another name for a model capability. More precisely, it is a folder specification for packaging repeatable workflows, domain knowledge, scripts, and resources. An agent normally sees only an index of these capabilities and expands the details when needed. 0. Article Map This article moves from usage to structure to first principles: # Question Answer 1 What is a Skill? A capability folder with an entry-point document 2 How is it used? It can be invoked explicitly or selected automatically by the agent 3 Where does it live? Different hosts scan different paths 4 Why does it save context? Through progressive disclosure: index first, details later 5 How does it relate to the agent loop? It is runtime context, not a model parameter 6 How does it relate to MCP, subagents, and tools? It defines the workflow rather than replacing tools or execution isolation 7 How do you write one? Be clear about triggers, execution paths, and degrees of freedom 8 What are the risks? Skills can contain instructions and code, so their sources must be reviewed 1. What Is a Skill? I now prefer to think of a Skill as an agent capability package.
Managing Multiple GitHub Accounts on One Machine
Running both personal and work projects on one dev machine, with commits going to different GitHub accounts. Don’t want to manually change user.email after every clone, and don’t want a global account-switching script. SSH key isolation + Git conditional config solves it once and for all. 1. Scenario Typical needs: Personal projects (~/personal/*) commit with personal GitHub account Work projects (~/work/*) commit with company GitHub account Each account has its own SSH key, no interference Identity switches automatically when entering different directories, no manual setup Additional pain points:
Claude Code Advanced Patterns: Hooks, MCP, Parallel Agents, Worktrees, and Context
Half a year of running Claude Code, and the framing has shifted on me. Started out treating it like “VSCode + Cursor with a different vibe”; now it feels closer to managing a small team that can run jobs in parallel. This post is a sweep of the high-leverage features I actually depend on — hooks, MCP, subagents, worktrees, layered CLAUDE.md, when to /clear. Not a doc rewrite. The lens is “what a user with opinions actually does”, and you should be able to lift any block straight into your own setup.
Stanford CS146S Notes: An 8-Week Map from Prompt to Agent Manager
CS146S — The Modern Software Developer↗ is a new Stanford course from Fall 2025, taught by Mihail Eric, with a heavyweight guest each week (Boris Cherny, Zach Lloyd, Isaac Evans, Tomas Reimers…). I worked through all eight weeks in the official assignments repo↗ and did the exercises along the way. This post is the consolidated note.
Wiring Claude Code into macOS Notifications + Bark Push
Origin story: spotted a Windows gist that wires Claude Code into system notifications↗ , written in PowerShell, useless on a Mac. Rewrote it for macOS, then added a Bark↗ channel — when a long job finishes and you’ve wandered off, the phone in your pocket should be the one that pings.