Skip to main content

Shared Data

CCS provides central management of reusable assets (commands, skills, agents) shared across all Claude instances via the dashboard.

Overview

Shared Data uses symlinks to eliminate duplication:
  • ~/.claude/ is the authoritative source (user-created files)
  • ~/.ccs/shared/ symlinks to ~/.claude/ (access layer)
  • Each profile instance symlinks to ~/.ccs/shared/ (profile access)
On Windows, file copies are used instead of symlinks if Developer Mode is not enabled.

Asset Types

TypeLocationDiscovery
Commands~/.claude/commands/All .md files, recursive (up to 10 levels)
Skills~/.claude/skills/Directories containing SKILL.md
Agents~/.claude/agents/Directories with prompt.md/AGENT.md, or single .md files

Dashboard

Access via http://localhost:3000/shared or navigate to the Shared Data page in the dashboard sidebar. Layout:
  • Left panel — Item list with search filtering (by name, description, path)
  • Right panel — Full markdown content viewer with metadata
Features:
  • Three tabs: Commands, Skills, Agents
  • Real-time search across names, descriptions, and paths
  • Click any item to view full markdown content
  • Metadata display including resolved symlink sources
  • Symlink status alert with “run ccs sync” guidance

Markdown Viewer

The built-in viewer renders:
  • Frontmatter (YAML metadata)
  • Headings (H1-H6)
  • Ordered/unordered lists
  • Code blocks with language tags
  • Inline formatting: bold, code, italic, [links]

Description Extraction

Items display descriptions extracted in this order:
  1. YAML frontmatter description: field
  2. First non-empty, non-heading markdown line
  3. Fallback: “No description”
  4. Trimmed to 140 characters

CLI Commands

# Re-create symlinks for shared data
ccs sync

# Run health check (verifies symlinks)
ccs doctor

API Endpoints

EndpointReturns
GET /api/shared/commandsList all commands with descriptions
GET /api/shared/skillsList all skills with descriptions
GET /api/shared/agentsList all agents with descriptions
GET /api/shared/content?type=X&path=YFull markdown content for an item
GET /api/shared/summaryCounts and symlink status

Security

  • Path traversal protection via fs.realpathSync() + containment checks
  • File size limits: 1 MiB descriptions, 2 MiB full content
  • Symlink safety checks on write operations

Troubleshooting

Items Not Showing

# Re-create symlinks
ccs sync

# Verify shared directory exists
ls -la ~/.ccs/shared/
If the dashboard shows a symlink warning, run:
ccs sync
This re-creates the symlink chain from ~/.claude/~/.ccs/shared/ → instances.