People often misunderstand the workspace organization or totally forget about it. There's many ways to skin that cat and it's great you highlighted an efficient path!
The Claude Cowork vs Claude Code is slightly misleading. You can do most of the Claude Code work in Cowork. I build my entire .com and push to Github from Cowork and have it test the deployment on Cloudflare. Not having a separation is actually advantageous because you keep everything into one context and one "nice" UX. I also built and deploy my Make.com workflows from Cowork.
Cowork workspaces (projects) have CLAUDE.md too and it is a best practice to setup one locally. I have one for every workspace. Just no hooks :-(
Thanks! How did you manage to make Claude Cowork read Claude.md at the start of every session (like Claude Code would)? I tried global instructions and projects but it sometimes reads it and sometimes doesn't
And, yes, Cowork is great. Whenever I hit a wall with Cowork, I switch to Claude Code, though
Stay away from Global Instructions. It has a cache bug that makes it unusable; it’s a bad app design anyway
Simply place http://CLAUDE.dm at the workspace folder root (workspace = local folder Cowork project points to)
It works like a charm. The same setup works in ChatGPT work BTW using AGENTS.md; I use both or I should say I moved to ChatGPT Work full time in August because it is SO MUCH FASTER.
FYI - my setup is slightly different than yours; I have one workspace per domain, i.e. Sales, Marketing, Operations, Planning, etc - each one has its own http://CLAUDE.md (that’s what I teach my students)
Was confused as to why you check your mark down files with the AI slop skill…if your markdown files have a lot of “AI jargon”…who cares? The skill would be rather useful for your own writing (articles, emails…)
After enough hours the standing file stops being the product. Hooks that force a check beat another paragraph in CLAUDE.md, and deleting the line a workflow already handles is the cleanup I keep putting off.
The islands-versus-files distinction is the sharpest line in this piece — it stops being a feature comparison and becomes an org-design decision the moment a second person touches the same work. What I would add from the buying side: 'Cowork first, Code last' is not just a skill ladder, it is two different product roles being purchased — assistant, then shared infrastructure — and the boring parts (names, variables, report shapes) are precisely the interface between them. 'Run twelve' reads like productivity advice, but it is really the admission that the unit of purchase stopped being a person.
3,600 hours is real data, not a weekend impression. curious what surprised you most — usually it's the stuff that works great in isolated tests but falls apart with actual messy production data. that gap is where most of the real lessons live.
Two of these I've also learned the hard way running a personal knowledge system on Claude Code:
- Lesson 8, rule versus hook: the rules I care about most are the ones that get ignored late in a long session; the only ones that held were the ones a script enforces.
- Lesson 6 explains a fault I'd logged twice without finding its cause, so thanks for that.
One addition: Lesson 7, your "true in every session" test applies to everything a session reads on its first turn, not just CLAUDE.md. So part of my regime is a standing discipline to ruthlessly prune every file read at session start (which I also learned the expensive way).
Excellent article!
People often misunderstand the workspace organization or totally forget about it. There's many ways to skin that cat and it's great you highlighted an efficient path!
The Claude Cowork vs Claude Code is slightly misleading. You can do most of the Claude Code work in Cowork. I build my entire .com and push to Github from Cowork and have it test the deployment on Cloudflare. Not having a separation is actually advantageous because you keep everything into one context and one "nice" UX. I also built and deploy my Make.com workflows from Cowork.
Cowork workspaces (projects) have CLAUDE.md too and it is a best practice to setup one locally. I have one for every workspace. Just no hooks :-(
Thanks! How did you manage to make Claude Cowork read Claude.md at the start of every session (like Claude Code would)? I tried global instructions and projects but it sometimes reads it and sometimes doesn't
And, yes, Cowork is great. Whenever I hit a wall with Cowork, I switch to Claude Code, though
Stay away from Global Instructions. It has a cache bug that makes it unusable; it’s a bad app design anyway
Simply place http://CLAUDE.dm at the workspace folder root (workspace = local folder Cowork project points to)
It works like a charm. The same setup works in ChatGPT work BTW using AGENTS.md; I use both or I should say I moved to ChatGPT Work full time in August because it is SO MUCH FASTER.
FYI - my setup is slightly different than yours; I have one workspace per domain, i.e. Sales, Marketing, Operations, Planning, etc - each one has its own http://CLAUDE.md (that’s what I teach my students)
Loved the article!
Was confused as to why you check your mark down files with the AI slop skill…if your markdown files have a lot of “AI jargon”…who cares? The skill would be rather useful for your own writing (articles, emails…)
Or maybe I misunderstood your explanation?
After enough hours the standing file stops being the product. Hooks that force a check beat another paragraph in CLAUDE.md, and deleting the line a workflow already handles is the cleanup I keep putting off.
The islands-versus-files distinction is the sharpest line in this piece — it stops being a feature comparison and becomes an org-design decision the moment a second person touches the same work. What I would add from the buying side: 'Cowork first, Code last' is not just a skill ladder, it is two different product roles being purchased — assistant, then shared infrastructure — and the boring parts (names, variables, report shapes) are precisely the interface between them. 'Run twelve' reads like productivity advice, but it is really the admission that the unit of purchase stopped being a person.
3,600 hours is real data, not a weekend impression. curious what surprised you most — usually it's the stuff that works great in isolated tests but falls apart with actual messy production data. that gap is where most of the real lessons live.
Really useful, thank you both.
Two of these I've also learned the hard way running a personal knowledge system on Claude Code:
- Lesson 8, rule versus hook: the rules I care about most are the ones that get ignored late in a long session; the only ones that held were the ones a script enforces.
- Lesson 6 explains a fault I'd logged twice without finding its cause, so thanks for that.
One addition: Lesson 7, your "true in every session" test applies to everything a session reads on its first turn, not just CLAUDE.md. So part of my regime is a standing discipline to ruthlessly prune every file read at session start (which I also learned the expensive way).
Saving this for next coffee read, thanks!