March 22, 2026
The tool that reshapes itself
Using Claude Code to configure Claude Code.
I’ve been using Claude Code for most of my dev work lately, and at some point it started folding in on itself. I’m writing code with it, but as I do I keep identifying patterns that I can automate to simplify my workflow. So increasingly I’m using it to configure itself.
It started small. I’d kick off a new work item by telling Claude Code to fetch the details from Jira, create a branch in a few repos, update my Obsidian notes, and open everything in VS Code. It worked fine. But I was describing the same sequence of steps every time, and the instructions kept getting longer as I refined them. “Actually, stash first if the branch is dirty.” “Oh, and check if the branch already exists before creating a new one.” “Also update today’s daily note.”
So I had Claude Code write a Skill for it. /start-work 529 web core int and it handles the whole thing. Fetches the work item, creates branches, updates my notes, opens VS Code. One command instead of a paragraph of instructions.
That’s the loop I keep falling into. I do something manually through a conversation, notice I’m repeating myself, then ask Claude Code to turn the pattern into something reusable. A Skill, a Hook, a rule in CLAUDE.md. The tool reshaping itself based on how I use it.
Claude Code has this layered system of customization. CLAUDE.md files define how it should behave across all projects or within a specific one. Skills are like custom commands you can invoke with a slash. Hooks run automatically in response to events. Each layer captures a different kind of recurring pattern, and each one is just a markdown file or a bit of JSON that Claude Code can read and write.
The part that still catches me off guard is how natural the progression is. You don’t sit down and plan your automation strategy. You just use the tool, get annoyed at repeating yourself, and ask it to remember. The configuration emerges from the work.