CC-Workshop CLAUDE.md

Repository instructions for CC Workshop, a macOS app for organising Claude Code skills, MCP servers, instruction files, and rules. It uses Tauri for the desktop app, Rust for the system side, and React with TypeScript for the interface.

In plain words
What is it for?
Use them when developing, building, testing, or linting CC Workshop, especially its configuration imports, project deployment, frontend, Rust backend, or Tauri communication.
Why use it?
They explain how configurations are imported, grouped into Scenes, and deployed to projects, along with the commands and tests needed to work safely.

Instructions file

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add instructions/o0000-code/cc-workshop/claude-md
Clone the repo
git clone --depth 1 https://github.com/O0000-code/CC-Workshop
Per session 2,584 This file is loaded in full into every session.
When invoked 2,584 The same file — it is already loaded in full.
Security scan B 1 finding. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.02584 $0.02584
Opus 5 $0.01292 $0.01292
Sonnet 5 $0.00517 $0.00517
Haiku 4.5 $0.00258 $0.00258

Measured 2d ago against content hash a9def92e128d, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade B, and why

CC-Workshop CLAUDE.md scanned grade B with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Reads agent configuration directoriesmediumAgent snooping

.claude/, .codex/, .gemini/ hold keys, settings and other credentials a mod has no legitimate need for.

Claude Code reads MCP config from `~/.claude.json` (NOT `~/.claude/settings.json`). The `ClaudeJson` type in `types.rs` models this: user-scope MCPs at `mcpServers`, project-scope at `projects[path].mcpServers`. Project-
CLAUDE.md · 135 lines

How it starts

The opening of the file, as written. The whole thing — 135 lines — stays where its author put it; the contents beside it link to each section on GitHub.

CLAUDE.md

This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.

What This Is

CC Workshop is a macOS desktop app for managing Claude Code configurations (Skills, MCP Servers, CLAUDE.md files, Rules). Built with Tauri 2 (Rust backend) + React/TypeScript frontend. It imports configs from ~/.claude/ and ~/.claude.json, organizes them with categories/tags, bundles them into Scenes, and deploys Scenes to projects via symlinks and .mcp.json files.

Commands

# Development (runs Vite frontend + Rust backend concurrently)
npm run tauri dev

# Production build (outputs .app to src-tauri/target/release/bundle/macos/)
npm run tauri build

# Frontend-only dev server (no Tauri IPC — limited functionality)
npm run dev

# Tests
npm test                          # Frontend (vitest)
npm run test:watch                # Frontend watch mode
cd src-tauri && cargo test        # Rust backend
npm run test:all                  # Both frontend + backend

# Lint
npx eslint src/                   # ESLint (flat config)

Architecture

IPC Boundary

Frontend calls Rust via safeInvoke() (src/utils/tauri.ts), which wraps Tauri's invoke() with environment detection. All backend commands are registered in src-tauri/src/lib.rs via tauri::generate_handler![]. The Rust command modules live in src-tauri/src/commands/ — one file per domain (skills, mcps, config, data, etc.).

Types must stay in sync across the boundary:

  • Rust: src-tauri/src/types.rs (all types use #[serde(rename_all = "camelCase")])
  • TypeScript: src/types/index.ts, src/types/claudeMd.ts, src/types/rule.ts, src/types/plugin.ts, src/types/trash.ts

State Management

Each domain has its own Zustand store (src/stores/). Stores call safeInvoke() for persistence and apply optimistic updates. The appStore handles categories, tags, and cross-cutting UI state; domain stores (skillsStore, mcpsStore, scenesStore, etc.) handle their respective entities.

Read the full file on GitHub · 135 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 135 lines · 2,584 tokens per session scan B a9def92e128d

Subscribe to this mod's changes

CC-Workshop CLAUDE.md is an instructions file published in the GitHub repository O0000-code/CC-Workshop (18 stars, last pushed 3mo ago), licensed MIT. It adds 2,584 tokens to every session, about $0.0129 per session on Opus 5. A static security scan graded it B with 1 finding (reads agent configuration directories). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.