Skills are siloed across Chat / Cowork / Code tabs in the desktop app
Summary
The Claude desktop app has three tabs (Chat, Cowork, Code) but skills are managed inconsistently across them, even though it's a single app on a single machine logged into a single account. This forces unnecessary manual workarounds for what should be a seamless experience.
The Problem
Within one desktop app:
- Chat tab: Skills live in the cloud (account-bound). Editable only through the Customize UI.
- Cowork tab: Reads a local cache pulled from cloud (
~/Library/Application Support/Claude/local-agent-mode-sessions/skills-plugin/...). Edits here don't push back. - Code tab: Reads the same local cache via symlinks at
~/.claude/skills/. Edits here don't push back either.
Net result:
- No single edit surface. Editing a skill requires going to Chat's Customize UI; edits made anywhere else are lost on the next pull.
- No real-time propagation. A skill edited in Chat doesn't appear in Cowork/Code until I quit and restart the entire desktop app.
- Silent overwrites. If a user edits a skill file locally (e.g., via Code), the next cloud pull silently overwrites it without warning.
- Mental overhead. I have to remember "edits go in Chat tab only, then restart app to use them in Cowork/Code." This is the kind of thing the app should handle.
Why this matters
Skills are explicitly designed to be reusable across contexts — that's the whole point. Having them gated behind a single tab's UI defeats that. I use skills heavily for business operations (yoga studio CS, sales, design system, etc.) and move between Chat (planning), Cowork (operating), and Code (automation) constantly. Every skill edit is a friction point.
What I'd like to see
In order of preference:
- Unified skill editor accessible from any tab — let me edit a skill from Cowork or Code with the same UX as Chat's Customize.
- Real-time sync without app restart — when a skill changes in the cloud, push to local immediately (or at minimum, on tab switch).
- Bidirectional sync — local edits push back to cloud automatically (with conflict detection).
- At minimum, clear status indicators — show when local skills are stale relative to cloud, and warn before overwriting local edits.
Verification
I confirmed this behavior by editing ~/.claude/skills/after-yoga-cs/SKILL.md directly. The file's mtime updated, but the cloud-side updatedAt in the local manifest.json did not change — meaning the cloud has no idea the local edit happened, and the next pull will overwrite it.
Current workaround
Editing skills only in Chat's Customize UI, then quitting and reopening the entire desktop app before using Cowork or Code.
Environment
- Platform: macOS (Darwin 25.3.0)
- Claude Desktop App (Chat / Cowork / Code tabs)
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗