Claude Code for Freelancers: A Simple Setup for Repeatable Client Work

I’ve run an independent SEO practice since 2017, after 16 years doing SEO in-house. Most of my client work now runs through Claude Code.

My setup is straightforward: a folder for each client, short instructions, and saved procedures for recurring work.

Before that, I kept client work across separate chats. A brief lived in one conversation, reporting instructions in another, and last month’s exports somewhere in Downloads. Starting a task meant finding the files and explaining the background again.

This guide shows the setup I use and how to try it with one client. You can start in the Claude desktop app without opening Terminal.

How Claude Code Works With Your Client Files

Claude Code can work directly with a project folder: reading files, editing them, running commands, and saving outputs, as Anthropic’s quickstart describes. That’s useful when your work involves files and scripts you return to regularly, like a monthly SEO review that compares Search Console exports and drafts a summary.

A saved procedure gives next month’s review the same starting steps. It doesn’t make the analysis correct. Require the report to name its source files and calculations, then check a sample of the findings before sending it.

The same goes for numbers Claude can’t see. For keyword volume or rankings, provide an export or connect the data source, and ask Claude to name the source and date. An unsourced number isn’t measured data.

I haven’t run a controlled comparison of time saved. The examples here describe my own setup, and I still check the analysis before using it.

Set Up the Code Tab

Claude Code is built into the Code tab of the Claude desktop app. Anthropic’s terminal guide for new users notes that the desktop app “lets you skip the terminal entirely.” The Code tab needs a paid plan. Pro was $20 a month on Anthropic’s pricing page in November 2026.

Start with these choices so you can review the work as you learn:

  1. Choose Local. Choose Local if you want Claude to work with the client folder on your Mac. Cloud sessions use a separate environment and don’t automatically have your local files or personal configuration. Local means the session’s tools run on your Mac. It doesn’t mean Claude runs offline or that file contents stay off Anthropic’s servers.
  2. Start in Plan mode. Use Plan mode to review the approach before Claude edits your project files. Plan mode can still read files and run exploratory commands. When you’re ready to proceed, switch to Manual mode and review its permission requests.
  3. Work on copies at first. Practice on a copy of a client folder until the routine makes sense.
  4. Review the changes. The Changes view shows additions and deletions in text files. That comparison is called a diff. Open generated reports and spreadsheets separately to check their contents.

Then ask in plain language:

Review this folder and explain what’s here. Identify the files I’d need for a monthly SEO review. Don’t change anything yet.

Talking Instead of Typing

A lot of what I give Claude is dictated. My instructions say that input often arrives by voice and to match what I mean rather than my exact words. Under each recurring job, I list the loose ways I tend to ask for it (“what should we work on,” “what’s on the site”), so a spoken request reaches the right procedure.

If you set this up, add one more line: account for likely transcription errors, and ask before interpreting an unclear client name, account, URL, or requested action.

The terminal version of Claude Code has a /voice command. On a Mac, Apple’s Dictation works anywhere you can type.

Start With One Client Folder

Here’s the smallest setup worth using:

client-a/
├── CLAUDE.md
├── context/
│   ├── business.md
│   ├── brand.md
│   └── measurement.md
├── source-data/
├── work/
└── deliverables/

Claude Code loads CLAUDE.md automatically when you work in the folder. Listing another file there doesn’t load that file’s contents. Tell Claude when to read it, or use an explicit import such as @context/brand.md for information it needs in every session. The folder names are my conventions. Claude doesn’t treat them specially.

The three working folders keep evidence, analysis and finished work apart:

FolderWhat goes in it
source-data/Original exports, untouched
work/Checks, calculations, findings, drafts
deliverables/Reviewed work ready for the client

A polished draft is still a draft. The folders don’t prevent a mistaken recommendation, but they make a file’s status easy to see.

A client CLAUDE.md can be this short:

# Client A

## Read the relevant context before starting
- For business goals: read context/business.md.
- For writing or content work: read context/brand.md.
- For reporting: read context/measurement.md.

If a required file is missing, ask before proceeding.

## Where things go
- Original exports: source-data/
- Analysis and drafts: work/
- Reviewed reports: deliverables/

## How to work
- Confirm date ranges before comparing data.
- Separate observations from possible explanations.
- Identify source files and calculations for reported figures.
- List missing inputs instead of guessing.
- Do not move a draft to deliverables/ without my approval.

If the client’s website has its own code repository, leave it there and note its location in this file.

Personal, Practice and Client Instructions

With several clients, I keep them under one practice folder, and my personal instructions sit in my home folder:

~/.claude/
├── CLAUDE.md
└── skills/
    └── monthly-seo-review/
        └── SKILL.md

Client Work/
├── CLAUDE.md
├── templates/
│   └── seo-report.md
└── clients/
    ├── client-a/
    └── client-b/

That gives three levels of instructions:

  • Personal. ~/.claude/CLAUDE.md applies to every project on your Mac. The ~ is your home folder. Mine covers how I write and how I want evidence handled.
  • Practice. A CLAUDE.md in the practice folder covers what each folder is for and what has to be checked before a report goes out.
  • Client. The client’s CLAUDE.md covers that business.

When you open client-a, Claude Code also loads the CLAUDE.md files above it. The files are combined, not ranked. If two instructions contradict each other, Anthropic says Claude may pick one arbitrarily, so remove the contradiction instead of counting on the more specific file to win. Anthropic also suggests keeping each file under 200 lines. A templates folder doesn’t load by itself either; the procedure has to name the template.

My test for where a rule belongs: would it still apply if I were working for a different client? If yes, it’s practice-wide or personal. If no, it stays with the client. I learned that from a mistake. For a while, some of my general writing rules lived in one client’s folder, so they never loaded when I worked on anyone else.

Write down what each folder is for in the practice-level file. I added that after one kind of project moved folders three times. Now plans waiting for approval live in a backlog folder and move to the client’s docs folder once work starts. Your meanings can differ. Writing them down is what keeps work from scattering.

When I add a rule, I add the date and what prompted it. “Try the tool’s own settings before writing custom code (added after a fix went into the wrong plugin).” “A paid scraping tool is opt-in only (added after unasked use ran its credits low).” The reason helps me judge whether the rule still applies.

Shared Procedures

Say you run monthly reviews for a healthcare practice and an online store. Both reviews check the inputs, compare periods, find what changed, and recommend next steps. The goals differ: qualified inquiries for one, purchases and revenue for the other.

That’s one procedure with two sets of client context. In Claude Code, a reusable procedure is a skill: a folder with a SKILL.md file that describes the job and when to use it, plus any scripts or reference files it needs. A skill in ~/.claude/skills/ is available in every project on your Mac.

The skill says how to find and check the client’s inputs. The client’s facts stay in the client’s folder. A small config file can hold the fields the procedure reads every time:

client_name: Client A
reporting_timezone: America/Chicago
primary_conversions:
  - qualified_lead
  - booked_consultation

That format is yours, not Claude’s, so the skill has to say what each field means.

How my procedures have grown:

  • A repeated correction becomes a rule. Many of my rules started as a correction.
  • A recurring data trap gets fixed once. Search Console treats domain properties and URL-prefix properties differently, and a trailing slash can quietly break a join between two files. I added those checks to the shared procedure.
  • Fixes go into the shared source. I once fixed a shared checking script inside one project’s copy. The next sync from the shared version overwrote the fix. Now a fix goes into the shared file first, then out to each project.

A client-only skill makes sense when the procedure itself is different, like an unusual product feed or publishing process. A different client name isn’t reason enough to copy the whole method.

Example: A Monthly SEO Review

Here’s the routine, run on copies of exports with nothing sensitive in them.

  1. Open the client folder in a Local session, not the whole practice folder.
  2. Take an inventory first. Ask:

Run the monthly SEO review for this client. First list the client instructions, measurement definitions, source files and report template you found. Confirm the date ranges and list anything missing before you analyze anything.

  1. Check the inputs before interpreting them. Do the periods match? Do the files use the same dimensions? Are URLs matched the same way? Is a filtered subset being compared to a total?
  2. Get a findings table before any narrative. Each row: what changed, which file shows it, how it was calculated, the limitation, and the follow-up.
  3. Then write the client version. Separate what changed, what the evidence supports, what’s still uncertain, and what you recommend.
  4. Run it again next month and check whether the procedure still works with the new exports.

Step 3 exists because of a comparison that looked better than it was. One client’s Search Console property only started collecting data partway through the prior year. The trailing-twelve-month and year-to-date comparisons both showed growth in the hundreds of percent, because the earlier periods were mostly empty. A quarterly comparison was inflated too, since half of one month was missing. The only fair comparison was a three-month window that both years fully covered, and its gain was much smaller. Now the procedure finds the first date the source has data before it compares anything, and the report uses the smaller, accurate number.

Using the Same Folders in Cowork

The labels may differ by account as Anthropic combines chat and Cowork. For document-heavy research and reporting, Cowork may cover the job. I use Code when I want to maintain scripts, inspect file changes, or work directly with website code.

Your client files can carry over. Your Claude Code configuration needs separate setup:

What you want to reuseWhat to do in Cowork
Client filesConnect the folder or add it as project context
Client instructionsPut them in the project’s instructions
A shared skillUpload and enable it under Customize, then Skills
Personal preferencesReview your account-level instructions
Keeping clients separateReview each project’s “Use account memory” setting

Don’t assume Cowork applies your local Claude Code configuration. Check each project’s instructions, files and enabled skills. If you also use Claude Code in the terminal, skills you upload to your account sync into it in recent versions.

Check the Setup and Review the Work

Check the loaded configuration as well as Claude’s response. In Claude Code, /context shows which instruction files loaded and /skills lists the available skills, as the configuration guide explains. Then run the same harmless task in two client folders with clearly different goals. If one client’s terminology shows up in the other’s draft, something is loading that shouldn’t be.

A clean result needs a count. “No problems found” tells me little until I know what was checked, so my instructions ask for the number of pages, rows or files examined alongside any finding. I added that after more than one “all clear” turned out to have skipped part of what it was supposed to cover.

Folders and instructions also aren’t access controls. Anthropic describes instruction files as context, not enforced configuration. Keep the real safeguards separate:

  • Open only the client folder the task needs.
  • Keep passwords and API keys out of instruction and context files.
  • When a tool connects to Search Console or analytics, confirm it’s the right client’s account and property.
  • Review changes before anything is published.
  • Keep backups.

For health care or other sensitive client work, the data, the tools, and your contract each need their own review.

Leave a Handoff Note

For longer projects, I keep a short dated handoff note: what’s done, what’s live, what’s open, and where the files are. Claude Code also has saved instructions and auto memory, but the note gives me a project summary I can review and correct.

Start With One Task

Pick one client and one recurring task. Use copies of the source files, review the output, and try the same procedure with the next dataset.

Keep the parts that help. Add structure when a recurring problem gives you a reason to.