Claude Code guides and tools
Everything I have written and open-sourced about Claude Code, in one place. Each guide started as a problem I hit in daily use, and each repo is the fix I kept.
How I run Claude Code
I use Claude Code every day across a monorepo, a live freight automation and the routines that maintain this site. That is a lot of sessions, a lot of repetition and more than one account, and each of those pressures produced one of the guides below. None of them are summaries of the documentation. They are the decisions I actually make, with the mechanics that make them work.
Accounts. I keep a personal and a work Anthropic account. Claude Code keeps its whole state (auth tokens, session history, memory files, MCP configs, permissions) in a single ~/.claude directory, so switching meant running /login and losing the other session. The fix is isolation rather than switching: a separate CLAUDE_CONFIG_DIR per account in the terminal, and a second Claude Desktop install launched with its own --user-data-dir. The step most guides miss is giving the copy a unique CFBundleIdentifier; without it, macOS merges both apps into one Dock slot. I packaged the whole procedure as claude-clone.sh in an MIT-licensed repo, and it is still the most read thing on this site.
Extending it. Claude Code can be extended four ways, and they are easy to confuse because two of them are invoked the same way. I sort them by mechanism, not size. A slash command is a saved prompt I trigger. A skill is a saved prompt Claude triggers itself when a request matches its description. A subagent is a second Claude in an isolated context window that hands back only its conclusion. An MCP server connects Claude to a system it cannot otherwise reach. My order of questions: does the job need an external system (MCP), should Claude reach for it automatically (skill), do I want the timing in my hands (command), or should the exploration stay out of my main context (subagent)?
Repetition. Work that repeats goes into a loop. A fixed-interval /loop 5m watches a deploy or a CI run. A self-paced loop, with no interval, lets the model choose its own next check when I do not know the right cadence. Scheduled cloud agents take bounded jobs that should run while I am away. Every loop I ship is idempotent, bounded, observable, and hands the unusual cases to a person. I run a task by hand until I know its edge cases before I automate it, because automating a process I do not understand only automates the mistakes.
Reach. When Claude needs to touch something new, I build the bridge. zohomail-free started as a way to read and send Zoho Mail on a free account, where IMAP is not available. Its hosted API now exposes a Model Context Protocol endpoint, so Claude or any MCP client can list, read, send and reply to email through four tools.
Claude Code guides
How To Run Two Claude AI Accounts Simultaneously On Mac
Most guides tell you to use environment variables. But there is a cleaner way: install Claude as two separate desktop apps, each with its own isolated config directory, and run both at the same time.
Skills, Subagents, Commands, MCP: When to Use Which in Claude Code
Claude Code gives you four ways to extend it: slash commands, skills, subagents, and MCP servers. They get confused constantly. Here is the decision I actually use to pick the right one, based on who triggers it, where it runs, and whether it needs to reach outside.
How I Automate My Own Work With Agent Loops
Repetitive work does not need me, it needs a reliable loop that never forgets a step. Here is how I use Claude Code loops, scheduled cloud agents, and autonomous loops to run the boring parts of my work, and where I stop them.
Open-source repos
MelkonTech/two-claude-accounts-mac ↗
Shell · MIT
claude-clone.sh clones Claude Desktop into a second, independent app with its own name, Dock icon, notifications and config directory, so a personal and a work account run side by side. The --cli flag adds a CLAUDE_CONFIG_DIR alias for Claude Code in the terminal instead.
MelkonTech/zohomail-free ↗
Python · MIT
A Python library and CLI that reads, sends and replies to Zoho Mail on a free account, where IMAP is not available. Its hosted API exposes a Model Context Protocol endpoint with list_emails, read_email, send_email and reply_email tools, so Claude or any MCP client can work with the mailbox.
Which guide answers which question?
| Question | Guide |
|---|---|
| How do I use two Claude accounts at the same time on a Mac? | How To Run Two Claude Accounts on Mac Simultaneously |
| Should this be a slash command, a skill, a subagent or an MCP server? | Claude Code: Skills vs Subagents vs Commands vs MCP |
| How do I run a Claude Code task on a timer or a schedule? | How I Automate Repetitive Work With AI Agent Loops |
New Claude Code guides are added to this page when they ship. Follow along through the RSS feed, on GitHub or on LinkedIn, or write to hello@melkon.tech.
More about me on the about page, and all writing on the blog.