{
 "snapshot": "2026-11-06",
 "population": {
  "plugin_manifests_on_github": 34157,
  "sampled_unique_manifests": 17965,
  "sampled_share_pct": 52.6,
  "size_slices_total": 40,
  "size_slices_sampled": 23,
  "sampled_repos": 17928,
  "repos_passing_filter": 1964,
  "repos_read": 1961,
  "plugins_read": 2688
 },
 "method": "GitHub code search filename:plugin.json path:.claude-plugin, split into 40 file-size slices run in interleaved order under a 30-minute cap; up to 1,000 results per slice. Repos kept: >=5 stars, pushed since 2026-10-07, not fork, not archived. Every plugin in kept repos read from the repo tree: manifest, hooks/hooks.json, .mcp.json, .lsp.json, monitors/monitors.json, bin/, and scripts their commands name. Static reading only. Names left out.",
 "weighting": {
  "per_repo": "share of repos with at least one such plugin",
  "capped": "at most 10 plugins per repo (fixed random pick), 2343 plugins",
  "all": "all 2688 plugins"
 },
 "repos_with_at_least_one": {
  "any command hook": [
   436,
   22.2
  ],
  "SessionStart or Setup command hook (runs at session start)": [
   313,
   16.0
  ],
  "UserPromptSubmit command hook (sees each prompt)": [
   159,
   8.1
  ],
  "PreToolUse command hook": [
   232,
   11.8
  ],
  "PostToolUse command hook": [
   193,
   9.8
  ],
  "Stop command hook": [
   177,
   9.0
  ],
  "session-start command goes online (curl/wget inline)": [
   2,
   0.1
  ],
  "session-start command runs npx/uvx/bunx": [
   4,
   0.2
  ],
  "session-start script goes online": [
   29,
   1.5
  ],
  "session-start script writes files": [
   118,
   6.0
  ],
  "session-start script reads secret-named env var": [
   5,
   0.3
  ],
  "hook or monitor command installs packages inline": [
   1,
   0.1
  ],
  "hook/monitor script goes online": [
   43,
   2.2
  ],
  "hook/monitor script writes files": [
   197,
   10.0
  ],
  "hook/monitor script reads secret-named env var": [
   18,
   0.9
  ],
  "ships a mod (see mods review)": [
   104,
   5.3
  ],
  "declares MCP servers": [
   516,
   26.3
  ],
  "MCP: stdio server (a process on your machine)": [
   361,
   18.4
  ],
  "MCP: remote server (URL)": [
   169,
   8.6
  ],
  "MCP: started by npx/bunx": [
   115,
   5.9
  ],
  "MCP: npx/bunx with no pinned version": [
   76,
   3.9
  ],
  "MCP: npx/bunx with -y (no install prompt)": [
   99,
   5.0
  ],
  "MCP: started by uvx": [
   36,
   1.8
  ],
  "MCP: uvx with no pinned version": [
   27,
   1.4
  ],
  "MCP: docker image not pinned (no tag, :latest)": [
   4,
   0.2
  ],
  "MCP: any package-runner server not pinned": [
   103,
   5.3
  ],
  "MCP: passes a secret-named env var to the server": [
   48,
   2.4
  ],
  "monitors (background commands all session)": [
   8,
   0.4
  ],
  "LSP servers": [
   10,
   0.5
  ],
  "bin/ folder (added to Bash PATH)": [
   186,
   9.5
  ],
  "runs something at session start (SessionStart/Setup hook, stdio MCP, or monitor)": [
   597,
   30.4
  ],
  "defaultEnabled false": [
   1,
   0.1
  ]
 },
 "plugins_capped": {
  "any command hook": [
   470,
   20.1
  ],
  "SessionStart or Setup command hook (runs at session start)": [
   334,
   14.3
  ],
  "UserPromptSubmit command hook (sees each prompt)": [
   164,
   7.0
  ],
  "PreToolUse command hook": [
   245,
   10.5
  ],
  "PostToolUse command hook": [
   215,
   9.2
  ],
  "Stop command hook": [
   185,
   7.9
  ],
  "session-start command goes online (curl/wget inline)": [
   2,
   0.1
  ],
  "session-start command runs npx/uvx/bunx": [
   4,
   0.2
  ],
  "session-start script goes online": [
   28,
   1.2
  ],
  "session-start script writes files": [
   120,
   5.1
  ],
  "session-start script reads secret-named env var": [
   5,
   0.2
  ],
  "hook or monitor command installs packages inline": [
   1,
   0.0
  ],
  "hook/monitor script goes online": [
   41,
   1.7
  ],
  "hook/monitor script writes files": [
   204,
   8.7
  ],
  "hook/monitor script reads secret-named env var": [
   17,
   0.7
  ],
  "ships a mod (see mods review)": [
   115,
   4.9
  ],
  "declares MCP servers": [
   564,
   24.1
  ],
  "MCP: stdio server (a process on your machine)": [
   384,
   16.4
  ],
  "MCP: remote server (URL)": [
   191,
   8.2
  ],
  "MCP: started by npx/bunx": [
   128,
   5.5
  ],
  "MCP: npx/bunx with no pinned version": [
   83,
   3.5
  ],
  "MCP: npx/bunx with -y (no install prompt)": [
   112,
   4.8
  ],
  "MCP: started by uvx": [
   40,
   1.7
  ],
  "MCP: uvx with no pinned version": [
   28,
   1.2
  ],
  "MCP: docker image not pinned (no tag, :latest)": [
   3,
   0.1
  ],
  "MCP: any package-runner server not pinned": [
   111,
   4.7
  ],
  "MCP: passes a secret-named env var to the server": [
   49,
   2.1
  ],
  "monitors (background commands all session)": [
   8,
   0.3
  ],
  "LSP servers": [
   11,
   0.5
  ],
  "bin/ folder (added to Bash PATH)": [
   188,
   8.0
  ],
  "runs something at session start (SessionStart/Setup hook, stdio MCP, or monitor)": [
   641,
   27.4
  ],
  "defaultEnabled false": [
   1,
   0.0
  ]
 },
 "plugins_all": {
  "any command hook": [
   497,
   18.5
  ],
  "SessionStart or Setup command hook (runs at session start)": [
   344,
   12.8
  ],
  "UserPromptSubmit command hook (sees each prompt)": [
   170,
   6.3
  ],
  "PreToolUse command hook": [
   255,
   9.5
  ],
  "PostToolUse command hook": [
   229,
   8.5
  ],
  "Stop command hook": [
   192,
   7.1
  ],
  "session-start command goes online (curl/wget inline)": [
   3,
   0.1
  ],
  "session-start command runs npx/uvx/bunx": [
   4,
   0.1
  ],
  "session-start script goes online": [
   29,
   1.1
  ],
  "session-start script writes files": [
   123,
   4.6
  ],
  "session-start script reads secret-named env var": [
   5,
   0.2
  ],
  "hook or monitor command installs packages inline": [
   1,
   0.0
  ],
  "hook/monitor script goes online": [
   47,
   1.7
  ],
  "hook/monitor script writes files": [
   212,
   7.9
  ],
  "hook/monitor script reads secret-named env var": [
   22,
   0.8
  ],
  "ships a mod (see mods review)": [
   116,
   4.3
  ],
  "declares MCP servers": [
   573,
   21.3
  ],
  "MCP: stdio server (a process on your machine)": [
   392,
   14.6
  ],
  "MCP: remote server (URL)": [
   193,
   7.2
  ],
  "MCP: started by npx/bunx": [
   132,
   4.9
  ],
  "MCP: npx/bunx with no pinned version": [
   86,
   3.2
  ],
  "MCP: npx/bunx with -y (no install prompt)": [
   115,
   4.3
  ],
  "MCP: started by uvx": [
   40,
   1.5
  ],
  "MCP: uvx with no pinned version": [
   28,
   1.0
  ],
  "MCP: docker image not pinned (no tag, :latest)": [
   4,
   0.1
  ],
  "MCP: any package-runner server not pinned": [
   114,
   4.2
  ],
  "MCP: passes a secret-named env var to the server": [
   52,
   1.9
  ],
  "monitors (background commands all session)": [
   8,
   0.3
  ],
  "LSP servers": [
   11,
   0.4
  ],
  "bin/ folder (added to Bash PATH)": [
   192,
   7.1
  ],
  "runs something at session start (SessionStart/Setup hook, stdio MCP, or monitor)": [
   658,
   24.5
  ],
  "defaultEnabled false": [
   1,
   0.0
  ]
 },
 "command_hook_plugins_by_event": {
  "UserPromptSubmit": 170,
  "PreToolUse": 255,
  "PostToolUse": 229,
  "Stop": 192,
  "PostToolUseFailure": 40,
  "SessionStart": 343,
  "ConfigChange": 4,
  "PermissionRequest": 19,
  "Notification": 23,
  "StopFailure": 17,
  "SessionEnd": 69,
  "SubagentStop": 58,
  "PreCompact": 57,
  "SubagentStart": 45,
  "TaskCompleted": 14,
  "FileChanged": 4,
  "PostCompact": 22,
  "WorktreeCreate": 3,
  "WorktreeRemove": 3,
  "Elicitation": 3,
  "PermissionDenied": 11,
  "PostModelSwitch": 8,
  "UserPromptExpansion": 11,
  "PostToolBatch": 5,
  "CwdChanged": 7,
  "TaskCreated": 8,
  "Setup": 3,
  "TeammateIdle": 4,
  "InstructionsLoaded": 5,
  "ElicitationResult": 2,
  "MessageDisplay": 3,
  "DirectoryAdded": 2,
  "PreModelSwitch": 2
 },
 "mcp_servers_by_start": {
  "other binary": 106,
  "local script": 176,
  "npx": 164,
  "remote": 445,
  "uvx": 42,
  "docker": 4,
  "bunx": 7,
  "none": 1
 },
 "npx_bunx_servers": {
  "n": 171,
  "unpinned": 112,
  "with_y": 149
 }
}