Claude Code: How I Use It
How I currently use Claude Code. This is a living document that evolves with my workflow.
Environment
- Terminal: cmux
- Dictation: Wispr Flow for voice input. I have a note about interpreting phonetic typos in
CLAUDE.md. - Config managed via dotfiles repo (
~/.claude/symlinked into~/git/dotfiles/claude/)
I use cmux. I used to use bare Ghostty splits (⌘+D / ⌘+⇧+D), and before that tmux (see tmux + Neovim setup). My ranking: cmux > bare Ghostty > Ghostty + tmux. cmux is built on top of Ghostty, so I still get its speed and native macOS integration. Bare Ghostty also had an annoying tab-naming issue: since each tab is a project, I want stable names, but Ghostty changes the tab title based on whatever is running in the focused split. cmux gives me a sidebar for project-based organization (similar to the Codex app) with stable naming, while keeping things lightweight. Its split and multi-tab logic feels more natural: tabs are created within a split rather than splits being tied to a single tab, which better matches how CC workflows branch out.
My default layout is two panes side by side — Claude Code on the left, Neovim on the right. I split further as needed but try to return to this two-pane setup. Neovim is the right fit here for the same reason as Ghostty: snappy and versatile. You can quickly move around, explore files, and make edits while CC works in the other pane. I sometimes run watch scripts (e.g., auto-compile, file sync) in a tiny extra pane.
Usually I have several tabs open (one for each project) with each tab having 2+ panes.
CLAUDE.md setup
Three layers:
- Global (~/.claude/CLAUDE.md): Python/uv preferences, wiki/blog paths, project tracking conventions, academic writing style
- Project (CLAUDE.md): repo-specific instructions, commands, code style
Custom skills
I keep a small set of research-oriented skills. They include:
math— symbolic verification with SymPydoi-bibtex— fetch BibTeX from DOIarxiv-metadata— fetch paper metadata from arXivopenalex-database— query OpenAlex for literature search and bibliometricsgarden— Wiki gardening—pick a page and improve itprocess-inbox— triage ~/Downloads and file documents based on filenames and interactive instructions.process-omnifocus-inbox— process OmniFocus inbox items
Plus the Anthropic document-skills plugin for PDF, PPTX, DOCX, etc.
Custom agents
My custom agents include:
file-paper— file an academic paper to my wiki. It fills in metadata and then search my wiki to identify & link relevant papers and other conceptswikify— turn anything into a wiki page. This callsfile-paperagent when necessary. Otherwise follow similar steps to create links to relevant pages.latex-cleanup— review LaTeX documents after editingupdate-paper-status— update a paper’s publication status in CV bib filecodebase-analyzer,code-smell-refactor,security-auditor— code quality
Custom commands
git-sync— add, commit, pull –rebase, pushrelease— bump version, tag, push, create GitHub release, publishuv-init— bootstrap Python/uv/direnv environmentnew-research-project— scaffold from my project templatewikify— routes to the right agent (file-paper for papers, wikify for everything else)