< Sharpening the Axe (Branch)

More than ever, the aphorism on sharpening your axe[1] is true for Software Engineering. In my posts on working towards 100 PRs a day and my current AI workflow I touched on "Axe Sharpening" but wanted to dig into what that actually means.

This short is about an Axe Branch.

Given the amount of WIP I have, I use git worktrees (we have a custom tool, Slalom, to manage them automatically). The main root of the worktrees is my "Axe Branch". Over the day I tweak prompts, refine skills, and try them out on my worktree branches directly. When something works, I push it out to the other worktrees.

Every time I review a PR and notice the AI made a mistake I've seen before, I update the Axe branch and test it out. Sometimes via a merge, sometimes explicitly, sometimes by cherry-picking where it's needed.

Some things that belong on the axe:

The greatest leverage is skills. You can tell Claude a thousand times to use your wrapped CLI command cli tsc and it'll revert to npm exec repeatedly. Instead, push this into a skill and build out skill-specific scripts. Layer up from there. The goal is skills that cover as much ground as possible. Sounds easy, but it's tricky in practice. I've hit a wall with reliable rebasing and that really makes compound skills difficult[2].

At Pyn we have an "Engineering Sync" each afternoon. This used to be for technical topics and blockers. Now it's pivoted to discussing Axe branch changes and sharing best practices.

Ideally the Axe Branch is my only "driving branch" where I'm actively coding and chatting interactively with Claude. I try to put half (!) my "active" coding into the Axe Branch and Slalom. I'll write about that in a future post.

I write about AI, organizations, and engineering leverage: find out about me and subscribe here.

Discuss and share via the meta page . Filed under AI, Axe, Code, and 100PR.

Footnotes

  1. "Give me six hours to chop down a tree and I will spend the first four sharpening the axe." - Widely attributed to Abraham Lincoln.

  2. If you have ideas, drop me a line!.