How to read this tree. This shows every file type in one place — a real project would only use the parts it needs. The my-plugin/ branch is a condensed preview; the 🔌 Plugin tab has the full layout. Click any row for details.
MD Markdown
JSON Config
SCRIPT Hook
LOCAL Gitignored
my-project/
CLAUDE.mdMD← main session instructions
CLAUDE.local.mdLOCAL← personal notes; gitignore it
AGENTS.mdMD← import from CLAUDE.md
.mcp.jsonJSON← project MCP servers
.gitignoreCFG
README.mdMD← imported by CLAUDE.md
CONNECTORS.mdMD← MCP integrations
TASKS.mdMD← persistent task list
.envLOCAL
.worktreeincludeCFG← worktree copy rules
.claude/← project config
CLAUDE.mdMD← optional project instructions location
settings.jsonJSON← shared team settings
settings.local.jsonLOCAL← personal overrides
rules/MD← modular instructions
code-style.mdMD← loaded every session
api.mdMD← only for matching paths
agents/MD← subagent definitions
code-reviewer.mdMD← full agent prompt
security-auditor.mdMD
doc-writer.mdMD
commands/MD← custom /slash-commands
review-pr.mdMD→ /review-pr
deploy.mdMD→ /deploy
skills/MD← capability bundles
docx/
SKILL.mdMD← instructions + metadata
QUICKREF.mdMD← short reference card
assets/← templates, samples
template.docx← output template
references/← deep reference docs
00-overview.mdMD
01-standards.mdMD
output-styles/MD← response style definitions
workflows/JS← workflow scripts
🔌 Plugin Structure
my-plugin/← standalone plugin folder
.claude-plugin/← plugin metadata
plugin.jsonJSON← optional manifest
.mcp.jsonJSON← plugin tool connections
.lsp.jsonJSON← language servers
settings.jsonJSON← plugin defaults
CONNECTORS.mdMD
README.mdMD
SKILL.mdMD← optional single-skill plugin
hooks/JSON
hooks.jsonJSON
scripts/SCRIPT← hook utilities
agents/MD
specialist.mdMD
commands/MD
call-summary.mdMD→ /sales:call-summary
pipeline-review.mdMD
skills/MD
account-research/
SKILL.mdMD
draft-outreach/
SKILL.mdMD
QUICKREF.mdMD
references/
00-tone-guide.mdMD
01-subject-lines.mdMD
output-styles/MD
themes/JSON
monitors/JSON
monitors.jsonJSON
bin/SCRIPT
LICENSETXT
CHANGELOG.mdMD
.claude/settings.local.jsonLOCAL
🛒 Marketplace Repository
my-marketplace/← catalog repo, not a single plugin
.claude-plugin/
marketplace.jsonJSON← plugin catalog
plugins/quality-review-plugin/← plugin source
📚 Documentation Imports
docs/← imported via @
architecture.mdMD
api-standards.mdMD
git-workflow.mdMD
🪝 Hook Scripts
scripts/← referenced by hooks
format-on-save.shSCRIPT← PostToolUse
security-gate.shSCRIPT← PreToolUse
💻 Your Code
src/← your actual code
CLAUDE.mdMD← subdirectory instructions load on demand
CLAUDE.local.mdLOCAL← subdirectory personal notes
🤖 Auto-Generated
~/.claude/AUTO← app data
projects/AUTO← transcripts + memory
-Users-you-my-project/← transcripts
<session-id>.jsonl← one per session
<repo-keyed>/memory/← auto-memory
MEMORY.mdMD← first 200 lines load
debugging.mdMD← topic file
agent-memory/AUTO← per-subagent memory
code-reviewer/
MEMORY.mdMD
file-history/AUTO← checkpoint snapshots
plans/AUTO← plan-mode files
debug/AUTO← debug logs
paste-cache/AUTO← large pastes
image-cache/AUTO← attached images
session-env/AUTO← session env metadata
tasks/AUTO← per-session task tool lists
shell-snapshots/AUTO← Bash environment snapshots
backups/AUTO← config migration backups
feedback-bundles/AUTO← /feedback archives
history.jsonlAUTO← prompt history
stats-cache.jsonAUTO← /usage totals
remote-settings.jsonAUTO← cached managed settings
Transcripts and auto-memory are separate stores keyed differently: transcript folders use the encoded working-directory path (per-worktree); memory is keyed on the git repo root (shared across worktrees).
👤 User-Level Config
~/.claude/← user config
CLAUDE.mdMD← personal instructions
settings.jsonJSON← user settings
rules/MD← user rules
agents/MD← user subagents
commands/MD← user commands
skills/MD← user skills + skills-dir plugins
output-styles/MD← user output styles
keybindings.jsonJSON← keyboard shortcuts
themes/JSON← user themes
plugins/AUTO← installed plugin state
cache/AUTO← installed plugin copies
data/{id}/AUTO← persistent plugin data
~/.claude.jsonJSON← user MCP servers + app state
🏢 Enterprise (Managed)
Managed files live at OS-level paths, outside any project. Paths shown are for Linux; macOS and Windows equivalents are in the 🌐 Scopes tab.
/etc/claude-code/← org-wide config
CLAUDE.mdMD← org-wide instructions
managed-settings.jsonJSON← technical enforcement
managed-settings.d/JSON← managed policy drop-ins
10-security.jsonJSON
managed-mcp.jsonJSON← managed MCP allowlist/config
📂

Select a file or folder

Click any item in the tree to see its description, usage examples, and source documentation.

Navigate with Tab and Enter, or close with Esc.

Relationship to the Full Tree. The my-plugin/ on the Full Tree tab is the same structure here, just abbreviated. Use this tab for the full plugin layout. This shows every component a plugin can have — most directories are optional.

Plugins are the main extension unit for Claude Code and the best public file-structure example Anthropic has published for Cowork-oriented workflows. A plugin can bundle skills, commands, agents, hooks, MCP/LSP connections, output styles, themes, monitors, executables, and default settings. The layout follows the official plugins reference, with narrower real-world examples in anthropics/claude-code, anthropics/knowledge-work-plugins, and anthropics/claude-plugins-official.

Is plugin.json required? For ordinary plugin loading, no — the manifest is optional and Claude Code auto-discovers components from standard directories. It is required when a folder under a skills directory should load as a plugin named <name>@skills-dir instead of as a plain skill. Marketplace entries can also expose skill bundles without a plugin manifest by using strict: false plus explicit component paths, as Anthropic's anthropics/skills marketplace does.
Manifest path behavior. Custom skills paths add to the default skills/ directory. Custom commands, agents, outputStyles, experimental.themes, and experimental.monitors replace their defaults unless the default path is listed explicitly. Hooks, MCP, and LSP configs have their own merge rules.
Documented plugin structure
plugin-name/← root = plugin identity
.claude-plugin/
plugin.jsonJSON← optional manifest
.mcp.jsonJSON
.lsp.jsonJSON
settings.jsonJSON
CONNECTORS.mdMD
README.mdMD
SKILL.mdMD← optional single-skill plugin
hooks/
hooks.jsonJSON← lifecycle → script map
scripts/SCRIPT← hook utilities
agents/
my-agent.mdMD
commands/
my-command.mdMD
skills/
my-skill/
SKILL.mdMD
QUICKREF.mdMD
assets/
template.xlsx
references/
00-guide.mdMD
01-patterns.mdMD
output-styles/
terse.mdMD
themes/
dracula.jsonJSON
monitors/
monitors.jsonJSON
bin/
my-toolSCRIPT
LICENSETXT
CHANGELOG.mdMD
Marketplace note. marketplace.json belongs to a marketplace repository that indexes plugins, not inside an individual plugin's .claude-plugin/ folder.

📦 sales plugin

Complete role-based plugin. Earlier versions shipped commands; on main they're now skills — invocation unchanged: /sales:call-summary.

sales/ # June 2026 ├── .claude-plugin/plugin.json ├── .mcp.json ├── CONNECTORS.md ├── README.md └── skills/ ├── account-research/SKILL.md ├── call-prep/SKILL.md ├── call-summary/SKILL.md ← was commands/ ├── competitive-intelligence/SKILL.md ├── create-an-asset/ │ ├── SKILL.md │ ├── QUICKREF.md │ └── README.md ├── daily-briefing/SKILL.md ├── draft-outreach/SKILL.md ├── forecast/SKILL.md ← was commands/ └── pipeline-review/SKILL.md ← was commands/

📦 clinical-trial-protocol skill

Canonical example of a skill using numbered references/ plus a utility script. Current main has no assets/ folder for this skill; see prior-auth-review-skill for healthcare assets.

healthcare/clinical-trial-protocol-skill/ ├── SKILL.md ├── README.md ├── references/ │ ├── 00-initialize-intervention.md │ ├── 01-research-protocols.md │ ├── 02-protocol-foundation.md │ ├── 03-protocol-intervention.md │ ├── 04-protocol-operations.md │ └── 05-concatenate-protocol.md └── scripts/ └── sample_size_calculator.py

📦 prior-auth-review-skill assets

Real Anthropic healthcare example showing assets/ with sample PDFs and supporting references/. Use this as the source-backed asset example.

healthcare/prior-auth-review-skill/ ├── SKILL.md ├── README.md ├── assets/ │ ├── Medicare_PA_Approval_Letter.pdf │ └── sample/ │ ├── 01_Prior_Auth_Request_Form.pdf │ └── 02_Clinical_Notes_H_and_P.pdf └── references/ ├── 01-intake-assessment.md ├── 02-decision-notification.md ├── notification-letter-templates.md ├── rubric.md └── tools.md

📦 plugin.json manifest

Optional for ordinary plugins. Sets metadata and optional component paths. Be precise: custom skills paths add to defaults; custom commands, agents, outputStyles, themes, and monitors replace defaults unless you list the default path too.

{ "name": "sales", "version": "1.3.0", "description": "Prospect, craft outreach, and build deal strategy faster. ...", "author": { "name": "Anthropic" } } # commands/ agents/ skills/ auto-found

📦 Plugin personalization

The documented mechanism is userConfig in plugin.json, which prompts users at enable time. Some Anthropic knowledge-work plugin READMEs also show .claude/settings.local.json inside the plugin folder as a Cowork/Claude Code convention.

// Official plugin.json pattern { "userConfig": { "company": { "type": "string", "title": "Company", "description": "Your company name" } } } // Repo convention from knowledge-work plugins // engineering/.claude/settings.local.json { "name": "Your Name", "title": "Software Engineer", "team": "Platform", "company": "Acme Corp", "techStack": ["Python", "TypeScript", "PostgreSQL", "AWS"] }
🔌

Select a plugin file

Click any item in the plugin tree to see what it does, example content, and a link to the official source.

Navigate with Tab and Enter, or close with Esc.

📋 CLAUDE.md MD

Main instruction file. Root and ancestor files load at session start; nested files load when Claude works in those subdirectories. Write project rules, build commands, code style, architecture. Use @path to import (imports can nest up to 4 hops deep). Also works at .claude/CLAUDE.md if you prefer a clean project root.

# My Project ## Commands - Build: `npm run build` - Test: `npm test` ## Code Style - TypeScript strict mode - Prefer async/await @docs/architecture.md @README

🤖 .claude/agents/*.md MD

Defines a subagent — a specialized Claude instance with its own context, tool restrictions, and system prompt. YAML frontmatter controls model, tools, and behaviour.

--- name: code-reviewer description: Reviews code for quality and security. model: sonnet effort: medium maxTurns: 20 tools: Read, Grep, Glob disallowedTools: Write, Edit, Bash --- You are a senior code reviewer. Focus on: security, test coverage, readability, performance. Never modify files — only report.

📝 .claude/commands/*.md MD

Each file becomes a /slash-command. Use $ARGUMENTS as placeholder. Supports frontmatter for tool restrictions.

--- description: Review a pull request allowed-tools: Read, Grep, Bash(git:*) --- Review changes: $ARGUMENTS Check for: 1. Security vulnerabilities 2. Missing tests 3. Style violations

📝 skills/*/SKILL.md MD

Core skill instruction file. The description frontmatter is how Claude decides relevance. Keep the body concise — it stays in context.

--- name: docx description: Use when creating Word documents (.docx files) allowed-tools: Read, Bash --- # Word Document Skill 1. Install python-docx 2. Use template @assets/template.docx 3. Run the script 4. Save to /outputs/

📝 QUICKREF.md MD

A compact cheat-sheet alongside SKILL.md. Gives Claude fast lookup without loading the full instructions.

# Create an Asset — Quick Ref Asset types: one-pager | case-study | pitch-deck email-sequence | battlecard | brief Required inputs: audience, key message, format Output path: /outputs/<name>.<ext>

📝 references/*.md MD

Deep reference material chunked into numbered files. SKILL.md stays short while Claude navigates to the right reference chunk.

references/ ├── 00-initialize-intervention.md ├── 01-research-protocols.md ├── 02-protocol-foundation.md ├── 03-protocol-intervention.md ├── 04-protocol-operations.md └── 05-concatenate-protocol.md

📝 CONNECTORS.md MD

Human-readable MCP integration docs. Most Anthropic knowledge-work plugins ship one. Not machine-read.

# Connectors ## Slack Enables: channel summaries, standup MCP server: @slack/mcp-server ## HubSpot Enables: contact lookup, deal research MCP server: @hubspot/mcp-server

✅ TASKS.md MD

Persistent task list from the productivity Cowork plugin. Claude reads, updates, and executes against it.

# Tasks ## Active - [ ] Refactor auth module - [ ] Write tests for user-service ## Waiting On ## Someday ## Done - [x] Set up CI pipeline

📝 .claude/rules/*.md MD

Modular instruction files. Without paths → loads every session. With paths glob → loads only for matching files.

--- paths: - "src/api/**/*.ts" --- # API Rules - Validate all endpoint inputs - Use the standard error response shape

📝 AGENTS.md MD

Claude Code reads CLAUDE.md, not AGENTS.md. If your repo uses AGENTS.md for other agents, have CLAUDE.md @-import it.

# CLAUDE.md @AGENTS.md ## Claude Code Use plan mode for changes under src/billing/

📝 docs/*.md MD

Regular markdown docs imported via @docs/filename.md. Keep CLAUDE.md short, link deeper docs here.

🎚 output-styles/*.md MD

Custom output style definitions. Available at project or global scope, and also as plugin components.

📋 CLAUDE.local.md LOCAL

Personal project notes — sandbox URLs, test accounts. Loads alongside CLAUDE.md and is treated the same way; add it to .gitignore. Because a gitignored file exists only in one worktree, prefer a @-import from ~/ when you work across multiple git worktrees.

# CLAUDE.local.md (gitignored) - Dev server: http://localhost:3001 - Test user: me@example.com # For multi-worktree setups, import instead: # @~/.claude/my-project-notes.md

📝 README.md MD

Standard documentation. Imported into CLAUDE.md via @README so Claude always has the project overview.

📝 MEMORY.md AUTO

Claude's auto-memory. First 200 lines (or 25KB) load each session. Keyed on the git repo, so worktrees share one store; outside a git repo, the project root is used. View with /memory.

~/.claude/projects/<repo>/memory/ ├── MEMORY.md ← loaded each session ├── debugging.md ← topic, on-demand └── patterns.md ← topic, on-demand

📂 agent-memory/ AUTO

Persistent per-subagent memory. Scopes: user at ~/.claude/agent-memory/, project at .claude/agent-memory/, local at .claude/agent-memory-local/ (gitignored). First 200 lines (or 25KB) injected at startup.

📋 plugin.json JSON

Optional plugin manifest for ordinary plugins. Custom path behavior depends on the field: skills adds to the default; commands, agents, outputStyles, themes, and monitors replace defaults unless the default path is listed explicitly.

{ "name": "sales", "version": "1.3.0", "description": "Prospect, craft outreach, and build deal strategy faster. ...", "author": { "name": "Anthropic" } } # component dirs auto-discovered

⚙️ settings.json JSON

Team-shared settings. Controls permissions, hooks, and MCP server auto-approval.

{ "permissions": { "allow": ["Bash(npm:*)", "Read"], "deny": ["Bash(rm -rf:*)"] }, "hooks": { "PostToolUse": [{ "matcher": "Edit|Write", "hooks": [{ "type": "command", "command": "scripts/format-on-save.sh" }] }] } }

🔌 managed-mcp.json JSON

Enterprise-managed MCP configuration deployed beside managed-settings.json. Use it when administrators need central control over which MCP servers are available.

{ "mcpServers": { "internal-search": { "type": "http", "url": "https://mcp.example.com/search" } } }

⚙️ managed-settings.d/*.json JSON

Enterprise-managed settings fragments. Claude Code merges them alphabetically after managed-settings.json, so teams can ship separate policy files.

managed-settings.d/ ├── 10-telemetry.json └── 20-security.json

🔌 .mcp.json JSON

Defines MCP tool servers. Lives at project root (project-wide) or inside a plugin (plugin-scoped).

{ "mcpServers": { "github": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-github"] } } }

📋 marketplace.json JSON

Index file for marketplace repos. References each plugin by name and source (relative path or git source), plus optional metadata.

{ "name": "knowledge-work-plugins", "owner": { "name": "Anthropic" }, "plugins": [ { "name": "sales", "source": "./sales", "description": "Prospect, craft outreach..." } ] }

🧠 .lsp.json JSON

Plugin-level language server configuration. Maps language server names directly to command/config objects.

{ "go": { "command": "gopls", "args": ["serve"], "extensionToLanguage": { ".go": "go" } } }

⚙️ plugin/settings.json JSON

Plugin default settings. Current docs limit supported keys; do not treat this as a general project settings replacement.

{ "agent": "plugin-default-agent", "subagentStatusLine": true }

📡 monitors/monitors.json JSON

Plugin background monitor configuration. The file is a JSON array of monitor entries.

[ { "name": "error-log", "command": "tail -F ./logs/error.log", "description": "Application errors" } ]

⌨️ keybindings.json JSON

User-level keyboard shortcut configuration under ~/.claude/.

🎨 themes/*.json JSON

User-editable theme files under ~/.claude/themes/. Plugin themes can be copied there for editing.

⚙️ ~/.claude.json JSON

User-level config storing MCP server definitions and Claude Code app state. Distinct from ~/.claude/settings.json (behaviour/permissions). Edit via claude mcp add or directly.

// ~/.claude.json { "mcpServers": { "github": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-github"] } }, "hasCompletedOnboarding": true }

⚙️ settings.local.json LOCAL

Personal overrides to project settings. Gitignored when Claude Code creates it. Plugin-local personalization via plugin/.claude/settings.local.json is shown by Anthropic knowledge-work plugin READMEs and is treated here as a convention.

{ "permissions": { "allow": ["Bash(docker:*)"] } }

⚙️ plugin/settings.local.json LOCAL

Anthropic knowledge-work plugin convention for local personalization — company name, team, tool stack. The official plugin schema uses userConfig in plugin.json.

// engineering/.claude/settings.local.json { "name": "Your Name", "team": "Platform", "company": "Acme Corp" }

🪝 scripts/hook.sh SCRIPT

Triggered at lifecycle events such as PreToolUse, PostToolUse, SessionStart, and Stop. Receives JSON on stdin; return exit codes for simple allow/block behavior or exit 0 with JSON for structured decisions.

#!/bin/bash # format-on-save.sh # event JSON arrives on stdin FILE=$(jq -r '.tool_input.file_path') prettier --write "$FILE" eslint --fix "$FILE"

📄 skills/*/assets/*

Templates, example outputs, sample inputs, config files. Any format Claude needs to produce correct output; Anthropic examples include PDFs, templates, fonts, HTML, and generated artifacts.

🤖 ~/.claude/projects/ AUTO

Auto-generated session history. Transcripts keyed on working-directory path; auto-memory keyed on git repo root.

~/.claude/projects/ └── -Users-you-my-project/ ├── 7d3f2a1c-….jsonl ├── 9b41e0d8-….jsonl └── c2a7f55e-….jsonl

📄 <session-id>.jsonl AUTO

One JSON Lines file per session. Each line is a message, tool call, or result. Cleaned up per cleanupPeriodDays (default 30). Never edit manually.

🔁 workflows/*.js

Dynamic workflow scripts saved under project or global .claude/workflows/. Each file becomes a slash command.

🌿 .worktreeinclude CFG

Controls gitignored files copied into new worktrees for isolated parallel work.

🔑 .env LOCAL

API keys, database URLs, secrets. Claude Code inherits your shell environment so hook scripts can read these. Never commit.

DATABASE_URL=postgresql://localhost/db GITHUB_TOKEN=ghp_xxx APP_ENV=development

🚫 .gitignore CFG

Exclude personal and secret files. Claude Code auto-gitignores settings.local.json but also add CLAUDE.local.md and .env.

CLAUDE.local.md .claude/settings.local.json */.claude/settings.local.json .env .env.local node_modules/

Four native Claude Code scopes, plus the plugin layer which installs into them. Click any file path to see its full description.

🏢 1. Enterprise

Managed CLAUDE.md (org-wide instructions)
  • macOS: /Library/Application Support/ClaudeCode/CLAUDE.md
  • Linux & WSL: /etc/claude-code/CLAUDE.md
  • Windows: C:\Program Files\ClaudeCode\CLAUDE.md
Managed settings (technical enforcement)
  • macOS: /Library/Application Support/ClaudeCode/managed-settings.json
  • Linux & WSL: /etc/claude-code/managed-settings.json
  • Windows: C:\Program Files\ClaudeCode\managed-settings.json
Managed settings drop-ins (same system directory)
  • managed-settings.d/*.json
Managed MCP (tool/server governance)
  • macOS: /Library/Application Support/ClaudeCode/managed-mcp.json
  • Linux & WSL: /etc/claude-code/managed-mcp.json
  • Windows: C:\Program Files\ClaudeCode\managed-mcp.json

Managed by IT/DevOps. A managed CLAUDE.md shapes behaviour; managed settings and managed MCP enforce policy.

Highest priority

👤 2. Global / User

  • ~/.claude/CLAUDE.md
  • ~/.claude/rules/ (user-level rules; loaded before project rules)
  • ~/.claude/settings.json
  • ~/.claude/agents/
  • ~/.claude/commands/
  • ~/.claude/skills/
  • ~/.claude/output-styles/
  • ~/.claude/workflows/
  • ~/.claude/keybindings.json
  • ~/.claude/themes/
  • ~/.claude/agent-memory/
  • ~/.claude/plugins/cache/
  • ~/.claude/plugins/data/{id}/
  • ~/.claude.json (user MCP servers + app state)

Personal preferences across all projects.

All your projects

📁 3. Project (Shared)

  • ./CLAUDE.md
  • ./.mcp.json
  • ./.worktreeinclude
  • ./.claude/settings.json
  • ./.claude/agents/
  • ./.claude/commands/
  • ./.claude/skills/
  • ./.claude/output-styles/
  • ./.claude/workflows/
  • ./.claude/agent-memory/

Committed to git. The whole team shares these.

Team sharedCommitted to git

🔒 4. Project (Personal)

  • ./CLAUDE.local.md
  • ./.claude/settings.local.json
  • plugin/.claude/settings.local.json

Gitignored. Your sandbox URLs, plugin personalization, personal tool preferences.

Gitignored

🔌 5. Plugin Layer

  • plugin/.claude-plugin/plugin.json
  • plugin/.mcp.json
  • plugin/.lsp.json
  • plugin/settings.json
  • plugin/SKILL.md
  • plugin/agents/
  • plugin/commands/
  • plugin/skills/
  • plugin/hooks/hooks.json
  • plugin/scripts/
  • plugin/output-styles/
  • plugin/themes/
  • plugin/monitors/monitors.json
  • plugin/bin/
  • plugin/.claude/settings.local.json

Plugins install into user or project scope. Agents/commands/skills are namespaced (e.g., /sales:call-prep).

Plugin namespacedInstallable
# Add an official Anthropic marketplace
claude plugin marketplace add anthropics/knowledge-work-plugins

# Install a specific plugin
claude plugin install sales@knowledge-work-plugins

# Community directory
claude plugin marketplace add anthropics/claude-plugins-community
claude plugin install my-plugin@claude-community

# Browse interactively
/plugin > Discover
🌐

Select a file path

Click any file in the scope cards to see what it does, with examples and source links.

Navigate with Tab and Enter, or close with Esc.

Everything here is traceable to Anthropic's official documentation or public repositories. Each detail card links its own source; the full set is below.

📘 Last verified June 12, 2026 against live docs and Anthropic's repos at the commit SHAs listed below. Items marked ⚙ are observed conventions from Anthropic repos, not documented guarantees.

How to read the badges

📘 Documented featureDescribed in Anthropic's official docs (linked on the card).
⚙ ConventionObserved in Anthropic's plugin repos. Useful, not documented file-type specs.

📦 Public repositories

🔎 GitHub audit commits

  • knowledge-work-plugins: 2dbea27670fa98c1e80a178cae7d7896a75353e9
  • skills: 57546260929473d4e0d1c1bb75297be2fdfa1949
  • claude-plugins-official: eb1510e138223ac656d9032f6caa625f8b52d207
  • claude-plugins-community: 3d4f97ebd36f21c87c0694eee4bc6da96a28b43a
  • healthcare: fb39874a8652321f7827ade5372ca058a605a21e
  • claude-code: ee81682a72b07705672332d1dc963927a998c177

🧾 Source-file summary

  • knowledge-work-plugins/.claude-plugin/marketplace.json — Cowork-oriented marketplace catalog with plugin entries and external sources.
  • knowledge-work-plugins/sales/ — current real plugin tree: .claude-plugin/, .mcp.json, CONNECTORS.md, README.md, and skills/.
  • knowledge-work-plugins/sales/skills/create-an-asset/ — real SKILL.md + QUICKREF.md + README.md convention example.
  • healthcare/clinical-trial-protocol-skill/ — real numbered references/ plus scripts/sample_size_calculator.py skill example.
  • healthcare/prior-auth-review-skill/ — real assets/ plus references/ healthcare skill example.
  • skills/skills/skill-creator/ — source-backed skill anatomy: SKILL.md, scripts/, references/, assets/, and nested helper agents.
  • claude-plugins-official/plugins/example-plugin/ — Anthropic-managed marketplace reference implementation.
  • claude-code/plugins/README.md — official repo-level plugin examples and standard plugin structure notes.

⚠ Known caveats

  • The official plugin docs are broader than many repo examples: docs list .lsp.json, output-styles/, themes/, monitors/, bin/, and plugin settings.json.
  • The knowledge-work plugins are the best public Cowork-oriented structures, but they are plugin packs, not a separate Cowork workspace/filesystem specification.
  • Claude Code docs, not Cowork product docs, define the file structure; Cowork evidence here comes from Anthropic's Cowork-oriented plugin repos.
  • The sales plugin's README still describes command workflows, while the current repo tree ships those workflows as skills/; namespaced invocation is unchanged.
  • plugin.json is optional for ordinary plugin loading; a skills-directory folder needs one only when it should load as a plugin rather than a plain skill. Marketplace entries can expose skill bundles without a plugin manifest by using strict: false.
  • Manifest path behavior differs by field: skills adds to defaults; commands, agents, outputStyles, themes, and monitors replace defaults unless defaults are listed explicitly.
  • Hooks still support exit-code control, but current docs recommend JSON output on exit 0 for richer decisions such as allow, deny, ask, defer, or modified tool input.
  • CLAUDE.local.md is fully supported in current docs (it appears in the official scope table and /init can create it). The @~/.claude/notes.md import is recommended specifically for sharing personal notes across git worktrees.
  • Plugin-shipped agents ignore the hooks, mcpServers, and permissionMode frontmatter fields for security reasons; copy the agent into .claude/agents/ if you need them.
  • Plugin personalization is documented through userConfig in plugin.json. Plugin-local .claude/settings.local.json appears in Anthropic knowledge-work READMEs and is labeled here as convention.
  • Transcripts vs auto-memory use different key strategies: working-dir path vs git repo root (outside a git repo, auto-memory keys on the project root).

🔍 Boundary of this map

  • This is a file-structure map, not a byte-level schema for every JSON field.
  • The full hook event table lives in the hooks reference; this page shows where hook files/config live.
  • MCP server implementation examples belong to the official Model Context Protocol SDK/server repos, not this Claude file map.