CML-TK/1.0 · companion of CML-WB/1.0 · 3 October 2026

Claude extension landscape

Products, official extension surfaces, and the community packs that install through them. For Karolis Valickas. British English. Facts locked 3 October 2026. Gaps stay unverified.

Use this first. Five handoffs, then the four layer columns, then one category card.

Markdown twin: claude-mod-landscape.md

Diagram sources: diagrams/*.mmd

flowchart TB
  products["Products"]
  surfaces["Official extension surfaces"]
  packs["Community packs via those surfaces"]
  routers["Routers under the client, not Anthropic"]
  products -->|"clients"| surfaces
  surfaces -->|"install through"| packs
  products -->|"may sit under"| routers
How the layers stack. The lower edge is optional: a router may sit under the official client. It is not a required hop, and it is not an Anthropic product.

1. Read the five handoffs2. Scan the layer board3. Open the category4. Check gaps before a star count or a proxy repo

Five handoff points

1

DEC-01

Mod is a layer, not the whole plugin

Mod is official Claude Code term v2.1.287+: in-process JS/TS, can redraw UI and rewrite tool calls, unsandboxed. Settings hooks, skills, and MCP are different layers. A plugin can contain all of them.

2

DEC-02

Distribution is marketplaces

Distribution is marketplaces. Official claude-plugins-official auto-added. Community @claude-community. Author repos unreviewed. claude.ai has a separate directory that syncs into Claude Code.

3

DEC-03

Skills file is not the Skills API

Skills are the portable instruction pack. API version needs code execution, is workspace-scoped, different install path from a Claude Code skill file.

4

DEC-04

CLAUDE.md does not enforce

CLAUDE.md does not enforce. Hooks and mods do. Orgs can shut user mods off with disableAllHooks or allowManagedModsOnly while leaving skills and MCP loaded.

5

DEC-05

A router README is not the protocol

Model routing is the largest community fork and breaks when Claude Code request shape changes. Anthropic gateway is the supported version. Do not treat a router README as the Claude Code protocol.

DEC-05 is quoted as written. It is not a measured fork ranking. See GAP-18.

flowchart TB
  subgraph userLane["User lane"]
    choose["Choose marketplace or author repo"]
  end
  subgraph ccLane["Claude Code lane"]
    bundle["Plugin loads its parts"]
  end
  subgraph modelLane["Model lane"]
    gate["Anthropic gateway supported"]
    fork["Community router not Anthropic"]
  end
  choose --> bundle
  bundle --> gate
  bundle --> fork
Three lanes. The two model-lane nodes are alternatives, not a single turn that calls both.

Layers, side by side

Products ✓

  • claude.ai chat
  • Cowork
  • Claude Desktop, including the Code tab (Linux is beta)
  • Claude Code in the terminal
  • VS Code
  • JetBrains
  • Cloud
  • Mobile Remote Control
  • Claude API

Extension surfaces ✓

  • CLAUDE.md and path-scoped rules
  • Output styles
  • Agent Skills
  • Settings hooks
  • MCP (remote connectors and local servers)
  • Desktop .mcpb bundles
  • Claude Code plugins and marketplaces
  • Claude Agent SDK
  • Skills API
  • Mods (plugins can ship them from v2.1.287)

A plugin can contain ✓

  • Skills (namespaced /plugin:skill)
  • Agents
  • Hooks
  • MCP
  • LSP
  • Monitors
  • bin/ on PATH (v2.1.91, week of 30 March–3 April 2026)
  • Settings
  • Mods

Under the client ✓

  • Community routers sit under the official client and rewrite the model endpoint
  • They are not Anthropic products
  • Supported path: Anthropic gateway
  • musistudio/claude-code-router is one named router, not the protocol

Membership is the columns. The diagram above is only the order of the lanes. Linux beta is a Desktop note from the survey, not a separate product.

flowchart TB
  official["claude-plugins-official auto-added"]
  community["Community @claude-community"]
  demo["Demo marketplace in claude-code"]
  authors["Author repos unreviewed"]
  web["claude.ai directory syncs in"]
  cc["Claude Code"]
  official --> cc
  community --> cc
  demo --> cc
  authors --> cc
  web --> cc
Where a pack can come from. The community GitHub page was not fetched; @claude-community is the handoff name.

Category cards

C-MOD · L-MOD

Mods

Official term, Claude Code v2.1.287+. In-process JS/TS. Can redraw UI and rewrite tool calls. Not sandboxed.

Drawing: terminal and Desktop Code tab. Not VS Code chat, claude -p, or cloud.

✓ SRC-001 · ship week ?? GAP-09

C-PLUGIN · L-PLUGIN

Plugins

A bundle: skills, agents, hooks, MCP, LSP, monitors, bin/ on PATH, settings, mods. Skills namespaced /plugin:skill.

✓ official marketplace auto-added · list ?? GAP-02

C-SKILL · L-SKILL

Skills

SKILL.md folder, staged load. API is a different path: POST /v1/skills, up to 20, needs code_execution_20250825, workspace-scoped.

✓ SRC-009 · SRC-011

C-HOOK · L-HOOK

Hooks

Shell, HTTP, prompt, agent, or MCP-tool. Named events include PreToolUse, PostToolUse, Stop, PermissionDenied, InstructionsLoaded.

~ full event list not copied · SRC-017

C-MCP · L-MCP

MCP

Product-wide connectors directory (Verified vs Community). Desktop bundles are .mcpb (was .dxt).

✓ SRC-020 · rename ~ SRC-024

C-SDK · L-SDK

Agent SDK

Old name Claude Code SDK. Custom tools and plugins have docs. TS SDK V2 session API is marked removed.

npm names ?? GAP-11 · toolset id ?? GAP-10

C-ROUTE · L-ROUTE

Routers

Sit under the official client and rewrite the model endpoint. Not Anthropic products. Supported path is the Anthropic gateway.

✓ SRC-029 · SRC-030 · stars ~

flowchart LR
  author["Author"]
  admin["Org admin"]
  user["Claude Code user"]
  ship["Ship a mod in a plugin"]
  lock["Leave skills and MCP, block user mods"]
  install["Install from a marketplace"]
  surfaces["Extension surfaces"]
  author --> ship
  ship --> surfaces
  admin --> lock
  lock --> surfaces
  user --> install
  install --> surfaces
Documented roles only. Not a studied user cohort, and not a personal stack.
flowchart LR
  md["CLAUDE.md is advisory"]
  hook["Hook can enforce"]
  mod["Mod can enforce"]
  org["Org can shut user mods off"]
  gap["Enforcement is not the file"]
  md --> gap
  hook --> gap
  mod --> gap
  org --> gap
CLAUDE.md is advisory. A hook or a mod enforces. An org can still shut user mods off.
flowchart TB
  cc["Claude Code"]
  gate["Anthropic gateway"]
  model["Model endpoint"]
  cc -->|"supported path"| gate
  gate --> model
Supported model path. Anthropic gateway. Not a community router.
flowchart TB
  cc["Claude Code"]
  router["Community router"]
  model["Rewritten model endpoint"]
  cc -->|"not an Anthropic product"| router
  router --> model
Community path. The router rewrites the endpoint. Not an Anthropic product. Not the protocol.
sequenceDiagram
  participant User
  participant Market as Marketplace
  participant Plugin
  participant Skill
  participant Hook
  participant Mod
  User->>Market: Install
  Market->>Plugin: Bundle
  Plugin->>Skill: /plugin:skill
  Plugin->>Hook: Settings hooks
  Plugin->>Mod: In-process handlers
Install sequence. MCP, LSP, monitors, bin/ on PATH, and settings are also in a plugin and are not drawn (six-participant cap).

Baseline, useful, fail

Card What to use it for
User storyAuthor ships a mod in a plugin. User installs from a marketplace. Org admin can block user mods and still leave skills and MCP loaded. Roles from the survey, not a studied cohort.
BaselineOfficial clients and their extension surfaces. No personal stack was in the survey. A router is under that baseline, not inside it.
UsefulTerminal and Desktop Code tab: a mod can redraw UI and rewrite tool calls, prompts, and the named UI pieces.
FailNo drawing in VS Code chat, claude -p, or cloud. Not sandboxed. Function-hooks env var ignored from v2.1.287. Router breaks when the request shape changes.
flowchart LR
  mod["In-process mod"]
  termOk["Terminal drawing works"]
  deskOk["Desktop Code tab drawing works"]
  vscNo["VS Code chat no drawing"]
  pipeNo["claude -p no drawing"]
  cloudNo["Cloud no drawing"]
  mod --> termOk
  mod --> deskOk
  mod --> vscNo
  mod --> pipeNo
  mod --> cloudNo
Where mod drawing works from v2.1.287. Three clients on the right are explicitly out.
stateDiagram-v2
  state "User mods" as userMods
  state "disableAllHooks" as blocked
  state "allowManagedModsOnly" as managed
  state "safe-mode flag" as safeMode
  state "Skills and MCP stay loaded" as skillsStay
  [*] --> userMods
  userMods --> blocked
  userMods --> managed
  userMods --> safeMode
  blocked --> skillsStay
  managed --> skillsStay
Org controls. Only disableAllHooks and allowManagedModsOnly are shown leaving skills and MCP loaded. The survey does not say that about the safe-mode flag.

User story

An author ships an in-process mod inside a plugin. Drawing is for the terminal and the Desktop Code tab.

Baseline

Hooks, skills, and MCP stay different layers. A plugin can contain all of them, including the mod.

Useful

Watch, rewrite, or take over tool calls, prompts, and UI: panes, the band above the prompt, the spinner, tool rows.

Fail

Not sandboxed. No drawing in VS Code chat, claude -p, or cloud. CLAUDE_CODE_ENABLE_FUNCTION_HOOKS is ignored from v2.1.287.

Built-ins

Name Note Badge
cc-plugin-diffBuilt-in✓
cc-plugin-agents-mdBuilt-in✓
cc-plugin-telemetryBuilt-in✓
cc-plugin-sec-defaultBuilt-in✓
cc-plugin-you-should-knowBuilt-in, off by default✓

Samples

Name Note Badge
token-weatherNamed sample. Repo URL not fetched.??
blast-radiusNamed sample. Repo URL not fetched.??
replay-theaterNamed sample. Repo URL not fetched.??

Sample repo URL: unverified (GAP-05). ??

flowchart TB
  file["SKILL.md folder staged load"]
  api["POST /v1/skills"]
  cc["Claude Code skill file"]
  ws["Workspace-scoped API skill"]
  exec["Needs code_execution_20250825"]
  file --> cc
  api --> ws
  api --> exec
Two install paths. Code execution is a requirement of the API path, not a third product.
flowchart LR
  kinds["shell HTTP prompt agent MCP-tool"]
  pre["PreToolUse"]
  post["PostToolUse"]
  stopEv["Stop"]
  denied["PermissionDenied"]
  loaded["InstructionsLoaded"]
  kinds --> pre
  kinds --> post
  kinds --> stopEv
  kinds --> denied
  kinds --> loaded
Hook kinds, plus only the events named in the survey. The full event list was not copied.
flowchart TB
  oldName["Old name Claude Code SDK"]
  agent["Claude Agent SDK"]
  tools["Custom tools doc"]
  plugs["Plugins doc"]
  removed["TS SDK V2 session API marked removed"]
  npm["npm names not confirmed"]
  oldName --> agent
  agent --> tools
  agent --> plugs
  agent --> removed
  agent --> npm
Name migration that the survey states. The npm node is a gap, not a package name.

User story

A Claude Code skill file loads from a folder. An API skill is posted, workspace-scoped, and needs code execution.

Baseline

CLAUDE.md and path-scoped rules are advisory. Output style Concise was called out week 34 (17–21 August 2026).

Useful

A hook or a mod is what enforces. Week 14 adds a PermissionDenied hook and a per-tool MCP result cap, ceiling 500000.

Fail

Do not treat the Skills API and a SKILL.md file as the same install. Do not invent npm names for the Agent SDK. computer_toolset_20260801 is unverified.

sequenceDiagram
  participant User
  participant Market as Marketplace
  participant Plugin
  participant Skill
  participant Hook
  participant Mod
  User->>Market: Install
  Market->>Plugin: Bundle
  Plugin->>Skill: /plugin:skill
  Plugin->>Hook: Settings hooks
  Plugin->>Mod: In-process handlers
Install sequence. MCP, LSP, monitors, bin/ on PATH, and settings are also in a plugin and are not drawn (six-participant cap).

Default subset

Seven categories on the Categories tab. The tables here are the full spec.

Repos with a survey star count (unaudited)
Repo Stars Note Badge Source
anthropics/claude-plugins-official37348Official marketplace. Auto-added. Manifest schema v0.4 appears in this repo.~SRC-003
anthropics/claude-code149161Official repo, not a community fork. Demo marketplace lives inside it. Star count is the repo, not a plugin census.~SRC-005
obra/superpowers294849Author repo named in the survey.~SRC-006
affaan-m/everything-claude-code272104Author repo named in the survey.~SRC-007
wshobson/agents40174Author repo named in the survey.~SRC-008
agentskills/agentskills25880Skills spec repo.~SRC-009
anthropics/skills179515Marketplace name anthropic-agent-skills. Also named as a topic marketplace.~SRC-010
modelcontextprotocol/servers90983MCP servers repo.~SRC-022
modelcontextprotocol/mcpb2129MCPB repo.~SRC-023
musistudio/claude-code-router37524Community router. Release v3.0.22 published 2026-08-24. npm @musistudio/claude-code-router. Gateway 127.0.0.1:3456. Described as now a multi-agent control plane.~SRC-031
thedotmack/claude-mem95479Persistent cross-session memory plugin.~SRC-033

Built-in mods plugins and samples

Name Note Badge
cc-plugin-diffBuilt-in✓
cc-plugin-agents-mdBuilt-in✓
cc-plugin-telemetryBuilt-in✓
cc-plugin-sec-defaultBuilt-in✓
cc-plugin-you-should-knowBuilt-in, off by default✓
Name Note Badge
token-weatherNamed sample. Repo URL not fetched.??
blast-radiusNamed sample. Repo URL not fetched.??
replay-theaterNamed sample. Repo URL not fetched.??

Hook facts that were actually written down

Item Badge
Kinds: shell, HTTP, prompt, agent, MCP-tool✓
Events named: PreToolUse, PostToolUse, Stop, PermissionDenied, InstructionsLoaded✓
Full hook event list was not copied from the page body (GAP-13)~
Week 14 (v2.1.86–v2.1.91, 30 March–3 April 2026): PermissionDenied hook, defer on permissionDecision, maxResultSizeChars ceiling 500000~
Changelog also mentions asyncRewake, InstructionsLoaded, monitors~
bin/ on PATH in v2.1.91, week of 30 March–3 April 2026✓

Same facts as the Markdown twin

These rows are the rest of the locked survey, so the HTML is not a thinner fact set.

Topic Fact Badge
Skills API examplesThe guide examples mention claude-opus-5-5. That is not a model review.✓
Safe-mode flag--safe-mode is a named org control. The survey does not say that skills and MCP stay loaded under it.~
Computer useCLI research preview on macOS Pro/Max, week 14.~
Router releasev3.0.22 published 2026-08-24 (24 August 2026). npm @musistudio/claude-code-router. Gateway 127.0.0.1:3456.✓
Plugin evalPlugin eval is week 37. The survey does not say what it measured.~
Indexed onlyAgent teams, dynamic workflows, and channels are indexed at the llms.txt URL. The channels page is indexed, not summarised.~
Community catalogThe survey's name is community catalog (that spelling): anthropics/claude-plugins-community. GitHub page not fetched. No URL here.??
Reserved namesReserved marketplace names are enforced. The names themselves were not listed.✓
flowchart TB
  survey["Survey 3 October 2026"]
  gh["GitHub API 403 no fork or pushed_at"]
  pages["Three GitHub pages not fetched"]
  modsWeek["Mods ship week not pinned"]
  toolset["computer_toolset_20260801 unverified"]
  proxies["Proxy repos search hits only"]
  survey --> gh
  survey --> pages
  survey --> modsWeek
  survey --> toolset
  survey --> proxies
Gaps called in the survey. A gap is unverified, not proof the thing is false.
ID Badge Gap
GAP-01??No pushed_at and no fork counts. GitHub API returned 403.
GAP-02??Official marketplace plugin list was not enumerated. This page is not a plugin catalogue.
GAP-03??anthropics/claude-plugins-community is named in the marketplaces doc. Its GitHub page was not fetched. No URL is given here.
GAP-04??anthropics/knowledge-work-plugins is named as a topic marketplace. The repo was not fetched. No URL is given here.
GAP-05??claude-code-playground is where samples token-weather, blast-radius, and replay-theater are named. The repo URL was not fetched.
GAP-06??1rgs/claude-code-proxy and fuergaosi233/claude-code-proxy were search hits only. Stars were not fetched. Not verified projects beyond that.
GAP-07??skills.sh leaderboard counts were not taken.
GAP-08??claude.ai Projects, custom instructions, and Cowork plugin pages were seen only via snippets.
GAP-09??Mods ship week is not pinned. The What's New index stops at week 37 (7–11 September 2026) without a mods entry. No week-37 URL was in the survey.
GAP-10??computer_toolset_20260801 was search synthesis and was not re-fetched. Unverified. Not treated as a real tool id.
GAP-11??Agent SDK npm package names were not confirmed. None are listed.
GAP-12~Star counts below are the survey figures and are unaudited.
GAP-13~The full hook event list was not copied from the hooks page body.
GAP-14??Agent SDK tool-use and computer-use pages were search hits and were not fully fetched. No URLs were recorded for them.
GAP-15~The mods admin doc was linked and not fully fetched.
GAP-16~The desktop-extensions page was not fully fetched. It is the source for the .dxt to .mcpb rename.
GAP-17~Cowork custom connectors must be publicly reachable. That is a help-centre snippet, not a fully fetched page, and no URL was recorded.
GAP-18~Handoff 5 says model routing is the largest community fork. Fork counts were not available (GAP-01). Other named repos have higher unaudited star counts. Stars are not forks. The handoff line is not a measured ranking.
flowchart LR
  fetched["Page cited and treated as fetched"]
  partial["Snippet, index, or not fully fetched"]
  missing["Named in search, page not fetched"]
  fetched --> partial
  partial --> missing
Reading order for badges: fetched, then partial, then not fetched.

This pass did not re-fetch pages. ✓ means the survey treats the URL as fetched. There is no ✓✓ or ✓✓✓.

ID Tier Status Name URL
SRC-001T1✓ FetchedMods overviewhttps://code.claude.com/docs/en/plugins/mods/overview.md
SRC-002T1~ Not fully fetchedMods adminhttps://code.claude.com/docs/en/plugins/mods/admin.md
SRC-003T2✓ Fetchedclaude-plugins-officialhttps://github.com/anthropics/claude-plugins-official
SRC-004T1✓ FetchedAnthropic marketplaceshttps://code.claude.com/docs/en/plugins/anthropic-marketplaces.md
SRC-005T2✓ Fetchedclaude-code repositoryhttps://github.com/anthropics/claude-code
SRC-006T3✓ Fetchedobra/superpowershttps://github.com/obra/superpowers
SRC-007T3✓ Fetchedeverything-claude-codehttps://github.com/affaan-m/everything-claude-code
SRC-008T3✓ Fetchedwshobson/agentshttps://github.com/wshobson/agents
SRC-009T2✓ FetchedAgent Skills spechttps://github.com/agentskills/agentskills
SRC-010T2✓ Fetchedanthropics/skillshttps://github.com/anthropics/skills
SRC-011T1✓ FetchedSkills API guidehttps://platform.claude.com/docs/en/build-with-claude/skills-guide
SRC-012T1✓ FetchedFeatures overviewhttps://code.claude.com/docs/en/features-overview.md
SRC-013T1~ Indexed onlymemory.md indexed beside the features overview. Full URL was not in the survey.(no URL in the survey)
SRC-014T1✓ FetchedOutput styleshttps://code.claude.com/docs/en/output-styles
SRC-015T3?? Counts not takenskills.shhttps://www.skills.sh/
SRC-016T1✓ FetchedEngineering post, 18 December 2025https://www.anthropic.com/engineering/equipping-agents-for-the-real-world-with-agent-skills
SRC-017T1✓ FetchedHookshttps://code.claude.com/docs/en/hooks
SRC-018T1~ Indexedllms.txt index, including agent teams, dynamic workflows, and channelshttps://code.claude.com/docs/llms.txt
SRC-019T1~ IndexedChannelshttps://code.claude.com/docs/en/channels.md
SRC-020T1✓ FetchedConnectors directoryhttps://claude.com/docs/connectors/directory
SRC-021T1✓ FetchedBuilding MCPBhttps://claude.com/docs/connectors/building/mcpb
SRC-022T2✓ FetchedMCP servers repohttps://github.com/modelcontextprotocol/servers
SRC-023T2✓ FetchedMCPB repohttps://github.com/modelcontextprotocol/mcpb
SRC-024T1~ Not fully fetchedDesktop extensions (.dxt renamed to .mcpb)https://www.anthropic.com/engineering/desktop-extensions
SRC-025T1✓ FetchedClaude Code MCPhttps://code.claude.com/docs/en/mcp
SRC-026T1✓ FetchedAgent SDK overviewhttps://code.claude.com/docs/en/agent-sdk/overview
SRC-027T1✓ FetchedAgent SDK custom toolshttps://code.claude.com/docs/en/agent-sdk/custom-tools
SRC-028T1✓ FetchedAgent SDK pluginshttps://code.claude.com/docs/en/agent-sdk/plugins
SRC-029T1✓ FetchedClaude apps gatewayhttps://code.claude.com/docs/en/claude-apps-gateway
SRC-030T1✓ FetchedLLM gatewayhttps://code.claude.com/docs/en/llm-gateway
SRC-031T3✓ Fetchedclaude-code-routerhttps://github.com/musistudio/claude-code-router
SRC-032T3✓ FetchedLiteLLM Claude Code autorouter tutorialhttps://docs.litellm.ai/docs/tutorials/claude_code_autorouter
SRC-033T3✓ Fetchedclaude-memhttps://github.com/thedotmack/claude-mem
SRC-034T1✓ FetchedChangelog (mentions Added Claude Mods and $.ui.selection())https://code.claude.com/docs/en/changelog
SRC-035T1~ ListedWhat's New, 2026 week 14https://code.claude.com/docs/en/whats-new/2026-w14
SRC-036T3✓ Fetchedclaude-code-router v3.0.22https://github.com/musistudio/claude-code-router/releases/tag/v3.0.22

Decisions

DEC-01 to DEC-05 are the five handoffs. Nothing else was decided in this edition.

Limitations

  • Formative landscape, 3 October 2026. Not a security sign-off.
  • Not a plugin catalogue (GAP-02).
  • Star counts unaudited (GAP-12). No fork counts (GAP-01).
  • Handoff 5 is quoted, not converted into a ranking (GAP-18).
  • No personal stack was in the survey.
  • Tab clicks were not exercised in a browser in this pass. Diagrams were render-checked with Mermaid CLI 11.4.2.