claudemods

Make Claude Code
your own.

Little additions to the way you code.
Discover community-built mods for your terminal, your workflow, and everything in between.

The collection359

Find something useful. See what it can access.

Submit a mod
Filter by accessHow we check
Claude Code community mods. Sort by mod name, access level or hosting repository stars.
What it does
ruview-liveruvnet/RuView

RuView live sensing in Claude Code: /ruview opens a pane beside the transcript with three views: an overview of your CSI nodes (ESP32, Realtek) and 60 GHz radar (rates, loss, RSSI, presence, device-reported vitals, alerts), a live CSI amplitude waterfall, and a radar range fan with vitals charts, all drawn in terminal cells. Reads only; runs the @ruvnet/ruview CLI it ships beside.

Access & validation details
Observed events
Only what it hooks
Hooks
session.start, command.run {command=ruview}, ui.render {component=Pane}, ui.close {id=ruview-live}, session.end
API calls
$.clock.every, $.clock.now, $.command.register, $.process.run, $.ui.blit, $.ui.close, $.ui.invalidate, $.ui.open, $.ui.resolve, $.ui.status
Validation on 2.1.287
Passed
runs processes, draws Repository stars 95,885
ruflo-modsruvnet/ruflo

ruflo as a Claude Code mod (function hooks, ADR-404): in-process prompt routing, edit learning signals, tighten-only tool checks from ruflo policy, the cost-tracker budget ladder, a mod trust gate for newly installed mods, and the $.ruflo noun other mods compose their status with. Opt-in and removable: the classic hook-handler hooks stay the default and take every event back whenever the mod is not loaded.

Access & validation details
Observed events
every prompt, every tool call, subagent spawns
Hooks
plugin.register, engine.create, session.start, command.run {command=ruflo-mods}, prompt.submit, tool.check, tool.call, turn.complete, session.end, session.measure, agent.spawn
API calls
$.command.register, $.env.get, $.env.set, $.fs.exists, $.fs.read, $.fs.stat, $.fs.write, $.session.root, $.settings.read, $.ui.log, $.ui.status, $.ui.toast
Validation on 2.1.287
Passed
Validator output
types ./types/index.d.ts declares on $: $.ruflo; ./register.ts env writes: RUFLO_MODS_OWNS; ./register.ts env reads: HOME
writes files, sets env vars, reads files, reads env vars, reads settings, draws Repository stars 73,669
ruflo-ruosruvnet/ruflo

Run ruflo swarm agents on your own ruOS cloud desktops via the tenant-authenticated fleet MCP or per-tenant SSH; optional and removable (ADR-405)

Access & validation details
Observed events
every prompt
Hooks
session.start, prompt.submit
API calls
$.clock.every, $.fs.read, $.ruflo.segment, $.session.root
Validation on 2.1.287
Passed
other: $.ruflo.segment, reads files Repository stars 73,669
ruflo-swarmruvnet/ruflo

Agent teams, swarm coordination, Monitor streams, and worktree isolation: wraps 4 swarm_* + 8 agent_* MCP tools (12 total) plus 6 topologies (hierarchical / mesh / hierarchical-mesh / ring / star / adaptive). With Claude Code function hooks on (early access), a live swarm pane: agent tiles lit by reads and writes, topology, task and claims board, cost, router pick and hive-mind votes, with buttons that act through the ruflo CLI

Access & validation details
Observed events
subagent spawns, every tool call, everything
Hooks
session.start, ui.render {component=PromptHint}, ui.render {component=Pane}, ui.close, command.run {command=ruflo-swarm-pane}, command.run {command=ruflo-swarm:watch}, command.run {command=ruflo-swarm-status}, command.run {command=ruflo-swarm-topology}, command.run {command=ruflo-swarm-claims}, command.run {command=ruflo-swarm-consensus}, turn.start, turn.complete, agent.spawn, tool.call, *
API calls
$.agent.list, $.clock.after, $.clock.every, $.clock.now, $.command.register, $.fs.read, $.fs.stat, $.process.run, $.prompt.fill, $.session.usage, $.store.get, $.store.set, $.ui.close, $.ui.invalidate, $.ui.log, $.ui.open, $.ui.resolve, $.ui.toast
Validation on 2.1.287
Passed
runs processes, writes the prompt box, reads files, persists state, draws Repository stars 73,669
code-modernizationanthropics/claude-plugins-official

Guided modernization for any legacy codebase: start with /modernize, get an assessment, an interactive map, the business rules mined from the code, and a plan you approve, then an upgrade, a rewrite or a rebuild with independent proof that the new code behaves like the old. Includes security hardening, a one-page report, specialist agents, and an optional live progress pane (early access).

Access & validation details
Observed events
every prompt, every tool call
Hooks
session.start, ui.render {component=PromptHint}, ui.render {component=AbovePrompt}, ui.render {component=Pane}, ui.close, command.run {command=modernize-panel}, command.run {command=modernize-review-pane}, command.run {command=modernize-sign}, command.run {command=clear|resume}, prompt.submit, turn.start, turn.complete, tool.call
API calls
$.clock.after, $.clock.every, $.clock.now, $.command.register, $.fs.exists, $.fs.list, $.fs.read, $.fs.stat, $.fs.write, $.prompt.fill, $.prompt.submit, $.store.get, $.store.set, $.turn.abort, $.ui.blit, $.ui.close, $.ui.invalidate, $.ui.log, $.ui.open, $.ui.resolve, $.ui.status, $.ui.toast
Validation on 2.1.287
Passed
writes files, drives Claude, writes the prompt box, reads files, persists state, draws Repository stars 37,297
fmkunchenguid/firstmate

Firstmate Calm for Claude Code: the sailboat working animation and conversation-only transcript presentation, sharing the per-home config/calm preference with the Pi Calm extension. Its hooks module may load through CLAUDE_CODE_ENABLE_FUNCTION_HOOKS or Claude Code's tengu_plugin_hooks_modules rollout flag, but the mod activates only when CLAUDE_CODE_ENABLE_FUNCTION_HOOKS is exactly 1 and is otherwise a complete no-op.

Access & validation details
Observed events
Only what it hooks
Hooks
session.start, command.run {command=calm}, config.set {key=theme}, turn.step, ui.render {component=Spinner}, ui.render {component=ToolUse}, ui.render {component=ToolResult}, ui.render {component=ToolGroup}, ui.render {component=UserMessage}, ui.render {component=AssistantMessage}
API calls
$.clock.every, $.clock.now, $.command.register, $.config.list, $.env.get, $.fs.exists, $.fs.read, $.fs.stat, $.fs.write, $.session.id, $.session.messages, $.store.get, $.store.set, $.ui.blit, $.ui.invalidate, $.ui.log, $.ui.resolve, $.ui.toast
Validation on 2.1.287
Passed
Validator output
./register.ts env writes: nothing; ./register.ts env reads: CLAUDE_CODE_ENABLE_FUNCTION_HOOKS, FM_CONFIG_OVERRIDE, FM_HOME, FM_ROOT_OVERRIDE, FM_STATE_OVERRIDE
writes files, reads files, reads env vars, reads the transcript, persists state, draws Repository stars 7,424
fast-jev-compactiontamaratran/fast-jev-compaction

Verbatim Jev-guided compaction for Claude Code sessions.

Access & validation details
Observed events
compaction
Hooks
session.compact, turn.complete
API calls
$.env.get, $.http.fetch, $.session.compact, $.session.usage, $.settings.read, $.ui.log, $.ui.toast
Validation on 2.1.287
Passed with warnings
Validator output
./fast-jev.ts env writes: nothing; ./fast-jev.ts env reads: TYPESAFE_API_KEY
network, drives Claude, reads env vars, reads settings, drawsValidator warnings Repository stars 7,308
terminal-browserzenbu-labs/terminal-browser

A browser running directly inside claude code. Preview websites, view HTML documents, and let your agent control the built in browser.

Access & validation details
Observed events
? calls
Hooks
engine.create, browser.open, browser.close, session.start, command.run {command=browser}, tool.call {tool=?}, tool.call {tool=?}, ui.render {component=Pane, requestId=browser}, ui.message, ui.scroll {requestId=browser}, ui.close {id=browser}
API calls
$.clock.sleep, $.command.register, $.fs.exists, $.http.fetch, $.process.run, $.prompt.fill, $.session.surfaces, $.tool.register, $.ui.blit, $.ui.close, $.ui.invalidate, $.ui.log, $.ui.open, $.ui.resolve
Surface modules
hooks/surface.tsx
Validation on 2.1.287
Passed
Validator output
types ./hooks/browser.d.ts declares on $: $.browser
network, runs processes, drives Claude, writes the prompt box, reads files, draws Repository stars 3,583
caliber-jev-compactioncaliber-ai-org/ai-setup

Verbatim Jev-guided compaction for Claude Code sessions.

Access & validation details
Observed events
compaction
Hooks
session.compact, turn.complete
API calls
$.env.get, $.http.fetch, $.session.compact, $.session.usage, $.settings.read, $.ui.log, $.ui.toast
Validation on 2.1.287
Passed with warnings
Validator output
./compaction.ts env writes: nothing; ./compaction.ts env reads: AI_GATEWAY_API_KEY, TYPESAFE_API_KEY
network, drives Claude, reads env vars, reads settings, drawsValidator warnings Repository stars 1,293
claude-councilhex/claude-council

Consult multiple AI coding agents (Gemini, OpenAI, Grok, Perplexity, Kimi, any model OpenRouter routes to, plus codex, antigravity, grok, kimi and cursor CLIs when installed, and a local ollama model) to get diverse perspectives on coding problems, with a streaming pane in tmux or inside Claude Code. It can also hand a coding task to a Codex specialist that works on its own git branch and follows skills you pick (experimental).

Access & validation details
Observed events
Bash calls, /"^mcp__claude-council__ask$"/ calls, /"^mcp__claude-council__specialist$"/ calls
Hooks
session.start, turn.complete, tool.call {tool=Bash}, config.describe, tool.call {tool=/"^mcp__claude-council__ask$"/}, tool.call {tool=/"^mcp__claude-council__specialist$"/}, command.run {command=council-pane}, ui.render {component=AbovePrompt}, config.set {key=?}, command.run {command=specialists}, session.end, ui.close {id=specialist-setup}, ui.render {component=Pane}, ui.scroll {requestId=specialist}, ui.render {component=Pane}, ui.render {component=Pane}
API calls
$.clock.every, $.clock.now, $.command.register, $.config.set, $.env.get, $.env.set, $.fs.exists, $.fs.list, $.fs.read, $.fs.write, $.process.run, $.prompt.submit, $.session.cwd, $.session.id, $.store.delete, $.store.get, $.store.set, $.tool.register, $.ui.ask, $.ui.focus, $.ui.invalidate, $.ui.log, $.ui.open, $.ui.resolve, $.ui.scroll
Validation on 2.1.287
fails on 2.1.287
Validator output
name: Plugin name "claude-council" is reserved: it passes as one of Anthropic's own. A third party's plugin name cannot start with "claude-", "anthropic-", "anthropics-", or "cc-plugin-", be "claude", "anthropic", "anthropics", "claude-code", or "claude-mods", or put "official" beside "claude" or "anthropic". Name it for what it does. If this is one of Anthropic's own plugins, validate the marketplace that lists it.; ../mods/council-pane/hooks/pane.tsx env writes: COUNCIL_MOD_PANE_DIR; ../mods/council-pane/hooks/pane.tsx env reads: HOME, TMPDIR, TMUX
runs processes, writes files, sets env vars, changes config, drives Claude, reads files, reads env vars, persists state, drawsfails on 2.1.287 Repository stars 815
storybloqStorybloq/storybloq

Project memory for Claude Code and Codex. Storybloq stores tickets, issues, handovers, and lessons in a .story/ folder inside your repo.

Access & validation details
Observed events
every tool call, compaction, every prompt
Hooks
ui.render, session.start, turn.start, turn.complete, tool.call, session.compact, ui.close, config.set, prompt.submit
API calls
$.clock.every, $.config.list, $.fs.exists, $.fs.list, $.fs.read, $.fs.stat, $.session.usage, $.store.get, $.store.set, $.ui.invalidate, $.ui.log, $.ui.open, $.ui.resolve
Validation on 2.1.287
Passed
reads files, persists state, draws Repository stars 762
jev-auto-compactnotque/vexjoy-agent

Jev-powered verbatim compaction: once context reaches 60%, prunes stale tool calls with zero generation. Skips (never falls back to the LLM summarizer) when nothing is prunable; records evidence for learning.db.

Access & validation details
Observed events
compaction
Hooks
session.compact, turn.complete
API calls
$.env.get, $.http.fetch, $.session.compact, $.session.id, $.session.messages, $.session.usage, $.settings.read, $.store.get, $.store.set, $.ui.log
Validation on 2.1.287
Passed
Validator output
./jev-auto-compact.mjs env writes: nothing; ./jev-auto-compact.mjs env reads: TYPESAFE_API_KEY
network, drives Claude, reads env vars, reads settings, reads the transcript, persists state, draws Repository stars 424
lesson-cardsyonatangross/orchestkit

Displays lesson hint cards when tool calls match known patterns. Additive surface during pilot; the classic --strict guard keeps its 12 block-severity denies.

Access & validation details
Observed events
every tool call
Hooks
session.start, tool.call, ui.render {component=ToolUse}, command.run {command=lessons}
API calls
$.command.register, $.env.get, $.fs.list, $.fs.read, $.fs.stat, $.ui.ask, $.ui.invalidate, $.ui.notice, $.ui.resolve
Validation on 2.1.287
Passed
Validator output
./register.ts env writes: nothing; ./register.ts env reads: HOME
reads files, reads env vars, draws Repository stars 286
memory-lensyonatangross/orchestkit

Recalls the few memories related to each prompt: one line for the human, one context entry for the model. Local files only, no network on the hot path.

Access & validation details
Observed events
every prompt, every tool call
Hooks
session.start, prompt.submit, tool.call, command.run {command=memory-lens}
API calls
$.clock.after, $.command.register, $.env.get, $.fs.list, $.fs.read, $.ui.log
Validation on 2.1.287
Passed
Validator output
./register.ts env writes: nothing; ./register.ts env reads: HOME
reads files, reads env vars, draws Repository stars 286
promote-lightsyonatangross/orchestkit

Shows CI status lights above the prompt while a promote PR (base main) is open. One REST page per minute, PR-open only. Cancelled is not-pass.

Access & validation details
Observed events
Only what it hooks
Hooks
session.start, turn.complete, ui.render {component=AbovePrompt}, command.run {command=lights}
API calls
$.clock.every, $.command.register, $.env.get, $.process.run, $.session.repo, $.store.delete, $.store.get, $.store.set, $.ui.invalidate, $.ui.resolve, $.ui.status
Validation on 2.1.287
Passed
Validator output
./register.ts env writes: nothing; ./register.ts env reads: PROMOTE_HEAD, PROMOTE_LIGHTS_WATCH
runs processes, reads env vars, persists state, draws Repository stars 286
secrets-veilyonatangross/orchestkit

Masks secret values in tool results before the model reads them: named vendor variables, value-shape patterns, and high-entropy tokens. No reveal path.

Access & validation details
Observed events
every tool call
Hooks
session.start, tool.call
API calls
$.clock.after, $.env.get, $.ui.ask, $.ui.copy, $.ui.log, $.ui.notice, $.ui.status, $.ui.toast
Validation on 2.1.287
Passed
Validator output
./register.ts env writes: nothing; ./register.ts env reads: ANTHROPIC_API_KEY, AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_SESSION_TOKEN, AZURE_OPENAI_API_KEY, CLOUDFLARE_API_TOKEN, GEMINI_API_KEY, GH_TOKEN, GITHUB_TOKEN, GITLAB_TOKEN, GOOGLE_API_KEY, GROQ_API_KEY, HF_TOKEN, MISTRAL_API_KEY, NPM_TOKEN, OPENAI_API_KEY, OPENROUTER_API_KEY, OP_SERVICE_ACCOUNT_TOKEN, SECRETS_VEIL_OFFER_COPY, SLACK_BOT_TOKEN, STRIPE_SECRET_KEY, VERCEL_TOKEN
reads env vars, draws Repository stars 286
compact-adviserkunchenguid/compact-adviser

Suggests (or, opt-in, runs) /compact at a completed checkpoint, judged by TypeSafe Jev. Its hooks module activates only when CLAUDE_CODE_ENABLE_FUNCTION_HOOKS is exactly 1 and is otherwise a complete no-op.

Access & validation details
Observed events
compaction
Hooks
session.start, turn.start, turn.complete, session.compact, command.run {command=compact-adviser}, config.describe {key="compact-adviser.typesafeApiKey"}, ui.close {id=compact-adviser}, ui.render {component=Pane}
API calls
$.clock.after, $.clock.now, $.clock.sleep, $.command.register, $.config.list, $.config.set, $.env.get, $.fs.read, $.fs.write, $.http.fetch, $.session.compact, $.session.cwd, $.session.id, $.session.messages, $.session.usage, $.store.delete, $.store.get, $.store.keys, $.store.set, $.ui.ask, $.ui.close, $.ui.focus, $.ui.invalidate, $.ui.log, $.ui.open, $.ui.panes, $.ui.resolve, $.ui.status, $.ui.toast
Validation on 2.1.287
Passed
Validator output
./register.ts env writes: nothing; ./register.ts env reads: CLAUDE_CODE_ENABLE_FUNCTION_HOOKS, COMPACT_ADVISER_DISABLE, COMPACT_ADVISER_TEST_ENDPOINT, HOME, TYPESAFE_API_KEY, TYPESAFE_BASE
network, writes files, changes config, drives Claude, reads files, reads env vars, reads the transcript, persists state, draws Repository stars 192
multi-coregreenpolo/cc-multi-cli-plugin

Claude Code plugin: use ChatGPT (Codex), Cursor, OpenCode Zen, and Antigravity models inside one Claude Code session. Switch with /model, delegate to named native workers, keep each provider's own login and permissions.

Access & validation details
Observed events
Only what it hooks
Hooks
none
API calls
none recorded
Validation on 2.1.287
Passed
draws only Repository stars 184
shuntpleaseai/shunt

A Claude Mod for the shunt gateway: /shunt:usage reads the shared account pool's remaining headroom and reset times from shunt's GET /usage, so you can see how close the pool is to throttling without the admin dashboard.

Access & validation details
Observed events
Only what it hooks
Hooks
none
API calls
none recorded
Validation on 2.1.287
fails on 2.1.287
Validator output
modules../register.ts: shunt: /tmp/acm-clones/pleaseai__shunt/plugins/shunt/hooks/register.ts, compiled line 18 `const registration = on("command.run", { command: COMMAND_NAME }, async ($, e, n...`: the value of on("command.run") is kept (assigned, passed, read, or returned from a nested function); it takes .catch(handler) where it is called and nothing else; $ is always spelled $.noun.event(...) at the call site, on is… [+68 chars]
draws onlyfails on 2.1.287 Repository stars 165
fast-jev-outputtamaratran/jev-pruner

Trim long Bash output with Jev before the model sees it (Claude Code plugin)

Access & validation details
Observed events
Bash calls
Hooks
tool.call {tool=Bash}
API calls
$.env.get, $.fs.exists, $.fs.read, $.fs.write, $.http.fetch, $.session.messages, $.settings.read, $.ui.log, $.ui.toast
Validation on 2.1.287
Passed with warnings
Validator output
./fast-jev-output.ts env writes: nothing; ./fast-jev-output.ts env reads: EVAL_TYPESAFE_API_KEY, TYPESAFE_API_KEY
network, writes files, reads files, reads env vars, reads settings, reads the transcript, drawsValidator warnings Repository stars 156
jev-eval-observertamaratran/jev-pruner

Pass-through evaluation instrumentation; never changes tool results.

Access & validation details
Observed events
Bash calls
Hooks
session.start, http.fetch, ui.log, fs.write, tool.call {tool=Bash}
API calls
$.fs.write
Validation on 2.1.287
Passed with warnings
writes filesValidator warnings Repository stars 156
lane-stackVKirill/claude-lane-stack

Solo PM conveyor for Claude Code: orchestrator agents, lane playbooks, onboard and resume commands.

Access & validation details
Observed events
compaction, ? calls, every prompt, subagent spawns
Hooks
session.compact, turn.complete, tool.call {tool=?}, prompt.submit, agent.spawn, turn.step
API calls
$.env.get, $.http.fetch, $.session.compact, $.session.cwd, $.session.id, $.session.messages, $.session.usage, $.settings.read, $.ui.log, $.ui.toast
Validation on 2.1.287
Passed
Validator output
./lane-mods.ts env writes: nothing; ./lane-mods.ts env reads: LANE_JEV_EFFORT, TYPESAFE_API_KEY
network, drives Claude, reads env vars, reads settings, reads the transcript, draws Repository stars 120
winnowGhalebDweikat/winnow

A calibrated context sieve for Claude Code. Every large tool result is judged by a System One model before it enters context; irrelevant blocks are replaced with a summary and a recall key.

Access & validation details
Observed events
? calls, every prompt
Hooks
tool.call {tool=?}, prompt.submit
API calls
$.http.fetch, $.session.cwd, $.session.id, $.session.messages, $.ui.log, $.ui.toast
Validation on 2.1.287
Passed
network, reads the transcript, draws Repository stars 100
genesis-web-overrideWingedGuardian/GENesis-AGI

Answers Claude Code's built-in WebSearch with Genesis's web_search chain, falling back to the built-in on any failure. Needs CLAUDE_CODE_ENABLE_FUNCTION_HOOKS=1.

Access & validation details
Observed events
WebSearch calls
Hooks
tool.call {tool=WebSearch}
API calls
$.mcp.call, $.ui.log
Validation on 2.1.287
Passed with warnings
MCP servers, drawsValidator warnings Repository stars 95
mindful-claudehalluton/Mindful-Claude

Guided breathing exercises above the prompt while Claude works: coherent, box, 4-7-8 and the physiological sigh, four animation styles, and the spinner reads the breath. Appears when Claude starts, disappears when Claude answers. Needs function hooks (early access) and an interactive terminal.

Access & validation details
Observed events
Only what it hooks
Hooks
session.start, command.run {command=breathe}, turn.start, turn.complete, ui.message, ui.render {component=AbovePrompt}, ui.render {component=Spinner}
API calls
$.clock.after, $.clock.now, $.command.register, $.store.get, $.store.set, $.ui.invalidate, $.ui.log, $.ui.resolve
Surface modules
hooks/breathe.tsx
Validation on 2.1.287
Passed with warnings
Validator output
name: Plugin name "mindful-claude" reads as one of Anthropic's own. Name it for what it does. If this is one of Anthropic's own plugins, validate the marketplace that lists it.
persists state, drawsValidator warnings Repository stars 82
save-token-jevIAmUnbounded/save-token-jev-clean

Jev-guided, verbatim context compaction for Claude Code.

Access & validation details
Observed events
Only what it hooks
Hooks
none
API calls
none recorded
Validation on 2.1.287
fails on 2.1.287
Validator output
userConfig.keepThreshold.description: Invalid input: expected string, received undefined; userConfig.preserveRecentMessages.description: Invalid input: expected string, received undefined; userConfig.minReductionRatio.description: Invalid input: expected string, received undefined; userConfig.maxStateTokens.description: Invalid input: expected string, received undefined; userConfig.maxRequestTokens.description: Invalid input: expected string, received undefined; userConfig.truncateHeadChars.description: Invalid input: expected string, received undefined; userConfig.model.description: Invalid input: expected string, received undefined; modules.../../../dist/integrations/claude.js: The module path leaves the plugin directory
draws onlyfails on 2.1.287 Repository stars 79
jev-rulesEliaAlberti/jev-rules

Jev picks which of your rules apply to each prompt, so Claude only sees the ones that matter.

Access & validation details
Observed events
Only what it hooks
Hooks
session.start, command.run {command=rules}, ui.close, ui.render {component=AbovePrompt}, ui.render {component=Pane}
API calls
$.clock.every, $.clock.now, $.command.register, $.env.get, $.fs.exists, $.fs.list, $.fs.read, $.session.id, $.ui.close, $.ui.invalidate, $.ui.log, $.ui.open, $.ui.panes, $.ui.resolve
Validation on 2.1.287
Passed
Validator output
./pane.tsx env writes: nothing; ./pane.tsx env reads: TEMP, TMP, TMPDIR
reads files, reads env vars, draws Repository stars 62
tw-stock-moddarrell-tw/darrelltw-mods

Watchlist band above the Claude Code prompt: Taiwan hours show the Taiwan list (紅漲綠跌), US hours show the US list (綠漲紅跌), in a broker-style table with a Solari split-flap footer, plus a 損益 mode (P&L view) for your holdings. 20 symbols a market, 10 on screen at a time. Live prices from Yahoo by default, no key and no account; 永豐 Shioaji (macOS/Linux) and 群益 Capital (Windows) are opt-in real-time routes the band runs itself, tried in your own preference order (twSources) - keep that order and any broker paths in a user-level ~/.claude/stock-band.json so a shared project config stays neutral. Needs function hooks (early access) and an interactive terminal. Zero model tokens.

Access & validation details
Observed events
Only what it hooks
Hooks
session.start, ui.render {component=AbovePrompt}, ui.message
API calls
$.clock.every, $.clock.now, $.env.get, $.fs.read, $.fs.write, $.http.fetch, $.process.run, $.session.cwd, $.ui.invalidate, $.ui.log, $.ui.resolve
Surface modules
hooks/board.tsx
Validation on 2.1.287
Passed
Validator output
./register.tsx env writes: nothing; ./register.tsx env reads: HOME, USERPROFILE
network, runs processes, writes files, reads files, reads env vars, draws Repository stars 57
compaction-triggerdarkroomengineering/cc-settings

Requests a session compaction when the live context passes a token threshold, so verbatim compaction plugins run near the working ceiling instead of at the model window.

Access & validation details
Observed events
Only what it hooks
Hooks
ui.log, turn.complete
API calls
$.env.get, $.env.set, $.session.compact, $.session.usage, $.settings.read, $.ui.log
Validation on 2.1.287
Passed
Validator output
./trigger.ts env writes: TYPESAFE_API_KEY; ./trigger.ts env reads: TYPESAFE_API_KEY
sets env vars, drives Claude, reads env vars, reads settings, draws Repository stars 47
context-reportdarkroomengineering/cc-settings

Prints which instruction files the engine loaded (tier, path, @ imports, size) once per context load, and hints when a project CLAUDE.md keeps its AGENTS.md from being read.

Access & validation details
Observed events
the system prompt
Hooks
session.start, prompt.context
API calls
$.env.get, $.fs.stat, $.session.cwd, $.ui.log
Validation on 2.1.287
Passed
Validator output
./register.ts env writes: nothing; ./register.ts env reads: HOME
reads files, reads env vars, draws Repository stars 47
drift-fusedarkroomengineering/cc-settings

Scores each unattended turn against the task the person asked for with TypeSafe's Jev model, and after consecutive off-task turns redirects or pauses the next machine-submitted prompt.

Access & validation details
Observed events
every prompt, every tool call
Hooks
prompt.submit, turn.start, tool.call, turn.complete
API calls
$.clock.sleep, $.env.get, $.http.fetch, $.settings.read, $.ui.log
Validation on 2.1.287
Passed
Validator output
./fuse.ts env writes: nothing; ./fuse.ts env reads: TYPESAFE_API_KEY
network, reads env vars, reads settings, draws Repository stars 47
cshex/claude-sessions

cs's in-session mod: the rotate band above the prompt, forced rotation past CS_ROTATE_FORCE_CTX, and the wrap key

Access & validation details
Observed events
every prompt
Hooks
session.start, command.run {command=queue}, turn.complete, prompt.submit, command.run {command=clear}, turn.start, ui.render {component=AbovePrompt}, ui.render {component=Pane}
API calls
$.clock.after, $.clock.every, $.command.register, $.command.run, $.env.get, $.fs.exists, $.fs.read, $.fs.write, $.process.run, $.prompt.submit, $.session.compact, $.session.cwd, $.session.id, $.session.usage, $.ui.ask, $.ui.close, $.ui.invalidate, $.ui.open, $.ui.resolve, $.ui.toast
Validation on 2.1.287
Passed
Validator output
./register.tsx env writes: nothing; ./register.tsx env reads: CS_BIN, CS_ROTATE_BUTTON_CTX, CS_ROTATE_FORCE_CTX, CS_STATUSLINE_CTX_WARN, CS_TERM_BG_RGB, CS_TERM_THEME
runs processes, writes files, drives Claude, reads files, reads env vars, draws Repository stars 44
cs-updatehex/claude-sessions

Release notes for a pending cs update, once per launch, with 1 to install it in place; /cs-update reopens the pane.

Access & validation details
Observed events
Only what it hooks
Hooks
session.start, ui.render {component=Pane}, command.run {command=cs-update}
API calls
$.command.register, $.env.get, $.fs.exists, $.fs.read, $.fs.write, $.process.run, $.session.cwd, $.session.id, $.ui.invalidate, $.ui.open, $.ui.resolve, $.ui.toast
Validation on 2.1.287
Passed
Validator output
./register.tsx env writes: nothing; ./register.tsx env reads: CS_BIN, CS_UPDATE_AVAILABLE, HOME
runs processes, writes files, reads files, reads env vars, draws Repository stars 44
jev-compact-gatetdimino/claude-code-minoan

Jev decides when the session compacts, inside a 280k: 400k token band; Claude's own summary does the compacting.

Access & validation details
Observed events
compaction
Hooks
turn.complete, session.compact
API calls
$.clock.sleep, $.env.get, $.fs.exists, $.fs.read, $.fs.write, $.http.fetch, $.session.compact, $.session.id, $.session.messages, $.session.usage, $.ui.log, $.ui.toast
Validation on 2.1.287
Passed
Validator output
./jev-compact-gate.ts env writes: nothing; ./jev-compact-gate.ts env reads: HOME, OPENROUTER_API_KEY
network, writes files, drives Claude, reads files, reads env vars, reads the transcript, draws Repository stars 41
cache-taxkaranb192/cache-tax

cache-tax, the Mod. Everything the hook form does, from inside Claude Code instead of the transcript: stops a cold send once with its price (the resend goes through), keeps the 1-hour prompt cache warm for a window you set with one cache-shared fork per idle stretch, arms that for you after a paid cold write, and keeps score of this session's cold writes. Needs function hooks (early access).

Access & validation details
Observed events
classic hooks, every prompt, compaction
Hooks
session.start, classic.SessionStart, command.run {command=keepwarm}, command.run {command=cache-tax}, prompt.submit, turn.step, turn.complete, session.compact
API calls
$.clock.after, $.clock.now, $.command.list, $.command.register, $.model.fork, $.session.id, $.session.model, $.session.usage, $.store.delete, $.store.get, $.store.set, $.ui.log, $.ui.status
Validation on 2.1.287
Passed
drives Claude, persists state, draws Repository stars 39
lcmlossless-claude/lcm

Lossless context management: DAG-based summarization that preserves every message

Access & validation details
Observed events
the system prompt, every prompt, every tool call
Hooks
session.start, prompt.context, prompt.section {name=memory}, prompt.submit, turn.complete, tool.call
API calls
$.clock.after, $.clock.sleep, $.env.get, $.fs.write, $.http.fetch, $.model.complete, $.model.fork, $.process.run, $.session.cwd, $.session.id, $.ui.log
Validation on 2.1.287
Passed with warnings
Validator output
root: CLAUDE.md at the plugin root is not loaded as project context. To ship context with your plugin, use a skill (skills/<name>/SKILL.md) instead.; ./lcm-hooks.ts env writes: nothing; ./lcm-hooks.ts env reads: LCM_SUMMARIZE_WORKER, LCM_SUMMARIZE_WORKER_MAX_OUTPUT_TOKENS, LCM_SUMMARIZE_WORKER_MODEL
network, runs processes, writes files, drives Claude, reads env vars, drawsValidator warnings Repository stars 36
cc-arcadesezaakgun/cc-arcade

Games above the Claude Code prompt (snake, Tetris, 2048, Minesweeper, Flappy, Pong, typing test, Space Invaders, Doom) plus a pet that grows as Claude tests, commits and edits. Clones of the genre, not affiliated with or endorsed by Tetris Holding, Taito, Atari or id Software. Needs function hooks (early access) and an interactive terminal.

Access & validation details
Observed events
every tool call
Hooks
session.start, command.run {command=arcade}, turn.start, turn.complete, tool.call, ui.message, ui.render {component=AbovePrompt}
API calls
$.clock.now, $.command.register, $.store.get, $.store.set, $.ui.invalidate, $.ui.log, $.ui.resolve, $.ui.toast
Surface modules
hooks/boards/doom.tsx, hooks/boards/flappy.tsx, hooks/boards/invaders.tsx, hooks/boards/minesweeper.tsx, hooks/boards/pet.tsx, hooks/boards/pong.tsx, hooks/boards/snake.tsx, hooks/boards/tetris.tsx, hooks/boards/twenty48.tsx, hooks/boards/typing.tsx
Validation on 2.1.287
Passed
persists state, draws Repository stars 36
hopesaadshahd/moo.md

Thinking discipline for AI work. Clarify intent, shape approach, consult experts, guard unsupervised work, hand work back so you own it. The slop hook needs CLAUDE_CODE_ENABLE_FUNCTION_HOOKS=1.

Access & validation details
Observed events
every prompt
Hooks
turn.complete, prompt.submit, ui.render {component=AbovePrompt}, ui.close, ui.render {component=Pane}
API calls
$.fs.read, $.fs.write, $.process.run, $.prompt.fill, $.session.messages, $.session.root, $.state.get, $.state.set, $.ui.close, $.ui.open, $.ui.resolve, $.ui.toast
Validation on 2.1.287
Passed
Validator output
types ./slop.d.ts declares on $: nothing (no EngineInterface member); types ./slop.d.ts declares state: hope.slop; ./slop.tsx state writes: hope.slop; ./slop.tsx state reads: hope.slop
other: $.state.get, other: $.state.set, runs processes, writes files, writes the prompt box, reads files, reads the transcript, draws Repository stars 34
hunchsaadshahd/moo.md

A grab bag of hunches: experimental skills and plugin features tried here before they earn a place in hope or sound. Everything graduates or dies. The tend mod needs CLAUDE_CODE_ENABLE_FUNCTION_HOOKS=1.

Access & validation details
Observed events
classic hooks, every tool call, every prompt, compaction
Hooks
session.start, session.end, classic.SessionStart, classic.Stop, command.run {command=long}, command.run {command=cards}, tool.call, prompt.submit, prompt.suggest, turn.complete, session.compact, ui.close, ui.render {component=AssistantMessage}, ui.render {component=UserMessage}, ui.render {component=AbovePrompt}, ui.message, ui.render {component=Pane}
API calls
$.agent.list, $.clock.after, $.clock.every, $.command.list, $.command.register, $.fs.exists, $.fs.list, $.fs.read, $.fs.stat, $.model.complete, $.process.run, $.prompt.fill, $.prompt.read, $.prompt.suggest, $.session.id, $.session.messages, $.session.root, $.session.surfaces, $.session.usage, $.store.delete, $.store.get, $.store.keys, $.store.set, $.ui.close, $.ui.invalidate, $.ui.open, $.ui.resolve, $.ui.toast
Surface modules
hooks/band.tsx
Validation on 2.1.287
Passed
other: $.prompt.read, runs processes, drives Claude, writes the prompt box, reads files, reads the transcript, persists state, draws Repository stars 34
fable-pinkaranb192/claude-code-mods

Pins every subagent to the fable model: rewrites the model on agent.spawn unless the spawn is a fork, with /fable-pin on, off and status. Touches nothing but its own store. Needs function hooks (early access).

Access & validation details
Observed events
subagent spawns
Hooks
session.start, command.run {command=fable-pin}, agent.spawn
API calls
$.command.register, $.store.get, $.store.set
Validation on 2.1.287
Passed
persists state Repository stars 32
kindex-modernwandercom/kindex

Repo-local Kindex memory and durable tasks for Claude function hooks (qualified on 2.1.274)

Access & validation details
Observed events
the system prompt, every prompt, every tool call
Hooks
session.start, prompt.context, prompt.submit, tool.describe, tool.call, turn.complete
API calls
$.process.run, $.session.cwd, $.session.id, $.tool.register, $.ui.invalidate, $.ui.status
Validation on 2.1.287
Passed
runs processes, drives Claude, draws Repository stars 32
claude-runtimeucsandman/claude-harness

Shared Claude runtime adapter: normalises function-hook events into ClaudeRuntimeEvent, exposes $.runtime (emit bus, supports, judge, snapshot) to other plugins, and writes a JSONL event log

Access & validation details
Observed events
every prompt, every tool call, subagent spawns
Hooks
engine.create, runtime.judge, session.start, prompt.submit, turn.start, turn.step, tool.check, tool.call, agent.spawn, turn.complete
API calls
$.clock.every, $.env.get, $.fs.exists, $.fs.read, $.fs.write, $.http.fetch, $.model.complete, $.runtime.emit, $.session.id, $.session.model, $.session.usage, $.settings.read, $.store.set
Validation on 2.1.287
fails on 2.1.287
Validator output
name: Plugin name "claude-runtime" is reserved: it passes as one of Anthropic's own. A third party's plugin name cannot start with "claude-", "anthropic-", "anthropics-", or "cc-plugin-", be "claude", "anthropic", "anthropics", "claude-code", or "claude-mods", or put "official" beside "claude" or "anthropic". Name it for what it does. If this is one of Anthropic's own plugins, validate the marketplace that lists it.; types ./types/index.d.ts declares on $: $.runtime; ./index.ts env writes: nothing; ./index.ts env reads: CLAUDE_CONFIG_DIR, HOME, USERPROFILE
other: $.runtime.emit, network, writes files, drives Claude, reads files, reads env vars, reads settings, persists statefails on 2.1.287 Repository stars 26
harness-modsucsandman/claude-harness

Harness Mod layer: heartbeat/canary, native usage, rewrite explanations, measured subagent accounting, supervisor routing, secret redaction. Modes per guard in ~/.claude/mods/mods-config.json (classic | shadow_mod | mod).

Access & validation details
Observed events
subagent spawns, every tool call, every prompt
Hooks
session.start, runtime.emit, agent.spawn, tool.call, prompt.submit, turn.complete, command.run {command=mods}
API calls
$.command.register, $.env.get, $.fs.exists, $.fs.read, $.fs.stat, $.fs.write, $.runtime.supports, $.session.id, $.session.model, $.session.usage, $.store.get, $.store.set, $.ui.log, $.ui.toast
Validation on 2.1.287
Passed
Validator output
./index.tsx env writes: nothing; ./index.tsx env reads: CLAUDE_CONFIG_DIR, HARNESS_MODS, HARNESS_MOD_READ_CACHE, HARNESS_MOD_ROUTING, HARNESS_MOD_SECRET_REDACTION, HARNESS_MOD_SUBAGENT_ACCOUNTING, HOME, USERPROFILE
other: $.runtime.supports, writes files, reads files, reads env vars, persists state, draws Repository stars 26
benderucsandman/claude-harness

REALITY BENDER: intercepts a harmless tool result and alters what Claude receives; prints REAL vs RECEIVED

Access & validation details
Observed events
Bash calls
Hooks
session.start, tool.call {tool=Bash, command=/"bend"/i}
API calls
$.ui.log
Validation on 2.1.287
Passed with warnings
drawsValidator warnings Repository stars 26
blackboxucsandman/claude-harness

BLACK BOX RECORDER: structured per-session timeline of prompts, model steps, tool calls, subagents and denials; /blackbox prints it

Access & validation details
Observed events
every prompt, every tool call, subagent spawns
Hooks
session.start, prompt.submit, turn.step, tool.call, agent.spawn, turn.complete, command.run {command=blackbox}
API calls
$.clock.every, $.command.register, $.fs.write, $.session.id, $.ui.log
Validation on 2.1.287
Passed with warnings
writes files, drawsValidator warnings Repository stars 26
guardianucsandman/claude-harness

GUARDIAN: executable policy that protects lab/demos/protected/** from Write/Edit/Bash, whatever CLAUDE.md says

Access & validation details
Observed events
Write|Edit|NotebookEdit|Bash calls
Hooks
session.start, tool.call {tool=Write|Edit|NotebookEdit|Bash}, tool.check {tool=Write|Edit|NotebookEdit|Bash}
API calls
$.ui.log, $.ui.toast
Validation on 2.1.287
Passed with warnings
drawsValidator warnings Repository stars 26
matrixucsandman/claude-harness

MATRIX: freezes a harmless tool call before it runs, shows what Claude intended, asks you, then continues or denies. /matrix on|off

Access & validation details
Observed events
Bash calls
Hooks
session.start, command.run {command=matrix}, tool.call {tool=Bash, command=/"matrix"/i}
API calls
$.clock.sleep, $.command.register, $.ui.ask, $.ui.log, $.ui.notice, $.ui.status
Validation on 2.1.287
Passed with warnings
drawsValidator warnings Repository stars 26
tunnel-costucsandman/claude-harness

MIDDLEWARE TUNNEL stage 2: Cost analyzer: estimates the call's token cost from the args size

Access & validation details
Observed events
Bash calls
Hooks
tool.call {tool=Bash, command=/"tunnel"/i}
API calls
$.ui.log
Validation on 2.1.287
Passed with warnings
drawsValidator warnings Repository stars 26
tunnel-observerucsandman/claude-harness

MIDDLEWARE TUNNEL stage 1: Observer: sees the call first, stamps t0, prints what enters

Access & validation details
Observed events
Bash calls
Hooks
tool.call {tool=Bash, command=/"tunnel"/i}
API calls
$.ui.log
Validation on 2.1.287
Passed with warnings
drawsValidator warnings Repository stars 26
tunnel-policyucsandman/claude-harness

MIDDLEWARE TUNNEL stage 3: Policy: allows everything harmless; denies a matching rule

Access & validation details
Observed events
Bash calls
Hooks
tool.call {tool=Bash, command=/"tunnel"/i}
API calls
$.ui.log
Validation on 2.1.287
Passed with warnings
drawsValidator warnings Repository stars 26
tunnel-telemetryucsandman/claude-harness

MIDDLEWARE TUNNEL stage 4: Telemetry: records the call and its result for the ledger

Access & validation details
Observed events
Bash calls
Hooks
tool.call {tool=Bash, command=/"tunnel"/i}
API calls
$.ui.log
Validation on 2.1.287
Passed with warnings
drawsValidator warnings Repository stars 26
probe-uiucsandman/claude-harness

Interactive UI probe: ui.render components, toast, status, log, pane, command register

Access & validation details
Observed events
Only what it hooks
Hooks
session.start, command.run {command=probeui}, ui.render, ui.press, ui.close, turn.complete
API calls
$.command.register, $.fs.write, $.session.surfaces, $.ui.log, $.ui.open, $.ui.resolve, $.ui.status, $.ui.toast
Validation on 2.1.287
Passed with warnings
writes files, drawsValidator warnings Repository stars 26
probe2ucsandman/claude-harness

Interception probe: deny, rewrite, replace result, delay, throw, register tool, classify

Access & validation details
Observed events
classic hooks, Bash calls, Read calls, mcp__probe2__probe_echo calls
Hooks
tool.*, classic.*, tool.call {tool=Bash, command=/"DENYME"/}, tool.call {tool=Bash, command=/"echo ORIGINAL"/}, tool.call {tool=Read, file_path=/"secret\\.txt$"/}, tool.call {tool=Bash, command=/"echo SLOW"/}, tool.call {tool=Bash, command=/"echo BOOM"/}, tool.call {tool=Bash, command=/"echo CRASH"/}, session.start, tool.call {tool=mcp__probe2__probe_echo}, tool.check, turn.complete
API calls
$.clock.sleep, $.fs.write, $.model.classify, $.tool.register
Validation on 2.1.287
Passed with warnings
writes files, drives ClaudeValidator warnings Repository stars 26
probe3ucsandman/claude-harness

Permission override, subagent visibility, agent.spawn model rewrite, turn.step routing, prompt context injection

Access & validation details
Observed events
every tool call, subagent spawns, every prompt
Hooks
tool.check {tool=Bash}, tool.call, turn.step, agent.spawn, session.start, agent.offer {agent=Plan}, prompt.submit, turn.complete
API calls
$.agent.list, $.fs.write, $.session.id, $.session.messages, $.session.repo, $.session.usage, $.settings.read
Validation on 2.1.287
Passed with warnings
writes files, reads settings, reads the transcriptValidator warnings Repository stars 26
spike-compactucsandman/claude-harness

Spike: does $.session.compact() work from a plugin, and what does the session.compact event carry?

Access & validation details
Observed events
compaction
Hooks
session.compact, turn.complete
API calls
$.fs.write, $.session.compact, $.session.turns, $.session.usage
Validation on 2.1.287
Passed
writes files, drives Claude Repository stars 26
spike-describeucsandman/claude-harness

Spike: does a tool.describe rewrite reach the model, does agent.offer hide a type, does prompt.suggest fire?

Access & validation details
Observed events
Only what it hooks
Hooks
tool.describe {tool=Bash}, agent.offer {agent=Plan}, agent.offer, prompt.suggest, turn.complete
API calls
$.fs.write, $.prompt.suggest
Validation on 2.1.287
Passed
writes files, writes the prompt box Repository stars 26
spike-handoffucsandman/claude-harness

Spike: safe-boundary handoff (bundle written at turn.complete from the runtime bus) and $.turn.abort semantics

Access & validation details
Observed events
every tool call
Hooks
turn.start, tool.call, turn.complete
API calls
$.fs.write, $.process.run, $.runtime.snapshot, $.session.id, $.session.messages, $.session.usage, $.turn.abort, $.ui.toast
Validation on 2.1.287
Passed
other: $.runtime.snapshot, runs processes, writes files, drives Claude, reads the transcript, draws Repository stars 26
xrayucsandman/claude-harness

CLAUDE RUNTIME X-RAY: wildcard inspector with filters (/xray all|tools|subagents|session|usage|ui|errors|unknown|off), a HUD above the prompt, and a black-box timeline file

Access & validation details
Observed events
everything
Hooks
*, session.start, command.run {command=xray}, ui.render {component=AbovePrompt, surface=terminal}, turn.complete
API calls
$.clock.every, $.command.register, $.fs.write, $.session.id, $.session.usage, $.store.get, $.store.set, $.ui.invalidate, $.ui.log, $.ui.resolve, $.ui.status
Validation on 2.1.287
Passed
writes files, persists state, draws Repository stars 26
costclaw-liveucsandman/claude-harness

COSTCLAW LIVE: per-request cost, cache decay and repeated-read detection while the session runs, and it serves the Nth identical Read of an unchanged file from its own cache instead of paying for it

Access & validation details
Observed events
every tool call
Hooks
turn.step, tool.call, turn.complete, ui.render {component=AbovePrompt, surface=terminal}, command.run {command=costclaw}, session.start
API calls
$.clock.every, $.command.register, $.fs.stat, $.fs.write, $.session.id, $.session.repo, $.session.usage, $.store.get, $.store.set, $.ui.invalidate, $.ui.log, $.ui.resolve, $.ui.status
Validation on 2.1.287
Passed
writes files, reads files, persists state, draws Repository stars 26
prodguarducsandman/claude-harness

PRODUCTION GUARD: ambient project/environment context + a transport-independent policy core (DashClaw evidence classifier + offlocal policy engine) enforced natively on tool.call and tool.check. Blocks, asks, or contains before the command runs. /prodguard

Access & validation details
Observed events
Bash|Write|Edit|NotebookEdit calls
Hooks
session.start, tool.call {tool=Bash|Write|Edit|NotebookEdit}, tool.check {tool=Bash|Write|Edit|NotebookEdit}, command.run {command=prodguard}, ui.render {component=AbovePrompt, surface=terminal}, turn.complete
API calls
$.command.register, $.fs.exists, $.fs.read, $.fs.write, $.session.id, $.session.repo, $.ui.ask, $.ui.invalidate, $.ui.log, $.ui.resolve, $.ui.status, $.ui.toast
Validation on 2.1.287
Passed
writes files, reads files, draws Repository stars 26
supervisorucsandman/claude-harness

SUBAGENT SUPERVISOR: routing-and-budget Mod. Rewrites a spawn's model onto the capability graph instead of denying it, keeps a measured per-agent-type token ledger in $.store, caps tool calls per subagent, and shows live subagents + the last routing decision above the prompt. /supervisor prints the routing log and the ledger.

Access & validation details
Observed events
subagent spawns, every tool call
Hooks
session.start, agent.spawn, turn.step, turn.complete, tool.call, command.run {command=supervisor}, ui.render {component=AbovePrompt, surface=terminal}
API calls
$.clock.every, $.command.register, $.fs.write, $.session.id, $.session.usage, $.store.get, $.store.set, $.ui.invalidate, $.ui.log, $.ui.resolve, $.ui.status
Validation on 2.1.287
Passed
writes files, persists state, draws Repository stars 26
contextsaverAlmogBaku/ContextSaver

Diagnoses wrong processes, workflows and habits in Claude Code sessions: fires on plan acceptance, workflow launches, pace complaints and the clock, names the lean alternative with its measured cost, and lets the user fix it in one click.

Access & validation details
Observed events
every tool call, subagent spawns, compaction, every prompt
Hooks
session.start, turn.start, tool.call, turn.complete, agent.spawn, session.compact, prompt.submit, ui.render {component=AbovePrompt}, ui.render {component=Pane, requestId=?}, command.run {command=?}, command.run {command=clear|resume}, ui.close {id=?}
API calls
$.clock.now, $.clock.sleep, $.command.register, $.env.get, $.fs.exists, $.fs.read, $.fs.write, $.model.fork, $.session.messages, $.session.usage, $.store.get, $.store.set, $.ui.close, $.ui.focus, $.ui.invalidate, $.ui.log, $.ui.open, $.ui.resolve, $.ui.toast
Validation on 2.1.287
Passed
Validator output
./register.ts env writes: nothing; ./register.ts env reads: CONTEXTSAVER_DEBUG
writes files, drives Claude, reads files, reads env vars, reads the transcript, persists state, draws Repository stars 25
homie-persona-cognitionTheSmokeDev/taskchad-os

Host-bound cognitive lifecycle events for The Homie.

Access & validation details
Observed events
every tool call, every prompt
Hooks
session.start, tool.call, turn.complete, prompt.submit
API calls
$.env.get, $.process.run
Validation on 2.1.287
Passed with warnings
Validator output
./register.ts env writes: nothing; ./register.ts env reads: HOMIE_COGNITION_HOOK_COMMAND, HOMIE_COGNITION_HOOK_PYTHON
runs processes, reads env varsValidator warnings Repository stars 25
pi-agent-for-claudeFazalAAli/pi-agent-for-claude

pi agent for claude: a `pi` subagent type whose model steps run the pi CLI, so pi subagents and agent-team teammates live in Claude Code's own agent UI, streamed live.

Access & validation details
Observed events
every tool call, subagent spawns
Hooks
session.start, tool.call, agent.spawn, turn.step
API calls
$.clock.now, $.clock.sleep, $.process.run, $.session.cwd, $.session.messages, $.tool.register
Validation on 2.1.287
Passed with warnings
Validator output
name: Plugin name "pi-agent-for-claude" reads as one of Anthropic's own. Name it for what it does. If this is one of Anthropic's own plugins, validate the marketplace that lists it.
runs processes, drives Claude, reads the transcriptValidator warnings Repository stars 22
jevNasrallah-AL/jev-cli

Cheap, fast, typed AI judgments inside Claude Code via the jevctl CLI (verify, screen, find, classify, extract, rerank, match, route, ask, batch), plus verbatim Jev-guided context compaction that replaces the built-in summary.

Access & validation details
Observed events
compaction
Hooks
session.compact, turn.complete
API calls
$.env.get, $.http.fetch, $.session.compact, $.session.usage, $.settings.read, $.ui.log, $.ui.toast
Validation on 2.1.287
Passed
Validator output
./fast-jev.ts env writes: nothing; ./fast-jev.ts env reads: TYPESAFE_API_KEY
network, drives Claude, reads env vars, reads settings, draws Repository stars 22
claude-runtimeucsandman/Agnostic-AI

Shared Claude runtime adapter: normalises function-hook events into ClaudeRuntimeEvent, exposes $.runtime (emit bus, supports, judge, snapshot) to other plugins, and writes a JSONL event log

Access & validation details
Observed events
every prompt, every tool call, subagent spawns
Hooks
engine.create, runtime.judge, session.start, prompt.submit, turn.start, turn.step, tool.check, tool.call, agent.spawn, turn.complete
API calls
$.clock.every, $.env.get, $.fs.exists, $.fs.read, $.fs.write, $.http.fetch, $.model.complete, $.runtime.emit, $.session.id, $.session.model, $.session.usage, $.settings.read, $.store.set
Validation on 2.1.287
fails on 2.1.287
Validator output
name: Plugin name "claude-runtime" is reserved: it passes as one of Anthropic's own. A third party's plugin name cannot start with "claude-", "anthropic-", "anthropics-", or "cc-plugin-", be "claude", "anthropic", "anthropics", "claude-code", or "claude-mods", or put "official" beside "claude" or "anthropic". Name it for what it does. If this is one of Anthropic's own plugins, validate the marketplace that lists it.; types ./types/index.d.ts declares on $: $.runtime; ./index.ts env writes: nothing; ./index.ts env reads: CLAUDE_CONFIG_DIR, HOME, USERPROFILE
other: $.runtime.emit, network, writes files, drives Claude, reads files, reads env vars, reads settings, persists statefails on 2.1.287 Repository stars 22
harness-modsucsandman/Agnostic-AI

Harness Mod layer: heartbeat/canary, native usage, rewrite explanations, measured subagent accounting, supervisor routing, secret redaction. Modes per guard in ~/.claude/mods/mods-config.json (classic | shadow_mod | mod).

Access & validation details
Observed events
subagent spawns, every tool call, every prompt
Hooks
session.start, runtime.emit, agent.spawn, tool.call, prompt.submit, turn.complete, command.run {command=mods}
API calls
$.command.register, $.env.get, $.fs.exists, $.fs.read, $.fs.stat, $.fs.write, $.runtime.supports, $.session.id, $.session.model, $.session.usage, $.store.get, $.store.set, $.ui.log, $.ui.toast
Validation on 2.1.287
Passed
Validator output
./index.tsx env writes: nothing; ./index.tsx env reads: CLAUDE_CONFIG_DIR, HARNESS_MODS, HARNESS_MOD_READ_CACHE, HARNESS_MOD_ROUTING, HARNESS_MOD_SECRET_REDACTION, HARNESS_MOD_SUBAGENT_ACCOUNTING, HOME, USERPROFILE
other: $.runtime.supports, writes files, reads files, reads env vars, persists state, draws Repository stars 22
benderucsandman/Agnostic-AI

REALITY BENDER: intercepts a harmless tool result and alters what Claude receives; prints REAL vs RECEIVED

Access & validation details
Observed events
Bash calls
Hooks
session.start, tool.call {tool=Bash, command=/"bend"/i}
API calls
$.ui.log
Validation on 2.1.287
Passed with warnings
drawsValidator warnings Repository stars 22
blackboxucsandman/Agnostic-AI

BLACK BOX RECORDER: structured per-session timeline of prompts, model steps, tool calls, subagents and denials; /blackbox prints it

Access & validation details
Observed events
every prompt, every tool call, subagent spawns
Hooks
session.start, prompt.submit, turn.step, tool.call, agent.spawn, turn.complete, command.run {command=blackbox}
API calls
$.clock.every, $.command.register, $.fs.write, $.session.id, $.ui.log
Validation on 2.1.287
Passed with warnings
writes files, drawsValidator warnings Repository stars 22
guardianucsandman/Agnostic-AI

GUARDIAN: executable policy that protects lab/demos/protected/** from Write/Edit/Bash, whatever CLAUDE.md says

Access & validation details
Observed events
Write|Edit|NotebookEdit|Bash calls
Hooks
session.start, tool.call {tool=Write|Edit|NotebookEdit|Bash}, tool.check {tool=Write|Edit|NotebookEdit|Bash}
API calls
$.ui.log, $.ui.toast
Validation on 2.1.287
Passed with warnings
drawsValidator warnings Repository stars 22
matrixucsandman/Agnostic-AI

MATRIX: freezes a harmless tool call before it runs, shows what Claude intended, asks you, then continues or denies. /matrix on|off

Access & validation details
Observed events
Bash calls
Hooks
session.start, command.run {command=matrix}, tool.call {tool=Bash, command=/"matrix"/i}
API calls
$.clock.sleep, $.command.register, $.ui.ask, $.ui.log, $.ui.notice, $.ui.status
Validation on 2.1.287
Passed with warnings
drawsValidator warnings Repository stars 22
tunnel-costucsandman/Agnostic-AI

MIDDLEWARE TUNNEL stage 2: Cost analyzer: estimates the call's token cost from the args size

Access & validation details
Observed events
Bash calls
Hooks
tool.call {tool=Bash, command=/"tunnel"/i}
API calls
$.ui.log
Validation on 2.1.287
Passed with warnings
drawsValidator warnings Repository stars 22
tunnel-observerucsandman/Agnostic-AI

MIDDLEWARE TUNNEL stage 1: Observer: sees the call first, stamps t0, prints what enters

Access & validation details
Observed events
Bash calls
Hooks
tool.call {tool=Bash, command=/"tunnel"/i}
API calls
$.ui.log
Validation on 2.1.287
Passed with warnings
drawsValidator warnings Repository stars 22
tunnel-policyucsandman/Agnostic-AI

MIDDLEWARE TUNNEL stage 3: Policy: allows everything harmless; denies a matching rule

Access & validation details
Observed events
Bash calls
Hooks
tool.call {tool=Bash, command=/"tunnel"/i}
API calls
$.ui.log
Validation on 2.1.287
Passed with warnings
drawsValidator warnings Repository stars 22
tunnel-telemetryucsandman/Agnostic-AI

MIDDLEWARE TUNNEL stage 4: Telemetry: records the call and its result for the ledger

Access & validation details
Observed events
Bash calls
Hooks
tool.call {tool=Bash, command=/"tunnel"/i}
API calls
$.ui.log
Validation on 2.1.287
Passed with warnings
drawsValidator warnings Repository stars 22
probe-uiucsandman/Agnostic-AI

Interactive UI probe: ui.render components, toast, status, log, pane, command register

Access & validation details
Observed events
Only what it hooks
Hooks
session.start, command.run {command=probeui}, ui.render, ui.press, ui.close, turn.complete
API calls
$.command.register, $.fs.write, $.session.surfaces, $.ui.log, $.ui.open, $.ui.resolve, $.ui.status, $.ui.toast
Validation on 2.1.287
Passed with warnings
writes files, drawsValidator warnings Repository stars 22
probe2ucsandman/Agnostic-AI

Interception probe: deny, rewrite, replace result, delay, throw, register tool, classify

Access & validation details
Observed events
classic hooks, Bash calls, Read calls, mcp__probe2__probe_echo calls
Hooks
tool.*, classic.*, tool.call {tool=Bash, command=/"DENYME"/}, tool.call {tool=Bash, command=/"echo ORIGINAL"/}, tool.call {tool=Read, file_path=/"secret\\.txt$"/}, tool.call {tool=Bash, command=/"echo SLOW"/}, tool.call {tool=Bash, command=/"echo BOOM"/}, tool.call {tool=Bash, command=/"echo CRASH"/}, session.start, tool.call {tool=mcp__probe2__probe_echo}, tool.check, turn.complete
API calls
$.clock.sleep, $.fs.write, $.model.classify, $.tool.register
Validation on 2.1.287
Passed with warnings
writes files, drives ClaudeValidator warnings Repository stars 22
probe3ucsandman/Agnostic-AI

Permission override, subagent visibility, agent.spawn model rewrite, turn.step routing, prompt context injection

Access & validation details
Observed events
every tool call, subagent spawns, every prompt
Hooks
tool.check {tool=Bash}, tool.call, turn.step, agent.spawn, session.start, agent.offer {agent=Plan}, prompt.submit, turn.complete
API calls
$.agent.list, $.fs.write, $.session.id, $.session.messages, $.session.repo, $.session.usage, $.settings.read
Validation on 2.1.287
Passed with warnings
writes files, reads settings, reads the transcriptValidator warnings Repository stars 22
spike-compactucsandman/Agnostic-AI

Spike: does $.session.compact() work from a plugin, and what does the session.compact event carry?

Access & validation details
Observed events
compaction
Hooks
session.compact, turn.complete
API calls
$.fs.write, $.session.compact, $.session.turns, $.session.usage
Validation on 2.1.287
Passed
writes files, drives Claude Repository stars 22
spike-describeucsandman/Agnostic-AI

Spike: does a tool.describe rewrite reach the model, does agent.offer hide a type, does prompt.suggest fire?

Access & validation details
Observed events
Only what it hooks
Hooks
tool.describe {tool=Bash}, agent.offer {agent=Plan}, agent.offer, prompt.suggest, turn.complete
API calls
$.fs.write, $.prompt.suggest
Validation on 2.1.287
Passed
writes files, writes the prompt box Repository stars 22
spike-handoffucsandman/Agnostic-AI

Spike: safe-boundary handoff (bundle written at turn.complete from the runtime bus) and $.turn.abort semantics

Access & validation details
Observed events
every tool call
Hooks
turn.start, tool.call, turn.complete
API calls
$.fs.write, $.process.run, $.runtime.snapshot, $.session.id, $.session.messages, $.session.usage, $.turn.abort, $.ui.toast
Validation on 2.1.287
Passed
other: $.runtime.snapshot, runs processes, writes files, drives Claude, reads the transcript, draws Repository stars 22
xrayucsandman/Agnostic-AI

CLAUDE RUNTIME X-RAY: wildcard inspector with filters (/xray all|tools|subagents|session|usage|ui|errors|unknown|off), a HUD above the prompt, and a black-box timeline file

Access & validation details
Observed events
everything
Hooks
*, session.start, command.run {command=xray}, ui.render {component=AbovePrompt, surface=terminal}, turn.complete
API calls
$.clock.every, $.command.register, $.fs.write, $.session.id, $.session.usage, $.store.get, $.store.set, $.ui.invalidate, $.ui.log, $.ui.resolve, $.ui.status
Validation on 2.1.287
Passed
writes files, persists state, draws Repository stars 22
costclaw-liveucsandman/Agnostic-AI

COSTCLAW LIVE: per-request cost, cache decay and repeated-read detection while the session runs, and it serves the Nth identical Read of an unchanged file from its own cache instead of paying for it

Access & validation details
Observed events
every tool call
Hooks
turn.step, tool.call, turn.complete, ui.render {component=AbovePrompt, surface=terminal}, command.run {command=costclaw}, session.start
API calls
$.clock.every, $.command.register, $.fs.stat, $.fs.write, $.session.id, $.session.repo, $.session.usage, $.store.get, $.store.set, $.ui.invalidate, $.ui.log, $.ui.resolve, $.ui.status
Validation on 2.1.287
Passed
writes files, reads files, persists state, draws Repository stars 22
prodguarducsandman/Agnostic-AI

PRODUCTION GUARD: ambient project/environment context + a transport-independent policy core (DashClaw evidence classifier + offlocal policy engine) enforced natively on tool.call and tool.check. Blocks, asks, or contains before the command runs. /prodguard

Access & validation details
Observed events
Bash|Write|Edit|NotebookEdit calls
Hooks
session.start, tool.call {tool=Bash|Write|Edit|NotebookEdit}, tool.check {tool=Bash|Write|Edit|NotebookEdit}, command.run {command=prodguard}, ui.render {component=AbovePrompt, surface=terminal}, turn.complete
API calls
$.command.register, $.fs.exists, $.fs.read, $.fs.write, $.session.id, $.session.repo, $.ui.ask, $.ui.invalidate, $.ui.log, $.ui.resolve, $.ui.status, $.ui.toast
Validation on 2.1.287
Passed
writes files, reads files, draws Repository stars 22
supervisorucsandman/Agnostic-AI

SUBAGENT SUPERVISOR: routing-and-budget Mod. Rewrites a spawn's model onto the capability graph instead of denying it, keeps a measured per-agent-type token ledger in $.store, caps tool calls per subagent, and shows live subagents + the last routing decision above the prompt. /supervisor prints the routing log and the ledger.

Access & validation details
Observed events
subagent spawns, every tool call
Hooks
session.start, agent.spawn, turn.step, turn.complete, tool.call, command.run {command=supervisor}, ui.render {component=AbovePrompt, surface=terminal}
API calls
$.clock.every, $.command.register, $.fs.write, $.session.id, $.session.usage, $.store.get, $.store.set, $.ui.invalidate, $.ui.log, $.ui.resolve, $.ui.status
Validation on 2.1.287
Passed
writes files, persists state, draws Repository stars 22
claude-jev0x7067/claude-jev

Hands the small judgments in a session to TypeSafe's Jev, a System One model that returns typed answers instead of generating text: what kind of request each prompt is, which model tier a subagent needs, whether an edit breaks a rule already written in your CLAUDE.md or AGENTS.md, and which transcript blocks survive compaction. Kept blocks carry over verbatim: no LLM writes a summary.

Access & validation details
Observed events
compaction
Hooks
session.start, command.run {command=claude-jev}, config.describe {key="claude-jev.typesafeApiKey"}, ui.close {id=claude-jev}, ui.render {component=Pane}, session.compact
API calls
$.clock.sleep, $.command.register, $.config.list, $.config.set, $.process.run, $.session.cwd, $.session.id, $.store.delete, $.store.get, $.store.set, $.ui.close, $.ui.focus, $.ui.invalidate, $.ui.log, $.ui.open, $.ui.panes, $.ui.resolve, $.ui.toast
Validation on 2.1.287
fails on 2.1.287
Validator output
name: Plugin name "claude-jev" is reserved: it passes as one of Anthropic's own. A third party's plugin name cannot start with "claude-", "anthropic-", "anthropics-", or "cc-plugin-", be "claude", "anthropic", "anthropics", "claude-code", or "claude-mods", or put "official" beside "claude" or "anthropic". Name it for what it does. If this is one of Anthropic's own plugins, validate the marketplace that lists it.; hooks.UserPromptSubmit: Shell command uses ${CLAUDE_PLUGIN_ROOT} without quotes: node --experimental-strip-types ${CLAUDE_PLUGIN_ROOT}/src/prompt-router.ts. If the expanded path contains a space the command can split into several words and fail. Wrap the placeholder in double quotes, or use exec form: {"command": "<executable>", "args": ["${CLAUDE_PLUGIN_ROOT}/..."]}.; hooks.PreToolUse: Shell command uses ${CLAUDE_PLUGIN_ROOT} without quotes: node --experimental-strip-types ${CLAUDE_PLUGIN_ROOT}/src/subagent-router.ts. If the expanded path contains a space the command can split into several words and fail. Wrap the placeholder in double quotes, or use exec form: {"command": "<executable>", "args": ["${CLAUDE_PLUGIN_ROOT}/..."]}.; hooks.PreToolUse: Shell command uses ${CLAUDE_PLUGIN_ROOT} without quotes: node --experimental-strip-types ${CLAUDE_PLUGIN_ROOT}/src/rules.ts. If the expanded path contains a space the command can split into several words and fail. Wrap the placeholder in double quotes, or use exec form: {"command": "<executable>", "args": ["${CLAUDE_PLUGIN_ROOT}/..."]}.; hooks.PostToolUse: Shell command uses ${CLAUDE_PLUGIN_ROOT} without quotes: node --experimental-strip-types ${CLAUDE_PLUGIN_ROOT}/src/rules.ts. If the expanded path contains a space the command can split into several words and fail. Wrap the placeholder in double quotes, or use exec form: {"command": "<executable>", "args": ["${CLAUDE_PLUGIN_ROOT}/..."]}.; hooks.PostToolUse: Shell command uses ${CLAUDE_PLUGIN_ROOT} without quotes: node --experimental-strip-types ${CLAUDE_PLUGIN_ROOT}/src/rules.ts. If the expanded path contains a space the command can split into several words and fail. Wrap the placeholder in double quotes, or use exec form: {"command": "<executable>", "args": ["${CLAUDE_PLUGIN_ROOT}/..."]}.; hooks.Stop: Shell command uses ${CLAUDE_PLUGIN_ROOT} without quotes: node --experimental-strip-types ${CLAUDE_PLUGIN_ROOT}/src/rules.ts. If the expanded path contains a space the command can split into several words and fail. Wrap the placeholder in double quotes, or use exec form: {"command": "<executable>", "args": ["${CLAUDE_PLUGIN_ROOT}/..."]}.; hooks.PostToolUseFailure: Shell command uses ${CLAUDE_PLUGIN_ROOT} without quotes: node --experimental-strip-types ${CLAUDE_PLUGIN_ROOT}/src/rules.ts. If the expanded path contains a space the command can split into several words and fail. Wrap the placeholder in double quotes, or use exec form: {"command": "<executable>", "args": ["${CLAUDE_PLUGIN_ROOT}/..."]}.
runs processes, changes config, persists state, drawsfails on 2.1.287 Repository stars 19
classifier-telemetrybendrucker/claude

Records each tool call's permission verdict and wall time so auto-mode classifier cost is measurable from the session index

Access & validation details
Observed events
every tool call
Hooks
tool.check, tool.call
API calls
$.clock.now, $.env.get, $.fs.write, $.session.id
Validation on 2.1.287
Passed with warnings
Validator output
version: No version specified. Consider adding a version following semver (e.g., "1.0.0"); ../mod/register.ts env writes: nothing; ../mod/register.ts env reads: HOME
writes files, reads env varsValidator warnings Repository stars 17
herdrbendrucker/claude

Drive the herdr terminal workspace manager: panes, tabs, workspaces, and sibling coding agents

Access & validation details
Observed events
AskUserQuestion calls
Hooks
session.start, turn.start, turn.complete, tool.call {tool=AskUserQuestion}, session.end
API calls
$.clock.now, $.env.get, $.process.run, $.ui.log
Validation on 2.1.287
Passed with warnings
Validator output
version: No version specified. Consider adding a version following semver (e.g., "1.0.0"); ../mod/register.ts env writes: nothing; ../mod/register.ts env reads: HERDR_BIN_PATH, HERDR_ENV, HERDR_PANE_ID
runs processes, reads env vars, drawsValidator warnings Repository stars 17
run-commandbendrucker/claude

Pick a reply's `! <command>` suggestion by click or digit to fill it into the shell prompt

Access & validation details
Observed events
Only what it hooks
Hooks
ui.render {component=PromptHint}, ui.render {component=AssistantMessage}, ui.render {component=AbovePrompt}, prompt.edit, ui.press {plugin=run-command}
API calls
$.prompt.fill, $.ui.invalidate, $.ui.resolve
Validation on 2.1.287
Passed with warnings
Validator output
version: No version specified. Consider adding a version following semver (e.g., "1.0.0")
writes the prompt box, drawsValidator warnings Repository stars 17
idle-compacttakahirom/takahirom-claude-code-marketplace

Compact once after 50 idle minutes, while the 1h prompt cache is still warm.

Access & validation details
Observed events
compaction
Hooks
turn.start, turn.complete, session.compact, session.end
API calls
$.clock.after, $.clock.now, $.session.compact, $.session.id, $.ui.log
Validation on 2.1.287
Passed with warnings
drives Claude, drawsValidator warnings Repository stars 17
prompt-railoikon48/prompt-rail

A rail of your session's prompts beside the transcript or above the prompt; hover to read one, click to jump to it.

Access & validation details
Observed events
classic hooks, every prompt
Hooks
session.start, command.run, classic.SessionStart, classic.Stop, turn.start, turn.complete, prompt.submit, session.receive, ui.render {component=UserMessage}, ui.render {component=AssistantMessage}, ui.render {component=ToolUse}, ui.render {component=ToolResult}, ui.render {component=ToolGroup}, ui.render {component=Pane, requestId=prompt-rail}, ui.render {component=AbovePrompt}, ui.focus {component=AbovePrompt, plugin=prompt-rail}, ui.focus {component=Pane, requestId=prompt-rail, plugin=prompt-rail}, ui.press {plugin=prompt-rail}
API calls
$.clock.after, $.command.register, $.config.set, $.fs.read, $.fs.stat, $.process.spawn, $.session.id, $.state.get, $.state.set, $.store.delete, $.store.get, $.store.keys, $.store.set, $.ui.close, $.ui.open, $.ui.resolve, $.ui.scroll, $.ui.toast
Validation on 2.1.287
Passed
Validator output
types ./types/prompt-rail.d.ts declares on $: nothing (no EngineInterface member); types ./types/prompt-rail.d.ts declares state: prompt-rail.moved; ./index.tsx state writes: prompt-rail.moved; ./index.tsx state reads: prompt-rail.moved
other: $.process.spawn, other: $.state.get, other: $.state.set, changes config, reads files, persists state, draws Repository stars 12
redactthkt/dotclaude

Read ツールの結果に含まれる認証情報の形をした文字列を、モデルが読む前に伏せる。

Access & validation details
Observed events
Read calls
Hooks
tool.call {tool=Read}
API calls
none recorded
Validation on 2.1.287
Passed
draws only Repository stars 12
awshAitherium/awdk

awsh for Claude Code: an `aw` subagent type whose model steps are answered by a session on the local awsh harness daemon, so any harness and any backend the daemon can drive runs as a native Claude Code subagent, streamed live. Also carries the Aither World skills, the `aither` output style, MCP servers for installed bricks and portable brick hooks.

Access & validation details
Observed events
every tool call, subagent spawns
Hooks
session.start, tool.call, agent.spawn, session.end, turn.step
API calls
$.clock.now, $.clock.sleep, $.env.get, $.fs.exists, $.fs.list, $.fs.read, $.http.fetch, $.session.cwd, $.session.id, $.tool.register
Validation on 2.1.287
Passed
Validator output
./register.ts env writes: nothing; ./register.ts env reads: AITHER_AW_DEPTH, AITHER_HARNESS_HOST, AITHER_HARNESS_PORT, AITHER_HARNESS_TOKEN_FILE, HOME, USERPROFILE
network, drives Claude, reads files, reads env vars Repository stars 11
awcompactAitherium/awdk

Compacts a long tool result through the AitherOS decision door before the model reads it: per LINE SHAPE, learned from outcomes, never dropping a traceback or a summary line.

Access & validation details
Observed events
every tool call
Hooks
tool.call
API calls
$.process.run, $.ui.log
Validation on 2.1.287
Passed
runs processes, draws Repository stars 11
claude-image-generationhex/claude-image-generation

Generate and edit images using Google Gemini, OpenAI GPT Image, xAI Grok Image, and OpenRouter APIs

Access & validation details
Observed events
mcp__claude-image-generation__generate calls
Hooks
session.start, tool.call {tool=mcp__claude-image-generation__generate}
API calls
$.clock.now, $.fs.exists, $.process.run, $.tool.register
Validation on 2.1.287
fails on 2.1.287
Validator output
name: Plugin name "claude-image-generation" is reserved: it passes as one of Anthropic's own. A third party's plugin name cannot start with "claude-", "anthropic-", "anthropics-", or "cc-plugin-", be "claude", "anthropic", "anthropics", "claude-code", or "claude-mods", or put "official" beside "claude" or "anthropic". Name it for what it does. If this is one of Anthropic's own plugins, validate the marketplace that lists it.
runs processes, drives Claude, reads filesfails on 2.1.287 Repository stars 10
flowpanempolatcan/flowpane

A live workflow pane: replaces the default Workflow progress list with a phase-by-phase graph or a timeline beside the transcript, showing each agent's state, timing, live token spend, tool calls, what it is saying, and prompt.

Access & validation details
Observed events
Workflow calls, every tool call
Hooks
tool.call {tool=Workflow}, tool.call, turn.step, ui.render {component=Pane}, ui.press {plugin=flowpane}, ui.select {plugin=flowpane}, ui.scroll {requestId=flowpane}, ui.close {id=flowpane}, session.start, command.run {command=flowpane}
API calls
$.clock.every, $.clock.now, $.command.register, $.env.get, $.fs.exists, $.fs.list, $.fs.read, $.fs.stat, $.session.id, $.store.get, $.store.set, $.ui.blit, $.ui.close, $.ui.invalidate, $.ui.open, $.ui.resolve
Validation on 2.1.287
Passed with warnings
Validator output
root: CLAUDE.md at the plugin root is not loaded as project context. To ship context with your plugin, use a skill (skills/<name>/SKILL.md) instead.; ./register.ts env writes: nothing; ./register.ts env reads: HOME
reads files, reads env vars, persists state, drawsValidator warnings Repository stars 9
autoteljagreehal/autotel

OpenTelemetry for Claude Code plugins: adds $.autotel in the engine.create fold so a plugin records spans, traces every hook dispatch with the chain beneath it, and shows each tool call's settled duration on its row. Exports OTLP/HTTP to OTEL_EXPORTER_OTLP_ENDPOINT (autotel-devtools claude sets it).

Access & validation details
Observed events
everything
Hooks
engine.create, session.start, *, ui.render {component=ToolUse}
API calls
$.clock.after, $.env.get, $.http.fetch, $.session.id, $.ui.resolve
Validation on 2.1.287
Passed
Validator output
./register.ts env writes: nothing; ./register.ts env reads: OTEL_EXPORTER_OTLP_ENDPOINT, OTEL_EXPORTER_OTLP_HEADERS, OTEL_SERVICE_NAME
network, reads env vars, draws Repository stars 8
cueloopmmurakaru/cueloop

Claude Mod for cueloop Threads: plan, reply, prototype, diff, review, and refine

Access & validation details
Observed events
every tool call, compaction
Hooks
session.start, tool.call, session.compact, session.end
API calls
$.clock.every, $.env.get, $.process.run, $.prompt.submit, $.session.cwd, $.session.id, $.store.get, $.store.set, $.tool.register
Validation on 2.1.287
Passed
Validator output
./register.ts env writes: nothing; ./register.ts env reads: CLAUDE_CODE_ENABLE_FUNCTION_HOOKS, CUELOOP_DISABLE, CUELOOP_HARNESS_ENTRY
runs processes, drives Claude, reads env vars, persists state Repository stars 8
jev-guardmuratcakmak/jev-guard

Probability-scored guardrails for Claude Code: deny rule-breaking edits and unasked-for deploys, route your own docs into each prompt, and check the final answer against the turn's own evidence.

Access & validation details
Observed events
Edit|Write|Bash calls, Skill calls, every prompt, Agent calls
Hooks
session.start, tool.call {tool=Edit|Write|Bash}, tool.call {tool=Skill}, turn.complete, prompt.submit, tool.call {tool=Agent}
API calls
$.env.get, $.fs.read, $.http.fetch, $.prompt.submit, $.session.cwd, $.session.messages, $.ui.log, $.ui.toast
Validation on 2.1.287
Passed
Validator output
./guard.ts env writes: nothing; ./guard.ts env reads: JEV_API_KEY, JEV_BASE_URL, JEV_MODEL, TYPESAFE_API_KEY
network, drives Claude, reads files, reads env vars, reads the transcript, draws Repository stars 7
taskcutwasd96040501/taskcut

Compacts when the work moves on from one sub-task to the next instead of when the context window fills, including in the middle of a long turn. Once the context is past a floor, a model judges each step, reading what you asked for and where Claude has got to but never any tool output, for whether the work moves on from a finished piece to another; if it does, taskcut runs Claude Code's own compaction. Below the floor it does nothing and costs nothing.

Access & validation details
Observed events
Only what it hooks
Hooks
session.start, command.run, turn.step, turn.complete
API calls
$.command.register, $.env.get, $.model.complete, $.prompt.submit, $.session.compact, $.session.messages, $.session.usage, $.turn.abort, $.ui.log
Validation on 2.1.287
Passed
Validator output
./register.ts env writes: nothing; ./register.ts env reads: TASKCUT
drives Claude, reads env vars, reads the transcript, draws Repository stars 7
jev-pilotAkramovic1/jev-pilot

TypeSafe's Jev decides how Claude Code works on each prompt: the main conversation's reasoning effort (low to xhigh, raised to max mid-turn when tool calls keep failing), each subagent's model, whether to split the work across subagents, and the one skill the prompt needs. Brings in custom OpenRouter models (a junior coder reviewed by Opus, or cheap bulk work) and Codex or OpenCode as reviewers, in modes you choose, each health-checked. Reads the prompt with recent context, records every decision, and suggests its own tuning. Backends: OpenRouter, TypeSafe's API, the Vercel AI Gateway, or Claude Code's built-in classifier. Built on claude-code-templates' jev-model-router and jev-skill-suggestion.

Access & validation details
Observed events
every prompt, every tool call, compaction, the jev-pilot:report skill, subagent spawns, the jev-pilot:setup skill, every skill, /"(?:)"/ calls
Hooks
session.start, prompt.submit, turn.step, tool.call, turn.complete, session.end {sessionId=/"(?:)"/}, session.compact {trigger=/"(?:)"/}, skill.prompt {skill=jev-pilot:report}, agent.spawn, prompt.attachment {type=skill_listing}, prompt.submit {text=/"(?:)"/}, session.end, session.compact, skill.prompt {skill=jev-pilot:setup}, skill.prompt, session.start {cwd=/"(?:)"/}, session.end {reason=/"(?:)"/}, command.run {command=jev}, turn.start, turn.step {turnId=/"(?:)"/}, tool.call {tool=/"(?:)"/}, turn.complete {turnId=/"(?:)"/}, ui.render {component=AbovePrompt}
API calls
$.agent.list, $.agent.register, $.clock.after, $.clock.every, $.clock.now, $.clock.sleep, $.command.list, $.command.register, $.env.get, $.fs.exists, $.fs.list, $.fs.read, $.fs.write, $.http.fetch, $.model.classify, $.process.run, $.session.cwd, $.session.messages, $.store.delete, $.store.get, $.store.set, $.tool.list, $.ui.invalidate, $.ui.log, $.ui.resolve, $.ui.status
Validation on 2.1.287
Passed
Validator output
./jev-pilot.ts env writes: nothing; ./jev-pilot.ts env reads: ANTHROPIC_BASE_URL, CLAUDE_CODE_USE_BEDROCK, CLAUDE_CODE_USE_VERTEX, HOME, JEV_ANTHROPIC_UPSTREAM, JEV_ROUTER_URL
other: $.agent.register, other: $.tool.list, network, runs processes, writes files, drives Claude, reads files, reads env vars, reads the transcript, persists state, draws Repository stars 6
agent-flowCharlie0113-T/claude-agent-flow

The agent flow pane: /flow opens a live tree of the session's subagents and teammates beside the transcript, fed by engine events, with a text fallback where no pane can be drawn.

Access & validation details
Observed events
subagent spawns, every tool call, classic hooks
Hooks
session.start, ui.render {component=PromptHint}, ui.render {component=Pane}, command.run {command=?}, command.run {command=clear|resume}, ui.close, agent.spawn, tool.call, turn.start, turn.complete, classic.PermissionRequest, classic.Notification {notification_type=permission_prompt}
API calls
$.agent.list, $.clock.after, $.clock.every, $.clock.now, $.clock.sleep, $.command.register, $.store.get, $.store.set, $.ui.close, $.ui.invalidate, $.ui.log, $.ui.open, $.ui.resolve, $.ui.status
Validation on 2.1.287
Passed
persists state, draws Repository stars 6
autodev-coredjnsty23/claude-auto-dev

Autonomous development workflow: brainstorm, auto, iterate, audit, review, ship, plus the prd.json sprint system.

Access & validation details
Observed events
every prompt, Bash calls
Hooks
session.start, prompt.submit, tool.call {tool=Bash}, attribution.text {kind=commit}, turn.complete
API calls
$.fs.exists, $.fs.readFile, $.session.cwd, $.session.repo, $.ui.log, $.ui.status
Validation on 2.1.287
Passed
reads files, draws Repository stars 5
pixelbandfurqan-khan07/pixelband

Animated pixel art above your Claude Code prompt that reacts while Claude works: seven scenes, or your own image or GIF. Zero tokens.

Access & validation details
Observed events
Only what it hooks
Hooks
session.start, turn.start, turn.complete, ui.render {component=AbovePrompt}, ui.render {component=Pane, requestId=pixelband}, command.run {command=pixelband}
API calls
$.clock.after, $.clock.every, $.command.register, $.env.get, $.fs.list, $.fs.read, $.fs.stat, $.process.run, $.session.root, $.state.get, $.state.set, $.store.delete, $.store.get, $.store.set, $.ui.blit, $.ui.close, $.ui.invalidate, $.ui.open, $.ui.panes, $.ui.resolve
Validation on 2.1.287
Passed
Validator output
types ./types/index.d.ts declares on $: nothing (no EngineInterface member); types ./types/index.d.ts declares state: pixelband.frame; ./register.ts env writes: nothing; ./register.ts env reads: COLORTERM, HOME, TERM_PROGRAM, TMPDIR; ./register.ts state writes: pixelband.frame; ./register.ts state reads: pixelband.frame
other: $.state.get, other: $.state.set, runs processes, reads files, reads env vars, persists state, draws Repository stars 5
jev-contextHyunjunJeon/jev-context

Jev keeps the context window lean so compaction comes later: prunes tool output on entry, caps subagent reports, carries exact facts across compaction, compacts when the cache is cold.

Access & validation details
Observed events
Only what it hooks
Hooks
none
API calls
none recorded
Validation on 2.1.287
fails on 2.1.287
Validator output
modules../verbatim-compact.mjs: HyunjunJeon__jev-context: cannot import "../vendor/jev-pruner/dist/jev.js" (from hooks/verbatim-compact.mjs): no such file under /tmp/acm-clones/HyunjunJeon__jev-context
draws onlyfails on 2.1.287 Repository stars 5
honmoon-redactpleaseai/honmoon

Client-side secret/PII redaction hooks: keep API keys and sensitive identifiers out of Claude Code's model context by redacting Read/Bash/Grep tool output, blocking prompts that carry secrets, and denying reads of known credential files. Session-transcript scrubbing verified on Claude Code 2.1.263 (updatedToolOutput is what gets persisted); re-verify on other versions.

Access & validation details
Observed events
Read|Bash|Grep|WebFetch calls, every prompt
Hooks
tool.call {tool=Read|Bash|Grep|WebFetch}, prompt.submit
API calls
$.clock.sleep, $.http.fetch, $.process.run, $.session.cwd, $.session.id, $.ui.log
Validation on 2.1.287
Passed
network, runs processes, draws Repository stars 5
my-modtomada1114/tomada-claude-plugins

A band above the prompt. Replace with what your mod actually does.

Access & validation details
Observed events
Only what it hooks
Hooks
ui.render {component=AbovePrompt}
API calls
$.ui.resolve
Validation on 2.1.287
Passed
draws Repository stars 5
vellumbengous/claude-code-plugins

Plan at the frontiers and review the plan in the browser: decisions and interfaces before mechanics, vertical slices each closed by a check. /vellum:start opens a planning mode of its own: Claude writes the plan and its mockups and grills the reviewer on the open choices; the reviewer comments, edits or approves in a page, and the answer reaches Claude as a prompt.

Access & validation details
Observed events
the vellum:start skill, the vellum:stop skill, mcp__vellum__submit calls, mcp__vellum__state calls, mcp__vellum__grill_ask|mcp__vellum__propose|AskUserQuestion calls, every prompt
Hooks
session.start, skill.prompt {skill=vellum:start}, skill.prompt {skill=vellum:stop}, command.run {command=clear|resume}, ui.render {component=AbovePrompt}, tool.check, tool.call {tool=mcp__vellum__submit}, tool.call {tool=mcp__vellum__state}, tool.call {tool=mcp__vellum__grill_ask|mcp__vellum__propose|AskUserQuestion}, prompt.submit, turn.start, turn.complete
API calls
$.agent.list, $.agent.spawn, $.clock.after, $.clock.every, $.clock.now, $.env.get, $.env.set, $.fs.stat, $.http.fetch, $.process.spawn, $.prompt.submit, $.session.cwd, $.session.id, $.session.root, $.store.delete, $.store.get, $.store.set, $.tool.call, $.tool.register, $.ui.invalidate, $.ui.log, $.ui.resolve, $.ui.status
Validation on 2.1.287
Passed with warnings
Validator output
root: CLAUDE.md at the plugin root is not loaded as project context. To ship context with your plugin, use a skill (skills/<name>/SKILL.md) instead.; ../src/runtime/hooks/register.ts env writes: CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR; ../src/runtime/hooks/register.ts env reads: CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR
other: $.process.spawn, network, sets env vars, drives Claude, reads files, reads env vars, persists state, drawsValidator warnings Repository stars 4
ai-skillsBenjaminG/ai-skills

Benjamin's collection of Claude Code skills: daily workflow, code quality, dev tools, and specialist agents.

Access & validation details
Observed events
Only what it hooks
Hooks
session.start, command.run {command=prs}, ui.close {id=prs}, ui.render {component=Pane, requestId=prs}, command.run {command=wt}, ui.close {id=wt}, ui.render {component=Pane, requestId=wt}
API calls
$.clock.every, $.command.register, $.process.run, $.prompt.fill, $.tool.call, $.ui.close, $.ui.invalidate, $.ui.open, $.ui.resolve, $.ui.toast
Validation on 2.1.287
Passed with warnings
Validator output
root: CLAUDE.md at the plugin root is not loaded as project context. To ship context with your plugin, use a skill (skills/<name>/SKILL.md) instead.
runs processes, drives Claude, writes the prompt box, drawsValidator warnings Repository stars 4
cairnjmgirard/cairn

Milestone-driven development workflow and tracking system for Claude Code projects: a language-agnostic core with per-repo toolchain profiles (R, Python, Claude Code plugin, Docker image, or generic), plan/implement/review skills, hotfix and release paths, Fable review briefs, and a self-auditing cairn/ file system.

Access & validation details
Observed events
Only what it hooks
Hooks
session.start, turn.complete, ui.render {component=AbovePrompt}
API calls
$.fs.read, $.fs.stat, $.session.cwd, $.state.get, $.state.set, $.ui.resolve
Validation on 2.1.287
Passed with warnings
Validator output
types ./types/index.d.ts declares on $: nothing (no EngineInterface member); types ./types/index.d.ts declares state: cairn.band; root: CLAUDE.md at the plugin root is not loaded as project context. To ship context with your plugin, use a skill (skills/<name>/SKILL.md) instead.; ./status/register.tsx state writes: cairn.band; ./status/register.tsx state reads: cairn.band
other: $.state.get, other: $.state.set, reads files, drawsValidator warnings Repository stars 4
action-pinKilimcininKorOglu/claude-code-mods

After an edit that adds a GitHub Actions step pinned to a tag or a branch, names the commit SHA to write instead, from the GitHub API. Needs function hooks (early access).

Access & validation details
Observed events
every prompt, Bash calls, Edit calls, Write calls
Hooks
session.start, command.run {command=action-pin}, turn.complete, prompt.submit, tool.call {tool=Bash}, tool.call {tool=Edit}, tool.call {tool=Write}
API calls
$.command.register, $.fs.exists, $.fs.read, $.http.fetch, $.process.run, $.session.cwd, $.sidebar.clear, $.sidebar.set, $.store.get, $.store.set, $.ui.log
Validation on 2.1.287
Passed
other: $.sidebar.clear, other: $.sidebar.set, network, runs processes, reads files, persists state, draws Repository stars 4
ask-autopickKilimcininKorOglu/claude-code-mods

Picks the recommended option of a question that waited unanswered for a set time, so a session you left does not stop. Off until you turn it on. Needs function hooks (early access).

Access & validation details
Observed events
/"^AskUserQuestion$"/ calls
Hooks
session.start, command.run {command=ask-autopick}, tool.call {tool=/"^AskUserQuestion$"/}
API calls
$.clock.after, $.command.register, $.sidebar.set, $.store.get, $.store.set, $.ui.log
Validation on 2.1.287
Passed
other: $.sidebar.set, persists state, draws Repository stars 4
bash-dietKilimcininKorOglu/claude-code-mods

Shrinks each Bash result before the model reads it: per-command filters for git, test runners, linters, package managers, containers and file tools, the full output kept in a file. Needs function hooks (early access).

Access & validation details
Observed events
classic hooks, Bash calls, ? calls
Hooks
session.start, classic.SessionStart, command.run {command=bash-diet}, tool.call {tool=Bash}, tool.call {tool=?}
API calls
$.clock.now, $.command.register, $.env.get, $.fs.exists, $.fs.list, $.fs.read, $.fs.stat, $.fs.write, $.process.run, $.process.spawn, $.session.id, $.session.model, $.session.root, $.session.usage, $.sidebar.set, $.store.get, $.store.set, $.tool.check, $.ui.log, $.ui.status
Validation on 2.1.287
Passed
Validator output
./register.ts env writes: nothing; ./register.ts env reads: CLAUDE_CONFIG_DIR, HOME, TMPDIR
other: $.process.spawn, other: $.sidebar.set, other: $.tool.check, runs processes, writes files, reads files, reads env vars, persists state, draws Repository stars 4
bg-tasksKilimcininKorOglu/claude-code-mods

Shows the background shell tasks of the session on the status line or in the shared sidebar, with the oldest one's age, and stops one from the /bg-tasks pane. Needs function hooks (early access).

Access & validation details
Observed events
Bash calls, TaskStop calls, every prompt
Hooks
session.start, command.run {command=bg-tasks}, tool.call {tool=Bash}, tool.call {tool=TaskStop}, prompt.submit {origin has {kind=task-notification}, prompt.attachment {type=queued_command}, turn.complete, ui.render {component=Pane}
API calls
$.clock.every, $.clock.now, $.command.register, $.session.messages, $.sidebar.clear, $.sidebar.set, $.store.get, $.store.set, $.tool.call, $.ui.close, $.ui.invalidate, $.ui.open, $.ui.panes, $.ui.resolve, $.ui.status
Validation on 2.1.287
Passed
other: $.sidebar.clear, other: $.sidebar.set, drives Claude, reads the transcript, persists state, draws Repository stars 4
bughuntKilimcininKorOglu/claude-code-mods

Runs proof-driven bug hunt rounds with /bughunt: each round proves one bug with a failing command the mod runs itself, fixes it, and proves the fix, and the loop stops on a blocked or unverified round. /bughunt collab runs a read-only scanner, planner and critic in sequence. Needs function hooks (early access).

Access & validation details
Observed events
/"^mcp__bughunt__proof$"/ calls, /"^mcp__bughunt__found$"/ calls, /"^mcp__bughunt__collab$"/ calls, every prompt, the bughunt:hunt skill, Skill calls, Edit calls, Write calls, NotebookEdit calls, subagent spawns
Hooks
session.start, command.run {command=bughunt}, agent.offer {agent=/"^bughunt:(scanner|planner|critic)$"/}, tool.describe {tool=/"^mcp__bughunt__(proof|found|collab)$"/}, tool.call {tool=/"^mcp__bughunt__proof$"/}, tool.call {tool=/"^mcp__bughunt__found$"/}, tool.call {tool=/"^mcp__bughunt__collab$"/}, prompt.submit, skill.prompt {skill=bughunt:hunt}, tool.call {tool=Skill}, tool.call {tool=Edit}, tool.call {tool=Write}, tool.call {tool=NotebookEdit}, agent.spawn, turn.complete
API calls
$.agent.register, $.agent.spawn, $.clock.after, $.command.register, $.command.run, $.process.run, $.prompt.submit, $.sidebar.clear, $.sidebar.set, $.store.delete, $.store.get, $.store.set, $.tool.register, $.ui.log
Validation on 2.1.287
Passed
other: $.agent.register, other: $.sidebar.clear, other: $.sidebar.set, runs processes, drives Claude, persists state, draws Repository stars 4
cache-warmKilimcininKorOglu/claude-code-mods

Keeps the 1-hour prompt cache warm for a window you set, or with no end in every session under always, with one cache-shared fork per idle stretch and one keep-warm message after a resume, arms a window for you after a paid cold write, and shows the cache state, the cold price and this session's cold writes. Needs function hooks (early access).

Access & validation details
Observed events
classic hooks, every prompt, compaction
Hooks
session.start, classic.SessionStart, prompt.submit, command.run {command=cache-warm}, command.run {command=cache-status}, turn.step, turn.complete, session.compact
API calls
$.clock.after, $.clock.every, $.clock.now, $.command.register, $.command.run, $.env.get, $.fs.exists, $.fs.stat, $.model.fork, $.prompt.submit, $.session.id, $.session.model, $.session.root, $.session.usage, $.settings.read, $.sidebar.set, $.store.delete, $.store.get, $.store.keys, $.store.set, $.ui.log, $.ui.status
Validation on 2.1.287
Passed
Validator output
./register.ts env writes: nothing; ./register.ts env reads: CLAUDE_CONFIG_DIR, HOME
other: $.sidebar.set, drives Claude, reads files, reads env vars, reads settings, persists state, draws Repository stars 4
commit-cadenceKilimcininKorOglu/claude-code-mods

Names the uncommitted files to you at the end of each turn, and tells the model at the next prompt to commit each finished piece as it lands. Needs function hooks (early access).

Access & validation details
Observed events
every prompt
Hooks
session.start, command.run {command=commit-cadence}, turn.complete, prompt.submit
API calls
$.command.register, $.process.run, $.session.cwd, $.sidebar.clear, $.sidebar.set, $.store.delete, $.store.get, $.store.set, $.ui.log
Validation on 2.1.287
Passed
other: $.sidebar.clear, other: $.sidebar.set, runs processes, persists state, draws Repository stars 4
config-parseKilimcininKorOglu/claude-code-mods

Parses each JSON, YAML, TOML or .env file an Edit or Write touches, notes a parse error at once instead of at the next build, and says so again when a later edit fixes it. Needs function hooks (early access).

Access & validation details
Observed events
Edit calls, Write calls, every prompt, Bash calls
Hooks
session.start, command.run {command=config-parse}, tool.call {tool=Edit}, tool.call {tool=Write}, turn.complete, prompt.submit, tool.call {tool=Bash}
API calls
$.command.register, $.fs.exists, $.fs.read, $.process.run, $.session.cwd, $.sidebar.clear, $.sidebar.set, $.store.get, $.store.set, $.ui.log
Validation on 2.1.287
Passed
other: $.sidebar.clear, other: $.sidebar.set, runs processes, reads files, persists state, draws Repository stars 4
context-restoreKilimcininKorOglu/claude-code-mods

Hands a skill or command call the current text of its file when the file changed on disk after the session loaded it, and hands the model a rules file or the global CLAUDE.md that changed on disk. Needs function hooks (early access).

Access & validation details
Observed events
every skill, Read calls, every prompt
Hooks
session.start, command.run {command=context-restore}, skill.prompt, tool.call {tool=Read}, prompt.attachment {type=instructions}, prompt.submit
API calls
$.clock.now, $.command.register, $.env.get, $.fs.exists, $.fs.read, $.fs.stat, $.sidebar.set, $.store.get, $.store.set, $.ui.log
Validation on 2.1.287
Passed
Validator output
./register.ts env writes: nothing; ./register.ts env reads: CLAUDE_CONFIG_DIR, HOME
other: $.sidebar.set, reads files, reads env vars, persists state, draws Repository stars 4
contract-watchKilimcininKorOglu/claude-code-mods

After the model changes a function signature with Edit, adds the callers ripwire finds to the Edit's result, so the model fixes them before the build does. Needs function hooks (early access).

Access & validation details
Observed events
every prompt, Bash calls, Edit calls
Hooks
session.start, command.run {command=contract-watch}, turn.complete, prompt.submit, tool.call {tool=Bash}, tool.call {tool=Edit}
API calls
$.command.register, $.process.run, $.sidebar.clear, $.sidebar.set, $.store.get, $.store.set, $.ui.log
Validation on 2.1.287
Passed
other: $.sidebar.clear, other: $.sidebar.set, runs processes, persists state, draws Repository stars 4
councilKilimcininKorOglu/claude-code-mods

Asks a council of models about a hard problem, when the model calls its tool or you run /council <question>: Claude models, and Gemini models when gemini-core has a key, answer in parallel, and the model of the session writes one verdict from their answers. Needs function hooks (early access).

Access & validation details
Observed events
classic hooks, the system prompt, /"^mcp__council__convene$"/ calls
Hooks
session.start, turn.start, classic.SessionStart, command.run {command=council}, prompt.section {name=env_info_simple}, tool.describe {tool=/"^mcp__council__convene$"/}, tool.call {tool=/"^mcp__council__convene$"/}, turn.step
API calls
$.clock.after, $.clock.now, $.command.register, $.command.run, $.gemini.enroll, $.gemini.read, $.gemini.request, $.gemini.settings, $.http.fetch, $.model.complete, $.model.fork, $.prompt.submit, $.session.messages, $.sidebar.set, $.store.delete, $.store.get, $.store.set, $.tool.register, $.ui.log
Validation on 2.1.287
Passed
other: $.gemini.enroll, other: $.gemini.read, other: $.gemini.request, other: $.gemini.settings, other: $.sidebar.set, network, drives Claude, reads the transcript, persists state, draws Repository stars 4
dep-sentinelKilimcininKorOglu/claude-code-mods

Checks each package the model installs against its registry and OSV.dev, and stops a missing, brand-new, look-alike, outdated or vulnerable one, naming the latest version. Needs function hooks (early access).

Access & validation details
Observed events
every prompt, Bash calls
Hooks
session.start, command.run {command=dep-sentinel}, turn.complete, prompt.submit, tool.call {tool=Bash}
API calls
$.clock.now, $.command.register, $.http.fetch, $.process.run, $.sidebar.clear, $.sidebar.set, $.store.get, $.store.set, $.ui.log
Validation on 2.1.287
Passed
other: $.sidebar.clear, other: $.sidebar.set, network, runs processes, persists state, draws Repository stars 4
desk-notifyKilimcininKorOglu/claude-code-mods

Sends a desktop notification when a question or a plan waits for your answer, and when a turn ends or fails. Needs function hooks (early access).

Access & validation details
Observed events
/"^AskUserQuestion$"/ calls, /"^ExitPlanMode$"/ calls, classic hooks
Hooks
session.start, command.run {command=desk-notify}, tool.call {tool=/"^AskUserQuestion$"/}, tool.call {tool=/"^ExitPlanMode$"/}, classic.Stop, classic.StopFailure
API calls
$.command.register, $.env.get, $.process.run, $.session.cwd, $.store.get, $.store.set, $.ui.log
Validation on 2.1.287
Passed
Validator output
./register.ts env writes: nothing; ./register.ts env reads: OS
runs processes, reads env vars, persists state, draws Repository stars 4
diagram-renderKilimcininKorOglu/claude-code-mods

Renders the mermaid blocks of the model's replies with an installed mmdc after each turn and draws each picture under its reply. Needs function hooks (early access).

Access & validation details
Observed events
Only what it hooks
Hooks
session.start, command.run {command=diagram-render}, turn.complete, ui.render {component=AssistantMessage}
API calls
$.command.register, $.env.get, $.fs.read, $.fs.write, $.process.run, $.store.get, $.store.set, $.ui.invalidate, $.ui.log, $.ui.resolve
Validation on 2.1.287
Passed
Validator output
./register.tsx env writes: nothing; ./register.tsx env reads: TMPDIR
runs processes, writes files, reads files, reads env vars, persists state, draws Repository stars 4
disk-janitorKilimcininKorOglu/claude-code-mods

Measures the build artifacts of the repository, shows them on the status line from 5 GB, and deletes the ones you pick in the /disk-janitor pane; data directories are never listed. Needs function hooks (early access).

Access & validation details
Observed events
Only what it hooks
Hooks
session.start, turn.complete, command.run {command=disk-janitor}, ui.render {component=Pane}, ui.close
API calls
$.clock.every, $.clock.now, $.command.register, $.fs.exists, $.fs.list, $.fs.stat, $.process.run, $.session.cwd, $.sidebar.clear, $.sidebar.isOpen, $.sidebar.set, $.ui.close, $.ui.invalidate, $.ui.log, $.ui.open, $.ui.panes, $.ui.resolve, $.ui.status
Validation on 2.1.287
Passed
other: $.sidebar.clear, other: $.sidebar.isOpen, other: $.sidebar.set, runs processes, reads files, draws Repository stars 4
doc-drift-watchKilimcininKorOglu/claude-code-mods

After each commit the model makes, adds the doc lines that commit made stale (file:line references, symbol names) to the commit's result, from ripwire doc-drift, and holds each finding open until the doc holds again. Needs function hooks (early access).

Access & validation details
Observed events
Bash calls, every prompt
Hooks
session.start, command.run {command=doc-drift-watch}, tool.call {tool=Bash}, turn.complete, prompt.submit
API calls
$.command.register, $.fs.read, $.process.run, $.session.cwd, $.sidebar.clear, $.sidebar.set, $.store.get, $.store.set, $.ui.log
Validation on 2.1.287
Passed
other: $.sidebar.clear, other: $.sidebar.set, runs processes, reads files, persists state, draws Repository stars 4
edit-loopKilimcininKorOglu/claude-code-mods

Adds a note to the fifth edit of one file in one turn, so the model re-reads the code path and states the root cause instead of trying again. Needs function hooks (early access).

Access & validation details
Observed events
Edit calls, Write calls, NotebookEdit calls
Hooks
session.start, command.run {command=edit-loop}, turn.start, tool.call {tool=Edit}, tool.call {tool=Write}, tool.call {tool=NotebookEdit}
API calls
$.command.register, $.process.run, $.session.cwd, $.sidebar.set, $.store.get, $.store.set, $.ui.log
Validation on 2.1.287
Passed
other: $.sidebar.set, runs processes, persists state, draws Repository stars 4
effort-autoKilimcininKorOglu/claude-code-mods

Has a small model rate how hard each prompt is and runs that turn and its subagents at the matching effort, within the levels you allow, on the models whose prompt cache survives an effort change. Needs function hooks (early access).

Access & validation details
Observed events
every prompt, subagent spawns
Hooks
session.start, command.run {command=effort-auto}, prompt.submit, turn.step, agent.spawn, turn.complete
API calls
$.command.register, $.model.complete, $.sidebar.clear, $.sidebar.set, $.store.get, $.store.set, $.ui.log
Validation on 2.1.287
Passed
other: $.sidebar.clear, other: $.sidebar.set, drives Claude, persists state, draws Repository stars 4
env-syncKilimcininKorOglu/claude-code-mods

After each commit the model makes, names the env variables its added lines read that .env.example lacks, with the file and line of each. Needs function hooks (early access).

Access & validation details
Observed events
every prompt, Bash calls
Hooks
session.start, command.run {command=env-sync}, turn.complete, prompt.submit, tool.call {tool=Bash}
API calls
$.command.register, $.fs.exists, $.fs.read, $.process.run, $.session.cwd, $.sidebar.clear, $.sidebar.set, $.store.get, $.store.set, $.ui.log
Validation on 2.1.287
Passed
other: $.sidebar.clear, other: $.sidebar.set, runs processes, reads files, persists state, draws Repository stars 4
error-pokeKilimcininKorOglu/claude-code-mods

Sends one continue prompt after a turn an API error killed, so the half-done work carries on instead of the session going idle, at most 99 times in a row by default. Needs function hooks (early access).

Access & validation details
Observed events
every prompt
Hooks
session.start, command.run {command=error-poke}, prompt.submit, turn.complete
API calls
$.clock.after, $.clock.now, $.command.register, $.command.run, $.prompt.submit, $.session.messages, $.session.usage, $.sidebar.set, $.store.get, $.store.set, $.ui.log
Validation on 2.1.287
Passed
other: $.sidebar.set, drives Claude, reads the transcript, persists state, draws Repository stars 4
flaky-memoryKilimcininKorOglu/claude-code-mods

Remembers which tests failed on which code, and tells the model when a failing test has both passed and failed on the same code, so it runs the test again instead of changing code. Needs function hooks (early access).

Access & validation details
Observed events
Bash calls
Hooks
session.start, command.run {command=flaky-memory}, tool.call {tool=Bash}
API calls
$.clock.now, $.command.register, $.process.run, $.session.cwd, $.sidebar.clear, $.sidebar.set, $.store.delete, $.store.get, $.store.set, $.ui.log
Validation on 2.1.287
Passed
other: $.sidebar.clear, other: $.sidebar.set, runs processes, persists state, draws Repository stars 4
gemini-advisorKilimcininKorOglu/claude-code-mods

Gives the model a Gemini advisor tool it calls by itself: Gemini reads the whole conversation and the model's message and answers with a second opinion. Off until /gemini-advisor on; gemini-core holds the key, tier, model and thinking level. Needs function hooks (early access).

Access & validation details
Observed events
classic hooks, the system prompt, mcp__gemini-advisor__advise calls
Hooks
session.start, turn.start, classic.SessionStart, command.run {command=gemini-advisor}, prompt.section {name=env_info_simple}, tool.call {tool=mcp__gemini-advisor__advise}
API calls
$.clock.now, $.clock.sleep, $.command.register, $.gemini.enroll, $.gemini.read, $.gemini.request, $.gemini.settings, $.http.fetch, $.session.messages, $.store.delete, $.store.get, $.store.set, $.tool.register, $.ui.toast
Validation on 2.1.287
Passed
other: $.gemini.enroll, other: $.gemini.read, other: $.gemini.request, other: $.gemini.settings, network, drives Claude, reads the transcript, persists state, draws Repository stars 4
gemini-compactKilimcininKorOglu/claude-code-mods

Moves compaction from Claude to Gemini: in summary mode Gemini summarizes the conversation and the newest messages stay verbatim, in prune mode every message stays and Gemini keeps, cuts or drops older tool calls. Off until /gemini-compact on; gemini-core holds the key, tier, model and thinking level. Needs function hooks (early access).

Access & validation details
Observed events
compaction
Hooks
session.start, command.run {command=gemini-compact}, session.compact, turn.complete
API calls
$.clock.now, $.clock.sleep, $.command.register, $.gemini.enroll, $.gemini.read, $.gemini.request, $.gemini.settings, $.http.fetch, $.session.compact, $.session.usage, $.store.delete, $.store.get, $.store.set, $.ui.log, $.ui.toast
Validation on 2.1.287
Passed
other: $.gemini.enroll, other: $.gemini.read, other: $.gemini.request, other: $.gemini.settings, network, drives Claude, persists state, draws Repository stars 4
gemini-coreKilimcininKorOglu/claude-code-mods

Keeps the Gemini keys and tier of every Gemini mod, and each mod's model and thinking level, in one place: adds $.gemini, which builds their Gemini requests, reads the answers and moves to the next key after a quota or key error, and picks a model from Google's list. Needs function hooks (early access).

Access & validation details
Observed events
Only what it hooks
Hooks
engine.create, session.start, command.run {command=gemini-core}, ui.render {component=Pane}, ui.close
API calls
$.command.register, $.env.get, $.gemini.configure, $.gemini.settings, $.http.fetch, $.store.delete, $.store.get, $.store.set, $.ui.close, $.ui.open, $.ui.resolve, $.ui.toast
Validation on 2.1.287
Passed
Validator output
types ./types/index.d.ts declares on $: $.gemini; ./register.ts env writes: nothing; ./register.ts env reads: GEMINI_API_KEY
other: $.gemini.configure, other: $.gemini.settings, network, reads env vars, persists state, draws Repository stars 4
gemini-plan-reviewKilimcininKorOglu/claude-code-mods

Has Gemini review each plan before the approval dialog, from the plan and the conversation, and sends a plan with a blocking finding back to the model, at most twice. Off until /gemini-plan-review on; gemini-core holds the key, tier, model and thinking level. Needs function hooks (early access).

Access & validation details
Observed events
every prompt, ExitPlanMode calls
Hooks
session.start, command.run {command=gemini-plan-review}, prompt.submit, prompt.attachment {type=plan_mode}, tool.call {tool=ExitPlanMode}
API calls
$.clock.now, $.clock.sleep, $.command.register, $.fs.read, $.gemini.enroll, $.gemini.read, $.gemini.request, $.gemini.settings, $.http.fetch, $.session.messages, $.store.delete, $.store.get, $.store.set, $.ui.log, $.ui.toast
Validation on 2.1.287
Passed
other: $.gemini.enroll, other: $.gemini.read, other: $.gemini.request, other: $.gemini.settings, network, reads files, reads the transcript, persists state, draws Repository stars 4
gemini-reviewKilimcininKorOglu/claude-code-mods

Has Gemini review every git commit the model runs, from the staged diff and the conversation, and stops a commit with a blocking finding: a bug, data loss, a security hole or a committed secret. Off until /gemini-review on; gemini-core holds the key, tier, model and thinking level. Needs function hooks (early access).

Access & validation details
Observed events
Bash calls
Hooks
session.start, command.run {command=gemini-review}, tool.call {tool=Bash}
API calls
$.clock.now, $.clock.sleep, $.command.register, $.gemini.enroll, $.gemini.read, $.gemini.request, $.gemini.settings, $.http.fetch, $.process.run, $.session.cwd, $.session.messages, $.store.delete, $.store.get, $.store.set, $.ui.log, $.ui.toast
Validation on 2.1.287
Passed
other: $.gemini.enroll, other: $.gemini.read, other: $.gemini.request, other: $.gemini.settings, network, runs processes, reads the transcript, persists state, draws Repository stars 4
git-commitKilimcininKorOglu/claude-code-mods

Ships a commit skill and holds every Bash git commit to it: a commit the skill did not open, a blanket git add, a signature trailer, a secret, an ignored path, or a push or branch change nobody asked for is stopped before git runs. Needs function hooks (early access).

Access & validation details
Observed events
every prompt, Skill calls, the git-commit:commit skill, Bash calls
Hooks
session.start, command.run {command=git-commit}, turn.start, prompt.submit, tool.call {tool=Skill}, skill.prompt {skill=git-commit:commit}, attribution.text {kind=commit}, tool.call {tool=Bash}, turn.complete
API calls
$.command.register, $.fs.exists, $.fs.read, $.fs.stat, $.process.run, $.session.cwd, $.sidebar.set, $.store.get, $.store.set, $.ui.log
Validation on 2.1.287
Passed
other: $.sidebar.set, runs processes, reads files, persists state, draws Repository stars 4
i18n-watchKilimcininKorOglu/claude-code-mods

After an edit that calls translation keys, names the keys the JSON, Laravel PHP, YAML or gettext locale files lack, and the languages that lack them. Needs function hooks (early access).

Access & validation details
Observed events
Bash calls, every prompt, Edit calls, Write calls
Hooks
session.start, command.run {command=i18n-watch}, turn.start, tool.call {tool=Bash}, turn.complete, prompt.submit, tool.call {tool=Edit}, tool.call {tool=Write}
API calls
$.command.register, $.fs.exists, $.fs.list, $.fs.read, $.fs.stat, $.process.run, $.session.cwd, $.sidebar.clear, $.sidebar.set, $.store.get, $.store.set, $.ui.log
Validation on 2.1.287
Passed
other: $.sidebar.clear, other: $.sidebar.set, runs processes, reads files, persists state, draws Repository stars 4
idle-artKilimcininKorOglu/claude-code-mods

Draws an ASCII animation above the prompt while the model works: matrix rain, fire, an aquarium, a cat, or a GIF of your own imported as a character clip for every project. Display only: nothing reaches the model. Needs function hooks (early access).

Access & validation details
Observed events
Only what it hooks
Hooks
session.start, ui.render {component=AbovePrompt}, ui.message, turn.start, turn.complete, command.run {command=idle-art}
API calls
$.clock.after, $.clock.every, $.clock.now, $.command.register, $.env.get, $.fs.exists, $.fs.read, $.fs.stat, $.process.spawn, $.session.cwd, $.store.delete, $.store.get, $.store.set, $.ui.invalidate, $.ui.log, $.ui.resolve
Surface modules
hooks/scene.tsx
Validation on 2.1.287
Passed
Validator output
./register.tsx env writes: nothing; ./register.tsx env reads: HOME
other: $.process.spawn, reads files, reads env vars, persists state, draws Repository stars 4
limit-watchKilimcininKorOglu/claude-code-mods

Shows the subscription usage limits under the prompt or in the shared sidebar with a reset countdown and a projection, opens a /limit-watch pane, and logs once when a limit passes 80% and 95%. Needs function hooks (early access).

Access & validation details
Observed events
Only what it hooks
Hooks
session.start, turn.complete, command.run {command=limit-watch}, ui.render {component=Pane}
API calls
$.clock.every, $.clock.now, $.command.register, $.session.usage, $.sidebar.set, $.store.get, $.store.set, $.ui.close, $.ui.invalidate, $.ui.log, $.ui.open, $.ui.panes, $.ui.resolve, $.ui.status
Validation on 2.1.287
Passed
other: $.sidebar.set, persists state, draws Repository stars 4
lockfile-syncKilimcininKorOglu/claude-code-mods

After each commit the model makes, names the manifests whose dependencies it changed without their lockfile (npm, Composer, Cargo, Go, Python, Bundler, Dart, Mix). Needs function hooks (early access).

Access & validation details
Observed events
every prompt, Bash calls
Hooks
session.start, command.run {command=lockfile-sync}, turn.complete, prompt.submit, tool.call {tool=Bash}
API calls
$.command.register, $.env.get, $.fs.exists, $.fs.read, $.process.run, $.session.cwd, $.sidebar.clear, $.sidebar.set, $.store.get, $.store.set, $.ui.log
Validation on 2.1.287
Passed
Validator output
./register.ts env writes: nothing; ./register.ts env reads: TMPDIR
other: $.sidebar.clear, other: $.sidebar.set, runs processes, reads files, reads env vars, persists state, draws Repository stars 4
mcp-doctorKilimcininKorOglu/claude-code-mods

Tells you when an MCP server failed to connect or dropped, with the engine's reason and a reconnect button, and when it is back; claude.ai connectors are left out. Needs function hooks (early access).

Access & validation details
Observed events
Only what it hooks
Hooks
session.start, command.run {command=mcp-doctor}, turn.complete, prompt.attachment {type=deferred_tools_delta}
API calls
$.clock.after, $.command.register, $.command.run, $.sidebar.clear, $.sidebar.set, $.store.get, $.store.set, $.tool.call, $.ui.log
Validation on 2.1.287
Passed
other: $.sidebar.clear, other: $.sidebar.set, drives Claude, persists state, draws Repository stars 4
memory-saveKilimcininKorOglu/claude-code-mods

Loads MEMORY.md into the session and saves project learnings to it after every turn through a tool-less fork in the background, without blocking the stop. Needs function hooks (early access).

Access & validation details
Observed events
classic hooks, every prompt, every tool call
Hooks
session.start, classic.SessionStart, prompt.submit, tool.call, turn.complete
API calls
$.clock.now, $.env.get, $.fs.exists, $.fs.list, $.fs.read, $.fs.write, $.model.fork, $.process.run, $.sidebar.clear, $.sidebar.set, $.ui.log, $.ui.status
Validation on 2.1.287
Passed
Validator output
./register.ts env writes: nothing; ./register.ts env reads: HOME
other: $.sidebar.clear, other: $.sidebar.set, runs processes, writes files, drives Claude, reads files, reads env vars, draws Repository stars 4
mod-doctorKilimcininKorOglu/claude-code-mods

Names each installed plugin, of every marketplace, whose local clone already offers a newer version, with the claude plugin update command that closes the gap. Needs function hooks (early access).

Access & validation details
Observed events
Only what it hooks
Hooks
session.start, command.run {command=mod-doctor}, turn.complete
API calls
$.clock.every, $.command.register, $.env.get, $.fs.read, $.sidebar.clear, $.sidebar.set, $.store.get, $.store.set, $.ui.log
Validation on 2.1.287
Passed
Validator output
./register.ts env writes: nothing; ./register.ts env reads: CLAUDE_CONFIG_DIR, HOME
other: $.sidebar.clear, other: $.sidebar.set, reads files, reads env vars, persists state, draws Repository stars 4
orphan-serverKilimcininKorOglu/claude-code-mods

Lists the servers a Bash call of the model started in this repository and left listening on a port, with their age and session, and stops one with SIGTERM, then SIGKILL. Needs function hooks (early access).

Access & validation details
Observed events
Only what it hooks
Hooks
session.start, command.run {command=orphan-server}, turn.complete
API calls
$.clock.after, $.clock.every, $.clock.now, $.command.register, $.env.get, $.process.run, $.session.id, $.sidebar.clear, $.sidebar.set, $.store.get, $.store.set, $.ui.log
Validation on 2.1.287
Passed
Validator output
./register.ts env writes: nothing; ./register.ts env reads: CLAUDE_CONFIG_DIR, HOME
other: $.sidebar.clear, other: $.sidebar.set, runs processes, reads env vars, persists state, draws Repository stars 4
output-floodKilimcininKorOglu/claude-code-mods

Measures how much context each Bash command spent and tells the model, past a size limit, which narrower command would have answered the same question. Needs function hooks (early access).

Access & validation details
Observed events
classic hooks
Hooks
session.start, command.run {command=output-flood}, classic.PostToolBatch
API calls
$.command.register, $.sidebar.set, $.store.get, $.store.set, $.ui.log
Validation on 2.1.287
Passed
other: $.sidebar.set, persists state, draws Repository stars 4
pin-noteKilimcininKorOglu/claude-code-mods

Keeps the notes you pin with /pin-note for the whole session and sends them to the model again, word for word, after each compaction and /clear. Off until /pin-note on. Needs function hooks (early access).

Access & validation details
Observed events
classic hooks
Hooks
session.start, command.run {command=pin-note}, classic.SessionStart
API calls
$.command.register, $.session.id, $.store.get, $.store.set, $.ui.log
Validation on 2.1.287
Passed
persists state, draws Repository stars 4
probe-runnerKilimcininKorOglu/claude-code-mods

For mod development: runs a live check of plugins in a fresh Claude Code session in tmux, types the steps one by one, collects the pane and the transcript, then deletes the temp directory, its transcripts and the inline store files. Needs function hooks (early access).

Access & validation details
Observed events
/"^mcp__probe-runner__probe$"/ calls
Hooks
session.start, tool.describe {tool=/"^mcp__probe-runner__probe$"/}, tool.call {tool=/"^mcp__probe-runner__probe$"/}, command.run {command=probe-runner}
API calls
$.clock.after, $.command.register, $.command.run, $.env.get, $.fs.exists, $.process.run, $.prompt.submit, $.session.cwd, $.session.repo, $.tool.register, $.ui.log
Validation on 2.1.287
Passed
Validator output
./register.ts env writes: nothing; ./register.ts env reads: HOME
runs processes, drives Claude, reads files, reads env vars, draws Repository stars 4
prompt-deckKilimcininKorOglu/claude-code-mods

Learns the short prompts you send often in this project and draws them, with the ones you pin by hand, above the prompt; with the prompt box empty, a digit key sends one at once. Needs function hooks (early access).

Access & validation details
Observed events
every prompt
Hooks
session.start, command.run {command=prompt-deck}, prompt.submit, ui.render {component=AbovePrompt}
API calls
$.clock.after, $.clock.now, $.command.register, $.command.run, $.process.run, $.prompt.submit, $.session.cwd, $.store.delete, $.store.get, $.store.set, $.ui.invalidate, $.ui.log, $.ui.resolve
Validation on 2.1.287
Passed
runs processes, drives Claude, persists state, draws Repository stars 4
prompt-offloadKilimcininKorOglu/claude-code-mods

Writes a prompt longer than the limit (2000 characters by default) to a temp file and sends the model its first 200 characters with the path, so one paste does not fill the context. Needs function hooks (early access).

Access & validation details
Observed events
every prompt
Hooks
session.start, command.run {command=prompt-offload}, prompt.submit
API calls
$.clock.now, $.command.register, $.env.get, $.fs.write, $.process.run, $.store.get, $.store.set, $.ui.log
Validation on 2.1.287
Passed
Validator output
./register.ts env writes: nothing; ./register.ts env reads: TMPDIR
runs processes, writes files, reads env vars, persists state, draws Repository stars 4
prompt-timeKilimcininKorOglu/claude-code-mods

Draws the time under each of your messages and each text block of the model's replies, also for a resumed session whose transcript is 4 MiB or smaller. Display only: nothing reaches the model. Needs function hooks (early access).

Access & validation details
Observed events
classic hooks, every prompt
Hooks
classic.SessionStart, prompt.submit, turn.start, turn.complete, ui.render {component=UserMessage}, ui.render {component=AssistantMessage}
API calls
$.clock.now, $.fs.exists, $.fs.read, $.fs.stat, $.ui.invalidate, $.ui.log, $.ui.resolve
Validation on 2.1.287
Passed
reads files, draws Repository stars 4
sage-memoryKilimcininKorOglu/claude-code-mods

Keeps project and global memories in SQLite through a shared local daemon, hands the model the entries that match its file tool calls, prompts and subagent tasks, and saves new ones with a haiku consolidator after each main-loop turn. Needs function hooks (early access).

Access & validation details
Observed events
/"^mcp__sage-memory__"/ calls, the system prompt, classic hooks, compaction, /"^(Read|Grep|Glob|LSP|Edit|Write|NotebookEdit|MultiEdit|mcp__(?!sage-memory__).+)$"/ calls, every prompt, subagent spawns, /"^(Edit|Write|NotebookEdit|MultiEdit)$"/ calls, Bash calls
Hooks
session.start, tool.describe {tool=/"^mcp__sage-memory__"/}, tool.check {tool=/"^mcp__sage-memory__"/}, tool.call {tool=/"^mcp__sage-memory__"/}, prompt.section {name=env_info_simple}, classic.SessionStart, session.compact, prompt.context, prompt.attachment, classic.PostToolBatch, tool.call {tool=/"^(Read|Grep|Glob|LSP|Edit|Write|NotebookEdit|MultiEdit|mcp__(?!sage-memory__).+)$"/}, prompt.submit, agent.spawn, turn.complete, tool.call {tool=/"^(Edit|Write|NotebookEdit|MultiEdit)$"/}, tool.call {tool=Bash}, session.end, command.run {command=sage-memory}, ui.render {component=Pane}, ui.close, turn.start
API calls
$.clock.after, $.clock.every, $.clock.now, $.command.register, $.env.get, $.fs.read, $.http.fetch, $.model.complete, $.process.run, $.session.cwd, $.session.id, $.session.usage, $.sidebar.set, $.store.get, $.store.set, $.tool.call, $.tool.register
Validation on 2.1.287
Passed
Validator output
./register.tsx env writes: nothing; ./register.tsx env reads: CLAUDE_CONFIG_DIR, HOME
other: $.sidebar.set, network, runs processes, drives Claude, reads files, reads env vars, persists state Repository stars 4
self-commandKilimcininKorOglu/claude-code-mods

For mod development: lets the model run a slash command in its own session, such as /reload-plugins after a plugin update, and read the output as the next prompt. Needs function hooks (early access).

Access & validation details
Observed events
/"^mcp__self-command__run$"/ calls
Hooks
session.start, tool.describe {tool=/"^mcp__self-command__run$"/}, tool.call {tool=/"^mcp__self-command__run$"/}
API calls
$.clock.after, $.command.list, $.command.run, $.prompt.submit, $.tool.register, $.ui.log
Validation on 2.1.287
Passed
drives Claude, draws Repository stars 4
session-watchKilimcininKorOglu/claude-code-mods

Shows this session's state in the sidebar: context fill, token totals, cost, model and effort, the Claude Code version, the other sessions of this machine, and the git branch and status. Needs function hooks (early access).

Access & validation details
Observed events
compaction, Bash calls
Hooks
session.start, turn.step, turn.complete, model.fork, model.complete, session.compact, tool.call {tool=Bash}, command.run {command=session-watch}
API calls
$.clock.after, $.clock.every, $.command.register, $.env.get, $.fs.exists, $.fs.list, $.fs.read, $.fs.stat, $.process.run, $.process.spawn, $.session.id, $.session.model, $.session.root, $.session.usage, $.session.version, $.settings.read, $.sidebar.set, $.store.delete, $.store.get, $.store.set, $.ui.log, $.ui.status
Validation on 2.1.287
Passed
Validator output
./register.ts env writes: nothing; ./register.ts env reads: CLAUDE_CODE_EFFORT_LEVEL, CLAUDE_CONFIG_DIR, HOME
other: $.process.spawn, other: $.sidebar.set, runs processes, reads files, reads env vars, reads settings, persists state, draws Repository stars 4
shot-inlineKilimcininKorOglu/claude-code-mods

Draws each PNG or JPG the model saves or reads under its tool row: pixels in kitty and Ghostty, quadrant block cells in every other terminal. Needs function hooks (early access).

Access & validation details
Observed events
Read calls, Bash calls, /"^mcp__(plugin_playwright_)?playwright__browser_take_screenshot$"/ calls
Hooks
session.start, command.run {command=shot-inline}, tool.call {tool=Read}, tool.call {tool=Bash}, tool.call {tool=/"^mcp__(plugin_playwright_)?playwright__browser_take_screenshot$"/}, ui.render {component=ToolUse}
API calls
$.command.register, $.env.get, $.fs.exists, $.fs.read, $.fs.stat, $.process.run, $.session.cwd, $.store.get, $.store.set, $.ui.invalidate, $.ui.log, $.ui.resolve
Validation on 2.1.287
Passed
Validator output
./register.tsx env writes: nothing; ./register.tsx env reads: KITTY_WINDOW_ID, TERM, TERM_PROGRAM, TMPDIR
runs processes, reads files, reads env vars, persists state, draws Repository stars 4
sidebarKilimcininKorOglu/claude-code-mods

Opens one shared pane beside the transcript and draws the sections, lines and buttons every other mod writes into it through $.sidebar; each stream entry is stamped with its time and kept in a per-project log the next session takes back. Needs function hooks (early access).

Access & validation details
Observed events
/"^mcp__sidebar__read$"/ calls
Hooks
engine.create, session.start, tool.describe {tool=/"^mcp__sidebar__read$"/}, tool.call {tool=/"^mcp__sidebar__read$"/}, command.run {command=sidebar}, ui.render {component=Pane}, ui.close, turn.start, turn.complete
API calls
$.clock.now, $.command.list, $.command.register, $.command.run, $.env.get, $.fs.exists, $.fs.list, $.fs.read, $.fs.write, $.session.cwd, $.settings.read, $.store.get, $.store.set, $.tool.register, $.ui.close, $.ui.invalidate, $.ui.open, $.ui.panes, $.ui.resolve
Validation on 2.1.287
Passed
Validator output
types ./types/index.d.ts declares on $: $.sidebar; ./register.tsx env writes: nothing; ./register.tsx env reads: HOME
writes files, drives Claude, reads files, reads env vars, reads settings, persists state, draws Repository stars 4
slash-chainKilimcininKorOglu/claude-code-mods

Runs slash commands joined with && one after another, waits for each command's turn, pane or dialog to end, and stops the chain at a command that failed or a turn that ended without an answer. Needs function hooks (early access).

Access & validation details
Observed events
mcp__slash-chain__fail calls, every skill, every prompt
Hooks
session.start, tool.describe {tool=mcp__slash-chain__fail}, tool.call {tool=mcp__slash-chain__fail}, command.run {command=slash-chain}, command.run {args=/"(?:^|\\s)&&\\s*\\/[A-Za-z0-9_:.-]+(?}, skill.prompt, ui.open, ui.close, turn.complete, prompt.submit
API calls
$.clock.after, $.command.register, $.command.run, $.store.get, $.store.set, $.tool.register, $.ui.log
Validation on 2.1.287
Passed
drives Claude, persists state, draws Repository stars 4
sql-concat-watchKilimcininKorOglu/claude-code-mods

After an edit that builds SQL by joining or interpolating strings, names each line, so the model passes the values as query parameters. Needs function hooks (early access).

Access & validation details
Observed events
every prompt, Bash calls, Edit calls, Write calls
Hooks
session.start, command.run {command=sql-concat-watch}, turn.complete, prompt.submit, tool.call {tool=Bash}, tool.call {tool=Edit}, tool.call {tool=Write}
API calls
$.command.register, $.fs.exists, $.fs.read, $.process.run, $.session.cwd, $.sidebar.clear, $.sidebar.set, $.store.get, $.store.set, $.ui.log
Validation on 2.1.287
Passed
other: $.sidebar.clear, other: $.sidebar.set, runs processes, reads files, persists state, draws Repository stars 4
storage-guardKilimcininKorOglu/claude-code-mods

After an edit that keeps browser data in localStorage or sessionStorage, names each line, so the model stores the data in a cookie instead. Needs function hooks (early access).

Access & validation details
Observed events
every prompt, Bash calls, Edit calls, Write calls
Hooks
session.start, command.run {command=storage-guard}, turn.complete, prompt.submit, tool.call {tool=Bash}, tool.call {tool=Edit}, tool.call {tool=Write}
API calls
$.command.register, $.fs.exists, $.fs.read, $.process.run, $.session.cwd, $.sidebar.clear, $.sidebar.set, $.store.get, $.store.set, $.ui.log
Validation on 2.1.287
Passed
other: $.sidebar.clear, other: $.sidebar.set, runs processes, reads files, persists state, draws Repository stars 4
subagent-ledgerKilimcininKorOglu/claude-code-mods

Shows each subagent of the session with its turns, time, model and tokens, the costliest first, yellow while it runs and green once it answered, and marks one that passed the token limit. Needs function hooks (early access).

Access & validation details
Observed events
subagent spawns
Hooks
session.start, command.run {command=subagent-ledger}, agent.spawn, turn.step, turn.complete
API calls
$.command.register, $.sidebar.clear, $.sidebar.set, $.store.get, $.store.set, $.ui.status
Validation on 2.1.287
Passed
other: $.sidebar.clear, other: $.sidebar.set, persists state, draws Repository stars 4
task-pokeKilimcininKorOglu/claude-code-mods

Submits a continue prompt while the task list has unfinished tasks, at most 99 times in a row by default, and turns the task tools on for every model unless CLAUDE_CODE_ENABLE_TODO_TOOLS is set. Needs function hooks (early access).

Access & validation details
Observed events
every prompt, classic hooks
Hooks
session.start, command.run {command=task-poke}, prompt.submit, classic.Stop, turn.complete
API calls
$.clock.after, $.command.register, $.command.run, $.env.get, $.env.set, $.prompt.submit, $.session.messages, $.sidebar.clear, $.sidebar.set, $.store.get, $.store.set, $.tool.call, $.ui.log
Validation on 2.1.287
Passed
Validator output
./register.ts env writes: CLAUDE_CODE_ENABLE_TODO_TOOLS; ./register.ts env reads: CLAUDE_CODE_ENABLE_TODO_TOOLS
other: $.sidebar.clear, other: $.sidebar.set, sets env vars, drives Claude, reads env vars, reads the transcript, persists state, draws Repository stars 4
tool-coachKilimcininKorOglu/claude-code-mods

Stops the model from repeating a tool call that just failed with the same input, until a file or command has changed something. Needs function hooks (early access).

Access & validation details
Observed events
every tool call
Hooks
session.start, command.run {command=tool-coach}, turn.start, tool.call
API calls
$.command.register, $.sidebar.set, $.store.get, $.store.set, $.ui.log
Validation on 2.1.287
Passed
other: $.sidebar.set, persists state, draws Repository stars 4
ua-fallbackKilimcininKorOglu/claude-code-mods

After a curl or wget an automated-client filter answered 403 or 429, gives the model the browser User-Agent to retry with, and the two cases where it must not. Needs function hooks (early access).

Access & validation details
Observed events
Bash calls
Hooks
session.start, command.run {command=ua-fallback}, tool.call {tool=Bash}
API calls
$.command.register, $.sidebar.set, $.store.get, $.store.set, $.ui.log
Validation on 2.1.287
Passed
other: $.sidebar.set, persists state, draws Repository stars 4
katharsisOpenScribbler/Katharsis

An output style that classifies each message by exchange type and shapes the reply to fit it: the answer first, a ceiling per type, reference codes that survive the session, and decisions handed back as questions

Access & validation details
Observed events
every prompt, classic hooks
Hooks
prompt.submit, classic.Stop, turn.complete, ui.focus {requestId=kdrawer}, ui.close, session.start, session.end, command.run {command=kdrawer}, ui.render {component=AbovePrompt}, ui.render {component=Pane, requestId=kdrawer}, ui.render {component=AssistantMessage}
API calls
$.clock.after, $.command.register, $.env.get, $.fs.exists, $.fs.list, $.fs.read, $.fs.write, $.model.fork, $.process.run, $.session.cwd, $.session.id, $.session.model, $.session.turns, $.settings.read, $.ui.invalidate, $.ui.open, $.ui.resolve
Validation on 2.1.287
Passed
Validator output
./register.ts env writes: nothing; ./register.ts env reads: CLAUDE_CONFIG_DIR, HOME, KATHARSIS_DATA
runs processes, writes files, drives Claude, reads files, reads env vars, reads settings, draws Repository stars 4
ultrapowerspopmechanic/ultrapowers

The client for ultrapowers: /ultrapowers <plan-path> commits an approved plan and runs on an exe.dev fleet you provision: a disposable sandbox runs the plan as a pool of tasks, a pool of builders, the plan's own probes and checks as the proof, and opens its own PR. No local engine.

Access & validation details
Observed events
mcp__ultrapowers__show_screen calls
Hooks
session.start, command.run {command=tray}, command.run {command=note}, tool.call {tool=mcp__ultrapowers__show_screen}, ui.render {component=Pane, requestId=intent-tray}, ui.render {component=AbovePrompt}
API calls
$.clock.every, $.command.register, $.fs.read, $.prompt.submit, $.store.get, $.store.set, $.tool.register, $.ui.invalidate, $.ui.open, $.ui.resolve
Validation on 2.1.287
Passed with warnings
Validator output
root: CLAUDE.md at the plugin root is not loaded as project context. To ship context with your plugin, use a skill (skills/<name>/SKILL.md) instead.
drives Claude, reads files, persists state, drawsValidator warnings Repository stars 4
jev-routersatviksinha/jev-model-router

Routes each turn to a Claude model chosen by TypeSafe's Jev, asked through the Vercel AI Gateway.

Access & validation details
Observed events
Only what it hooks
Hooks
session.start, command.run {command=jev}, turn.start, turn.step, ui.render {component=SessionMode}
API calls
$.agent.list, $.clock.sleep, $.command.register, $.env.get, $.http.fetch, $.session.surface
Validation on 2.1.287
Passed
Validator output
./register.ts env writes: nothing; ./register.ts env reads: AI_GATEWAY_API_KEY, JEV_ROUTER_EXCLUDE, JEV_ROUTER_PROVIDER, JEV_ROUTER_STICKY, JEV_ROUTER_STICKY_CONFIDENCE, JEV_ROUTER_TIMEOUT_MS, TYPESAFE_API_KEY, TYPESAFE_BASE_URL
network, reads env vars Repository stars 4
jevsavinofiore/lexi

Three-level decision layer on TypeSafe's Jev: picks model and effort per session and per subagent, compacts context without rewriting it, and gates code review with calibrated closed questions. Pairs with lexi: the review runs after the last GREEN.

Access & validation details
Observed events
every prompt, subagent spawns, compaction
Hooks
session.start, session.end, prompt.submit, turn.step, agent.spawn, session.compact
API calls
$.clock.after, $.clock.now, $.clock.sleep, $.env.get, $.http.fetch, $.ui.log, $.ui.status, $.ui.toast
Validation on 2.1.287
Passed
Validator output
./index.ts env writes: nothing; ./index.ts env reads: TYPESAFE_API_KEY
network, reads env vars, draws Repository stars 4
idle-compactukwhatn/.claude

Compacts the main conversation once it has sat idle for idleMinutes, while the prompt cache is still warm, and hands every compaction of the main conversation (manual, auto, plugin, precompute) the Compact Instructions section of the user's AGENTS.md. Skips while a turn runs, below minMessageTokens of conversation, and past cutoffMinutes (a wake from sleep, when the cache has likely expired), saying which in the transcript; a reload of the plugin keeps the pending idle stretch.

Access & validation details
Observed events
compaction
Hooks
session.start, turn.start, turn.complete, session.compact
API calls
$.clock.after, $.clock.now, $.env.get, $.fs.read, $.session.compact, $.session.usage, $.state.get, $.state.set, $.ui.log
Validation on 2.1.287
Passed
Validator output
types ./contract.d.ts declares on $: nothing (no EngineInterface member); types ./contract.d.ts declares state: idle-compact.lastAnswer; ./register.ts env writes: nothing; ./register.ts env reads: CLAUDE_CONFIG_DIR, HOME; ./register.ts state writes: idle-compact.lastAnswer; ./register.ts state reads: idle-compact.lastAnswer
other: $.state.get, other: $.state.set, drives Claude, reads files, reads env vars, draws Repository stars 4
straw-bosswayne930242/straw-boss

Route work through the smallest sufficient loop: handle bounded tasks directly, fan out clear branches, or coordinate durable app-rooted Claude and Codex workrooms with provider-neutral status and git lifecycle tracking.

Access & validation details
Observed events
compaction
Hooks
session.start, session.compact, turn.complete
API calls
$.env.get, $.env.set, $.http.fetch, $.process.run, $.session.id, $.session.model, $.session.usage, $.ui.log
Validation on 2.1.287
Passed with warnings
Validator output
root: CLAUDE.md at the plugin root is not loaded as project context. To ship context with your plugin, use a skill (skills/<name>/SKILL.md) instead.; ./jev-pruning.ts env writes: STRAW_BOSS_JEV_READY_SESSION, STRAW_BOSS_JEV_WAITING_USAGE; ./jev-pruning.ts env reads: STRAW_BOSS_JEV, TYPESAFE_API_KEY
network, runs processes, sets env vars, reads env vars, drawsValidator warnings Repository stars 4
specialistsxtrm-dev/specialists

Specialists execution runtime in Claude Code: specialist activation and dispatch over MCP, session continuity hooks, and the supervising-activations skill. Consumes the Substrate work authority; it is not Substrate.

Access & validation details
Observed events
Only what it hooks
Hooks
session.start, command.run {command=specialists}, ui.render {component=AbovePrompt}, ui.render {component=Pane}, ui.close {id=specialists-fleet}
API calls
$.clock.every, $.command.register, $.mcp.call, $.ui.close, $.ui.invalidate, $.ui.open, $.ui.resolve
Validation on 2.1.287
Passed
MCP servers, draws Repository stars 4
budget-guardArunjay4213/claude-mods

Stops a session before it runs past a budget. Three figures are guarded, each with a limit you set: the session cost in dollars, the 5-hour plan window and the 7-day plan window. It says nothing until a figure nears its limit, then pins a status line and warns once; past the limit it refuses tool calls and asks before sending another prompt. /guard shows the state and changes the limits.

Access & validation details
Observed events
every tool call, every prompt
Hooks
session.start, turn.complete, tool.call, turn.start, prompt.submit, command.run {command=guard}
API calls
$.clock.after, $.command.register, $.config.set, $.session.usage, $.store.get, $.store.set, $.turn.abort, $.ui.ask, $.ui.status, $.ui.toast
Validation on 2.1.287
Passed
changes config, drives Claude, persists state, draws Repository stars 3
context-lensArunjay4213/claude-mods

A live /context: a pinned line under the prompt with the window fill and the growth per turn, and /context-lens for a pane with the per-category bars and how many turns are left before auto-compaction.

Access & validation details
Observed events
compaction
Hooks
session.start, turn.complete, session.compact, command.run {command=clear}, command.run {command=context-lens}, ui.close {id=context-lens}, ui.render {component=Pane}
API calls
$.command.register, $.session.usage, $.ui.close, $.ui.invalidate, $.ui.log, $.ui.open, $.ui.resolve, $.ui.status
Validation on 2.1.287
Passed
draws Repository stars 3
quota-meterArunjay4213/claude-mods

Shows the subscription plan limits - the 5-hour window, the 7-day window and a gateway spend limit - as a pinned status line under the prompt, with a reset countdown and a projection of when you would hit 100% at the pace of the last few samples. /quota opens a pane with a bar, the reset clock time and the burn rate for each window.

Access & validation details
Observed events
Only what it hooks
Hooks
session.start, turn.complete, command.run {command=quota}, ui.close {id=quota}, ui.render {component=Pane}
API calls
$.clock.every, $.clock.now, $.command.register, $.session.usage, $.store.get, $.store.set, $.ui.close, $.ui.invalidate, $.ui.open, $.ui.resolve, $.ui.status
Validation on 2.1.287
Passed
persists state, draws Repository stars 3
token-ledgerArunjay4213/claude-mods

A per-turn cost and token ledger: a pinned status line with the session cost, the last turn's tokens and the cache hit ratio, and /ledger for a table of the recent turns with their model, tokens, cache reads and writes, duration and cost.

Access & validation details
Observed events
Only what it hooks
Hooks
session.start, turn.complete, command.run {command=clear}, command.run {command=resume}, command.run {command=ledger}, ui.close {id=ledger}, ui.render {component=Pane}
API calls
$.command.register, $.session.id, $.session.usage, $.store.get, $.store.set, $.ui.close, $.ui.invalidate, $.ui.log, $.ui.open, $.ui.resolve, $.ui.status
Validation on 2.1.287
Passed
persists state, draws Repository stars 3
typesafe-modBeLazy167/typesafe-mod

Routes decisions to TypeSafe's Jev model: ranks installed skills for each prompt, and answers the agent's own this-or-that questions when confident.

Access & validation details
Observed events
every prompt, AskUserQuestion calls
Hooks
session.start, prompt.submit, tool.call {tool=AskUserQuestion}, ui.render {component=AskUserQuestion}
API calls
$.clock.sleep, $.env.get, $.http.fetch, $.process.run, $.session.cwd, $.store.delete, $.store.get, $.store.set, $.ui.log, $.ui.resolve
Validation on 2.1.287
Passed
Validator output
./register.ts env writes: nothing; ./register.ts env reads: TYPESAFE_API_KEY, TYPESAFE_AUTO_ANSWER, TYPESAFE_DECIDE_OFF, TYPESAFE_SKILL_ROUTER
network, runs processes, reads env vars, persists state, draws Repository stars 3
workflow-gatesleeovery/portal

Draws the agentic-workflows engine's gates in the band above the prompt: rows a click puts in the prompt and a second click sends: instead of a menu the model has to reproduce.

Access & validation details
Observed events
every tool call, Bash calls, every prompt
Hooks
session.start, session.end, tool.call, tool.call {tool=Bash}, tool.describe {tool=SendUserMessage}, turn.complete, ui.render {component=AbovePrompt}, ui.message {element=gate}, prompt.submit, turn.start
API calls
$.env.get, $.env.set, $.fs.exists, $.fs.read, $.fs.write, $.prompt.fill, $.prompt.read, $.prompt.submit, $.session.id, $.session.messages, $.session.surfaces, $.session.version, $.ui.invalidate, $.ui.resolve
Surface modules
hooks/board.ts
Validation on 2.1.287
Passed
Validator output
./register.ts env writes: CLAUDE_CODE_PEWTER_OWL_TOOL, CLAUDE_CODE_SILENT_TURN_REMINDER, CLAUDE_CODE_THINKING_DISPLAY_UPDATES, WORKFLOWS_GATE_SURFACE, WORKFLOWS_HARNESS_REPLACED; ./register.ts env reads: CLAUDE_CODE_ENTRYPOINT, CLAUDE_CODE_REMOTE, CLAUDE_CODE_SILENT_TURN_REMINDER, CLAUDE_CODE_THINKING_DISPLAY_UPDATES, HOME, WORKFLOWS_CONFIG_DIR, WORKFLOWS_GATE_SURFACE, WORKFLOWS_HARNESS_REPLACED
other: $.prompt.read, writes files, sets env vars, drives Claude, writes the prompt box, reads files, reads env vars, reads the transcript, draws Repository stars 3
workflow-gates-rowsleeovery/portal

Draws the transcript row of an answer the workflow-gates mod sent as the question it answered and the answer, instead of Claude Code's framing.

Access & validation details
Observed events
Only what it hooks
Hooks
ui.render {component=UserMessage}
API calls
$.env.get, $.fs.exists, $.fs.read, $.fs.write, $.session.id
Validation on 2.1.287
Passed
Validator output
./register.ts env writes: nothing; ./register.ts env reads: HOME, WORKFLOWS_CONFIG_DIR
writes files, reads files, reads env vars Repository stars 3
commonplacenoopz/commonplace

LLM-maintained knowledge base for Obsidian vaults. Auto-triggers on paper sharing, vault health queries, concept compilation, research questions, and domain management.

Access & validation details
Observed events
Bash calls, Write|Edit calls, every tool call, subagent spawns, every skill, the system prompt, every prompt
Hooks
session.start, tool.call {tool=Bash}, tool.call {tool=Write|Edit}, tool.call, agent.spawn, tool.describe {tool=Agent}, skill.prompt, prompt.context, prompt.submit, ui.render {component=AbovePrompt}, turn.complete
API calls
$.clock.now, $.model.classify, $.model.complete, $.process.run, $.session.cwd, $.session.id, $.session.repo, $.session.turnCount, $.store.get, $.store.set, $.tool.register, $.ui.invalidate, $.ui.status
Validation on 2.1.287
Passed with warnings
Validator output
root: CLAUDE.md at the plugin root is not loaded as project context. To ship context with your plugin, use a skill (skills/<name>/SKILL.md) instead.; hooks.SessionStart: Shell command uses ${CLAUDE_PLUGIN_ROOT} without quotes: node ${CLAUDE_PLUGIN_ROOT}/bin/commonplace cleanup-cache 2>/dev/null || true. If the expanded path contains a space the command can split into several words and fail. Wrap the placeholder in double quotes, or use exec form: {"command": "<executable>", "args": ["${CLAUDE_PLUGIN_ROOT}/..."]}.; hooks.UserPromptSubmit: Shell command uses ${CLAUDE_PLUGIN_ROOT} without quotes: node ${CLAUDE_PLUGIN_ROOT}/bin/commonplace prompt-context. If the expanded path contains a space the command can split into several words and fail. Wrap the placeholder in double quotes, or use exec form: {"command": "<executable>", "args": ["${CLAUDE_PLUGIN_ROOT}/..."]}.; hooks.PreToolUse: Shell command uses ${CLAUDE_PLUGIN_ROOT} without quotes: node ${CLAUDE_PLUGIN_ROOT}/bin/commonplace agent-guard. If the expanded path contains a space the command can split into several words and fail. Wrap the placeholder in double quotes, or use exec form: {"command": "<executable>", "args": ["${CLAUDE_PLUGIN_ROOT}/..."]}.; hooks.PostToolUse: Shell command uses ${CLAUDE_PLUGIN_ROOT} without quotes: node ${CLAUDE_PLUGIN_ROOT}/bin/commonplace post-write. If the expanded path contains a space the command can split into several words and fail. Wrap the placeholder in double quotes, or use exec form: {"command": "<executable>", "args": ["${CLAUDE_PLUGIN_ROOT}/..."]}.
runs processes, drives Claude, persists state, drawsValidator warnings Repository stars 3
secret-redactorray-amjad/awesome-claude-code-function-hooks

Keeps secrets, email addresses and IP addresses out of the session transcript: swaps each one for a stable placeholder on the way in, and puts the real value back on the way into a tool call

Access & validation details
Observed events
every prompt, every tool call, the system prompt
Hooks
prompt.submit, tool.call, prompt.context
API calls
$.ui.notice, $.ui.toast
Validation on 2.1.287
Passed
draws Repository stars 3
vercel-deploy-statusray-amjad/awesome-claude-code-function-hooks

Pins the Vercel deploy queue of the linked project under the prompt: every deploy queued, building or just finished, with its phase and elapsed time

Access & validation details
Observed events
Bash calls
Hooks
ui.render {component=AbovePrompt, surface=terminal}, tool.call {tool=Bash}, session.start
API calls
$.clock.after, $.clock.every, $.clock.now, $.fs.exists, $.fs.readFile, $.process.run, $.session.repo, $.ui.invalidate, $.ui.log, $.ui.resolve, $.ui.toast
Validation on 2.1.287
Passed
runs processes, reads files, draws Repository stars 3
katzenstegrjwittams/katzensteg

Game and HTML panels backed by the headless Katzensteg WM. Needs CLAUDE_CODE_ENABLE_FUNCTION_HOOKS=1.

Access & validation details
Observed events
the system prompt, ? calls
Hooks
session.start, command.run {command=katzensteg}, prompt.section {name=env_info_simple}, tool.call {tool=?}, tool.call {tool=?}, tool.call {tool=?}, tool.call {tool=?}, tool.call {tool=?}, ui.close {id=katzensteg}, ui.scroll, ui.message, ui.render {component=AbovePrompt}, ui.render {component=Pane, requestId=katzensteg}
API calls
$.clock.after, $.clock.sleep, $.command.register, $.env.get, $.env.set, $.fs.exists, $.fs.write, $.http.fetch, $.process.run, $.store.get, $.store.set, $.tool.register, $.ui.close, $.ui.invalidate, $.ui.log, $.ui.open, $.ui.resolve
Surface modules
hooks/panel.tsx
Validation on 2.1.287
Passed with warnings
Validator output
./register.tsx env writes: KATZENSTEG_OBSERVE, KATZENSTEG_TARGET; ./register.tsx env reads: CLAUDE_PID, HOME, KATZENSTEG_HOST_BIN, KATZENSTEG_REPO, KATZENSTEG_WM_HOST, TMPDIR
network, runs processes, writes files, sets env vars, drives Claude, reads files, reads env vars, persists state, drawsValidator warnings Repository stars 3
cc-pr-trackersezaakgun/cc-pr-tracker

Watch GitHub PRs from a Claude Code session: merge state, review and required checks above the prompt, with alerts when they change

Access & validation details
Observed events
every prompt, Bash calls
Hooks
session.start, config.set {key="cc-pr-tracker.muteAll"}, prompt.submit, tool.call {tool=Bash}, turn.complete, ui.render {component=AbovePrompt}, ui.render {component=Pane}
API calls
$.clock.after, $.clock.every, $.clock.now, $.config.list, $.env.get, $.fs.exists, $.process.run, $.ui.close, $.ui.invalidate, $.ui.log, $.ui.open, $.ui.resolve, $.ui.toast
Validation on 2.1.287
Passed
Validator output
./register.tsx env writes: nothing; ./register.tsx env reads: CMUX_BUNDLED_CLI_PATH, CMUX_SURFACE_ID
runs processes, reads files, reads env vars, draws Repository stars 3
catalyst-probesTransmuteLabs/Catalyst

Consultation and prompt engine for Claude Mods. The module is the core; [probe.<id>] tables in probes.toml are the consultants and [prompt.<id>] tables author a system-prompt section, a tool description or a command description. The only carrier is the mod: a CLAUDE_*_CARRIER handle set to mod or left empty/unset arms the probe here; any other value loudly refuses the calls this probe acts on (the patch-side copy is gone).

Access & validation details
Observed events
the system prompt, every tool call, classic hooks, subagent spawns
Hooks
session.start, session.end, command.run {command=catalyst-fleet}, command.run {command=clear|resume}, command.run {command=catalyst-ladder}, prompt.section, tool.describe, command.describe, tool.call, classic.ConfigChange, classic.CwdChanged, classic.DirectoryAdded, classic.Elicitation, classic.ElicitationResult, classic.FileChanged, classic.InstructionsLoaded, classic.Notification, classic.PermissionDenied, classic.PermissionRequest, classic.PostCompact, classic.PostModelSwitch, classic.PostToolBatch, classic.PostToolUseFailure, classic.PreCompact, classic.PreModelSwitch, classic.SessionEnd, classic.SessionStart, classic.Setup, classic.StopFailure, classic.Stop, classic.SubagentStart, classic.SubagentStop, classic.TaskCompleted, classic.TaskCreated, classic.TeammateIdle, classic.UserPromptExpansion, classic.UserPromptSubmit, classic.WorktreeCreate, classic.WorktreeRemove, agent.spawn, turn.step
API calls
$.agent.list, $.clock.after, $.clock.every, $.clock.now, $.clock.sleep, $.command.register, $.env.get, $.fs.list, $.fs.read, $.fs.stat, $.fs.write, $.model.complete, $.process.run, $.prompt.submit, $.session.id, $.session.messages, $.store.delete, $.store.get, $.store.keys, $.store.set, $.tool.register, $.ui.log
Validation on 2.1.287
Passed
Validator output
./register.ts env writes: nothing; ./register.ts env reads: CATALYST_ROUTING_TABLE, CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS, CLAUDE_CONFIG_DIR, CLAUDE_FORM, CLAUDE_FORM_CARRIER, CLAUDE_IDLE, CLAUDE_IDLE_CARRIER, CLAUDE_JUDGE, CLAUDE_JUDGE_CARRIER, CLAUDE_JUDGE_MODEL, CLAUDE_JUDGE_PROMPT, CLAUDE_JUDGE_TIMEOUT_MS, CLAUDE_PROBES, CLAUDE_PROBES_DIR, CLAUDE_PROMPTS, HOME, PWD
runs processes, writes files, drives Claude, reads files, reads env vars, reads the transcript, persists state, draws Repository stars 3
catalyst-refusal-watchTransmuteLabs/Catalyst

Makes every response the service filter stopped visible at once and adds a rule: report it, do not drop work silently.

Access & validation details
Observed events
TaskStop calls, the system prompt
Hooks
settings.read, session.start, turn.start, turn.step, turn.complete, tool.call {tool=TaskStop}, prompt.context, session.end
API calls
$.clock.now, $.clock.sleep, $.env.get, $.fs.list, $.fs.read, $.fs.stat, $.session.version, $.settings.read, $.store.delete, $.store.keys, $.store.set, $.ui.log, $.ui.status, $.ui.toast
Validation on 2.1.287
Passed
Validator output
./register.ts env writes: nothing; ./register.ts env reads: CLAUDE_REFUSAL_WATCH, HOME
reads files, reads env vars, reads settings, persists state, draws Repository stars 3
catalyst-statuslineTransmuteLabs/Catalyst

Multi-line status HUD above the prompt over data families (hooks/data/*.ts pure collectors, one core subscription per event), with the /statusline-mod pill panel: live preview, six tabs (layout, elements, per-element settings, view axes, themes, number formats). Based on konsta95/ClaudeCodeMods statusline 0.3.2 (MIT, c49ad4a).

Access & validation details
Observed events
every tool call, subagent spawns, classic hooks
Hooks
session.start, session.end, turn.start, turn.step, turn.complete, tool.call, agent.spawn, config.set, classic.SessionStart, classic.UserPromptSubmit, command.run, config.describe, ui.close, ui.focus, ui.render
API calls
$.clock.after, $.clock.every, $.clock.now, $.clock.sleep, $.command.register, $.config.list, $.config.set, $.env.get, $.fs.read, $.process.run, $.session.cwd, $.session.id, $.session.messages, $.session.model, $.session.root, $.session.surfaces, $.session.turns, $.session.usage, $.store.delete, $.store.get
Validation on 2.1.287
Passed
Validator output
./statusline.ts env writes: nothing; ./statusline.ts env reads: CLAUDE_CODE_EXECPATH, CLAUDE_CONFIG_DIR, CLAUDE_INSTANCE_N, DEADLINE_TIME, HEADSIGN_OBSERVER, HOME, ITERM_SESSION_ID, KITTY_WINDOW_ID, NEON_API_KEY, NEON_DATABASE, NEON_ENDPOINT, NEON_PROJECT_ID, PWD, TERM_PROGRAM
runs processes, changes config, reads files, reads env vars, reads the transcript, persists state Repository stars 3
catalyst-swe-requestTransmuteLabs/Catalyst

Request-text policy for devin/swe-2: registers one rule in the host's $.requestText noun.

Access & validation details
Observed events
Only what it hooks
Hooks
session.start
API calls
$.requestText.register, $.ui.log
Validation on 2.1.287
Passed
other: $.requestText.register, draws Repository stars 3
signet-eval-functionswandercom/signet-eval

Optional Claude Code 2.1.274 and 2.1.280 function hooks for Signet-eval policy and output redaction

Access & validation details
Observed events
every prompt, classic hooks, every tool call
Hooks
session.start, prompt.submit, classic.PreToolUse, tool.call
API calls
$.process.run, $.session.cwd, $.session.id, $.ui.status
Validation on 2.1.287
Passed
runs processes, draws Repository stars 3
jev-claude-routerFlam1ngFir3ball/jev-claude-router

Routes each Claude Code turn to the model and effort TypeSafe's Jev picks, weighed against what a switch costs, and compacts with Jev instead of a lossy summary.

Access & validation details
Observed events
classic hooks, compaction, subagent spawns
Hooks
session.start, session.end, classic.SessionStart, session.compact, classic.PostModelSwitch, command.run {command=jev}, turn.start, turn.step, agent.spawn, ui.render {component=SessionMode}
API calls
$.agent.list, $.clock.sleep, $.command.register, $.env.get, $.http.fetch, $.session.id, $.session.model, $.session.surfaces, $.session.usage, $.store.delete, $.store.get, $.store.keys, $.store.set
Validation on 2.1.287
Passed with warnings
Validator output
name: Plugin name "jev-claude-router" reads as one of Anthropic's own. Name it for what it does. If this is one of Anthropic's own plugins, validate the marketplace that lists it.; ./register.ts env writes: nothing; ./register.ts env reads: AI_GATEWAY_API_KEY, JEV_ROUTER_ALLOW_CUSTOM_BASE, JEV_ROUTER_ALLOW_OVERRIDE, JEV_ROUTER_CACHE_TTL, JEV_ROUTER_CEILING, JEV_ROUTER_COMPACT, JEV_ROUTER_COMPACT_MIN_REDUCTION, JEV_ROUTER_COMPACT_TIMEOUT_MS, JEV_ROUTER_EXCLUDE, JEV_ROUTER_JEV_MODEL, JEV_ROUTER_NOTIFY_CONTINUE, JEV_ROUTER_PRICE_CHECK, JEV_ROUTER_PROVIDER, JEV_ROUTER_STICKY, JEV_ROUTER_STICKY_CONFIDENCE, JEV_ROUTER_TIMEOUT_MS, JEV_ROUTER_UPGRADE_MAX, TYPESAFE_API_KEY, TYPESAFE_BASE_URL
network, reads env vars, persists stateValidator warnings Repository stars 2
workflow-gatesleeovery/tick

Draws the agentic-workflows engine's gates in the band above the prompt: rows a click puts in the prompt and a second click sends: instead of a menu the model has to reproduce.

Access & validation details
Observed events
every tool call, Bash calls, every prompt
Hooks
session.start, session.end, tool.call, tool.call {tool=Bash}, tool.describe {tool=SendUserMessage}, turn.complete, ui.render {component=AbovePrompt}, ui.message {element=gate}, prompt.submit, turn.start
API calls
$.env.get, $.env.set, $.fs.exists, $.fs.read, $.fs.write, $.prompt.fill, $.prompt.read, $.prompt.submit, $.session.id, $.session.messages, $.session.surfaces, $.session.version, $.ui.invalidate, $.ui.resolve
Surface modules
hooks/board.ts
Validation on 2.1.287
Passed
Validator output
./register.ts env writes: CLAUDE_CODE_PEWTER_OWL_TOOL, CLAUDE_CODE_SILENT_TURN_REMINDER, CLAUDE_CODE_THINKING_DISPLAY_UPDATES, WORKFLOWS_GATE_SURFACE, WORKFLOWS_HARNESS_REPLACED; ./register.ts env reads: CLAUDE_CODE_ENTRYPOINT, CLAUDE_CODE_REMOTE, CLAUDE_CODE_SILENT_TURN_REMINDER, CLAUDE_CODE_THINKING_DISPLAY_UPDATES, HOME, WORKFLOWS_CONFIG_DIR, WORKFLOWS_GATE_SURFACE, WORKFLOWS_HARNESS_REPLACED
other: $.prompt.read, writes files, sets env vars, drives Claude, writes the prompt box, reads files, reads env vars, reads the transcript, draws Repository stars 2
workflow-gates-rowsleeovery/tick

Draws the transcript row of an answer the workflow-gates mod sent as the question it answered and the answer, instead of Claude Code's framing.

Access & validation details
Observed events
Only what it hooks
Hooks
ui.render {component=UserMessage}
API calls
$.env.get, $.fs.exists, $.fs.read, $.fs.write, $.session.id
Validation on 2.1.287
Passed
Validator output
./register.ts env writes: nothing; ./register.ts env reads: HOME, WORKFLOWS_CONFIG_DIR
writes files, reads files, reads env vars Repository stars 2
calendarmusingfox/cc-plugins

[Experimental] Upcoming Google Calendar events in-session: /cal toggles a band above the prompt with the next 7 days, /cal N for N days (Claude Mod; needs CLAUDE_CODE_ENABLE_FUNCTION_HOOKS=1 and the claude.ai Google Calendar connector)

Access & validation details
Observed events
Only what it hooks
Hooks
session.start, command.run {command=cal}, ui.render {component=AbovePrompt}
API calls
$.clock.after, $.clock.every, $.clock.now, $.command.register, $.env.get, $.mcp.call, $.store.get, $.store.set, $.ui.invalidate, $.ui.resolve
Validation on 2.1.287
Passed
Validator output
./register.ts env writes: nothing; ./register.ts env reads: TZ
MCP servers, reads env vars, persists state, draws Repository stars 2
obwmusingfox/cc-plugins

Obsidian Workspace: project-scoped vault productivity (capture / notes / PM). Skills own folder layout and templates; /obw:pm splits a spec into blocking tickets; /issue is a Claude Mod pane that lists a view of the project's dashboard, draws Mermaid as text diagrams, and can open a card in the browser through viz. Vault I/O uses the Obsidian CLI via the official obsidian-cli skill.

Access & validation details
Observed events
Only what it hooks
Hooks
session.start, command.run {command=issue}, ui.message, ui.render {component=Pane}
API calls
$.command.register, $.env.get, $.fs.exists, $.fs.read, $.fs.write, $.process.run, $.session.cwd, $.ui.invalidate, $.ui.open, $.ui.resolve
Surface modules
hooks/board.ts
Validation on 2.1.287
Passed
Validator output
./register.ts env writes: nothing; ./register.ts env reads: CLAUDE_CONFIG_DIR, HOME
runs processes, writes files, reads files, reads env vars, draws Repository stars 2
omp-quotamusingfox/cc-plugins

[Experimental] Every omp provider's remaining quota in-session: a /quota band above the prompt, /quota refresh, and a toast when a provider worsens from ok (Claude Mod; needs CLAUDE_CODE_ENABLE_FUNCTION_HOOKS=1)

Access & validation details
Observed events
Only what it hooks
Hooks
session.start, command.run {command=quota}, ui.render {component=AbovePrompt}
API calls
$.clock.every, $.clock.now, $.command.register, $.env.get, $.process.run, $.store.get, $.store.set, $.ui.invalidate, $.ui.resolve, $.ui.toast
Validation on 2.1.287
Passed
Validator output
./register.ts env writes: nothing; ./register.ts env reads: HOME
runs processes, reads env vars, persists state, draws Repository stars 2
proctornalyk/nalyk-skills

Hook-enforced development discipline for Claude Code. Skills teach methodology; hooks enforce compliance mechanically (git gates, planning mode, step budgets, quiet mode, pre-flight checks, self-diagnosis, autonomy metrics); store + tracing survive compaction.

Access & validation details
Observed events
the system prompt, Bash calls, Write calls, Edit calls, NotebookEdit calls, every skill, Read calls, subagent spawns, Agent calls, every prompt
Hooks
session.start, prompt.context, tool.call {tool=Bash}, tool.call {tool=Write}, tool.call {tool=Edit}, tool.call {tool=NotebookEdit}, skill.prompt, tool.call {tool=Read}, turn.complete, agent.spawn, tool.call {tool=Agent}, ui.render {component=AbovePrompt}, attribution.text, prompt.submit, tool.describe {tool=Bash}, tool.describe {tool=Agent}, tool.describe {tool=Write}, tool.describe {tool=Edit}
API calls
$.fs.exists, $.fs.read, $.model.fork, $.process.run, $.session.cwd, $.session.model, $.store.get, $.store.set, $.ui.log, $.ui.resolve
Validation on 2.1.287
Passed
runs processes, drives Claude, reads files, persists state, draws Repository stars 2
install-doctorray-manaloto/dotfiles

Reports the install-doctor verdict at session start and refuses tool calls while the install is provably broken

Access & validation details
Observed events
classic hooks
Hooks
classic.SessionStart, classic.PreToolUse
API calls
$.clock.now, $.env.get, $.fs.stat, $.process.run, $.session.root
Validation on 2.1.287
Passed
Validator output
./register.ts env writes: nothing; ./register.ts env reads: CLAUDE_PROJECT_DIR, PATH
runs processes, reads files, reads env vars Repository stars 2
plugin-healthray-manaloto/dotfiles

Reports at session start when plugins declared in settings are not actually installed or are disabled for this project

Access & validation details
Observed events
classic hooks
Hooks
classic.SessionStart
API calls
$.env.get, $.process.run
Validation on 2.1.287
Passed
Validator output
./plugin-health.ts env writes: nothing; ./plugin-health.ts env reads: CLAUDE_PROJECT_DIR, PATH
runs processes, reads env vars Repository stars 2
websearch-perplexityriethmayer/dotfiles

Routes the WebSearch tool to Perplexity (pplx CLI) via a function hook; falls back to native search on failure

Access & validation details
Observed events
WebSearch calls
Hooks
tool.call {tool=WebSearch}
API calls
$.env.get, $.process.run, $.ui.log
Validation on 2.1.287
Passed
Validator output
./websearch.ts env writes: nothing; ./websearch.ts env reads: HOME, OP_SERVICE_ACCOUNT_TOKEN, PERPLEXITY_API_KEY, PPLX_WEBSEARCH
runs processes, reads env vars, draws Repository stars 2
fast-jev-compactionsatiricalguru/Fast-Jev-Agents

Verbatim Jev-guided compaction for Claude Code sessions.

Access & validation details
Observed events
compaction
Hooks
session.compact, turn.complete
API calls
$.env.get, $.http.fetch, $.session.compact, $.session.usage, $.settings.read, $.ui.log, $.ui.toast
Validation on 2.1.287
Passed with warnings
Validator output
./fast-jev.ts env writes: nothing; ./fast-jev.ts env reads: TYPESAFE_API_KEY
network, drives Claude, reads env vars, reads settings, drawsValidator warnings Repository stars 2
cctoptomstagl/cctop

btop-style live dashboard for Claude Code internals: /cctop opens it in a side pane, cctop-insights lets the session answer questions from its numbers

Access & validation details
Observed events
compaction, every tool call, the cctop skill
Hooks
session.start, turn.start, turn.complete, session.compact, tool.call, command.run {command=cctop-pane}, skill.prompt {skill=cctop}, ui.close {id=cctop}, ui.render {component=Pane}
API calls
$.clock.after, $.clock.every, $.clock.now, $.command.register, $.env.get, $.fs.read, $.fs.write, $.process.run, $.prompt.fill, $.session.id, $.session.model, $.session.usage, $.store.get, $.store.set, $.ui.close, $.ui.invalidate, $.ui.log, $.ui.open, $.ui.resolve, $.ui.status, $.ui.toast
Validation on 2.1.287
Passed
Validator output
./pane.tsx env writes: nothing; ./pane.tsx env reads: HOME
runs processes, writes files, writes the prompt box, reads files, reads env vars, persists state, draws Repository stars 2
code-modernizationbadaniya/.stowed

Guided modernization for any legacy codebase: start with /modernize, get an assessment, an interactive map, the business rules mined from the code, and a plan you approve, then an upgrade, a rewrite or a rebuild with independent proof that the new code behaves like the old. Includes security hardening, a one-page report, specialist agents, and an optional live progress pane (early access).

Access & validation details
Observed events
every prompt, every tool call
Hooks
session.start, ui.render {component=PromptHint}, ui.render {component=AbovePrompt}, ui.render {component=Pane}, ui.close, command.run {command=modernize-panel}, command.run {command=modernize-review-pane}, command.run {command=modernize-sign}, command.run {command=clear|resume}, prompt.submit, turn.start, turn.complete, tool.call
API calls
$.clock.after, $.clock.every, $.clock.now, $.command.register, $.fs.exists, $.fs.list, $.fs.read, $.fs.stat, $.fs.write, $.prompt.fill, $.prompt.submit, $.store.get, $.store.set, $.turn.abort, $.ui.blit, $.ui.close, $.ui.invalidate, $.ui.log, $.ui.open, $.ui.resolve, $.ui.status, $.ui.toast
Validation on 2.1.287
Passed
writes files, drives Claude, writes the prompt box, reads files, persists state, draws Repository stars 1
live-recapbenjaminmodayil/live-recap

A card above the prompt that says what Claude is working on, refreshed every few minutes while a turn runs

Access & validation details
Observed events
classic hooks, every tool call
Hooks
session.start, session.end, turn.start, classic.Stop, turn.complete, tool.call, ui.render {component=AbovePrompt}, ui.render {component=Spinner}
API calls
$.clock.every, $.clock.now, $.config.list, $.config.set, $.model.complete, $.model.fork, $.session.messages, $.state.get, $.state.set, $.ui.resolve
Validation on 2.1.287
Passed
Validator output
types ./types/index.d.ts declares on $: nothing (no EngineInterface member); types ./types/index.d.ts declares state: live-recap.card, live-recap.now; ./register.tsx state writes: live-recap.card, live-recap.now; ./register.tsx state reads: live-recap.card, live-recap.now
other: $.state.get, other: $.state.set, changes config, drives Claude, reads the transcript, draws Repository stars 1
message-timestampsbenjaminmodayil/live-recap

Prefixes each Claude reply in the transcript with the local time it arrived, with no model calls

Access & validation details
Observed events
Only what it hooks
Hooks
session.append {door=response}, ui.render {component=AssistantMessage}
API calls
$.clock.now, $.state.get, $.state.set
Validation on 2.1.287
Passed
Validator output
types ./types/index.d.ts declares on $: nothing (no EngineInterface member); types ./types/index.d.ts declares state: message-timestamps.sentAt; ./register.tsx state writes: message-timestamps.sentAt; ./register.tsx state reads: message-timestamps.sentAt
other: $.state.get, other: $.state.set Repository stars 1
autoresearchbn-l/claude-autoresearch-mod

Autonomous experiment loop for Claude Code: run, measure, keep or discard. A port of pi-autoresearch.

Access & validation details
Observed events
every prompt, the system prompt, ? calls, compaction
Hooks
session.start, command.run {command=clear|resume}, session.end, turn.start, turn.complete, prompt.submit, prompt.section {name=env_info_simple}, tool.describe {tool=?}, tool.check {tool=?}, tool.call {tool=?}, command.run {command=autoresearch}, command.run {command=autoresearch-dashboard}, command.run {command=autoresearch-export}, command.run {command=autoresearch-off}, session.compact, ui.render {component=AbovePrompt}, ui.render {component=ToolUse, props has {tool=?}, ui.render {component=ToolResult, props has {tool=?}, ui.render {component=Pane, requestId=?}, ui.scroll {component=Pane, requestId=?}, ui.message {requestId=?}
API calls
$.clock.after, $.clock.every, $.command.register, $.command.run, $.env.get, $.fs.exists, $.fs.read, $.fs.stat, $.fs.write, $.http.fetch, $.process.run, $.process.spawn, $.prompt.submit, $.session.cwd, $.session.id, $.session.surfaces, $.session.usage, $.state.get, $.state.set, $.store.delete, $.store.get, $.store.keys, $.store.set, $.tool.register, $.turn.abort, $.ui.close, $.ui.invalidate, $.ui.log, $.ui.open, $.ui.resolve, $.ui.toast
Surface modules
hooks/ui/dashboard-client.tsx
Validation on 2.1.287
Passed
Validator output
types ./types/index.d.ts declares on $: nothing (no EngineInterface member); types ./types/index.d.ts declares state: autoresearch.mode, autoresearch.experiment, autoresearch.running, autoresearch.runTail, autoresearch.loop, autoresearch.pane, autoresearch.toolDetails; ./register.tsx env writes: nothing; ./register.tsx env reads: CLAUDE_PID, TMPDIR; ./register.tsx state writes: autoresearch.experiment, autoresearch.loop, autoresearch.mode, autoresearch.pane, autoresearch.runTail, autoresearch.running, autoresearch.toolDetails; ./register.tsx state reads: autoresearch.experiment, autoresearch.loop, autoresearch.mode, autoresearch.pane, autoresearch.runTail, autoresearch.running, autoresearch.toolDetails
other: $.process.spawn, other: $.state.get, other: $.state.set, network, runs processes, writes files, drives Claude, reads files, reads env vars, persists state, draws Repository stars 1
bullswarmBulls-Work/bullswarm

Bullswarm as a Claude Mod: live subscription meters for every installed coding-agent CLI above the prompt, quota-aware routing of Claude's own subagents to whichever pool has surplus, a verdict note on every bullswarm command the model runs, a /bullswarm command, and $.bullswarm for other plugins.

Access & validation details
Observed events
the system prompt, Agent calls, Bash calls, /"^mcp__bullswarm__route$"/ calls
Hooks
engine.create, session.start, prompt.context, tool.call {tool=Agent}, tool.call {tool=Bash}, command.run {command=bullswarm}, tool.call {tool=/"^mcp__bullswarm__route$"/}, ui.render {component=AbovePrompt}, ui.render {component=Pane}, ui.scroll {requestId=bullswarm}, ui.close {id=bullswarm}
API calls
$.clock.after, $.clock.now, $.command.register, $.env.get, $.fs.read, $.process.run, $.session.usage, $.store.get, $.store.set, $.tool.register, $.ui.close, $.ui.invalidate, $.ui.log, $.ui.notice, $.ui.open, $.ui.resolve, $.ui.status, $.ui.toast
Validation on 2.1.287
Passed
Validator output
types ./types/index.d.ts declares on $: $.bullswarm; ./register.ts env writes: nothing; ./register.ts env reads: BULLSWARM_DEPTH
runs processes, drives Claude, reads files, reads env vars, persists state, draws Repository stars 1
fast-jev-compactiondesignnotdrum/fast-jev-compaction-codex

Verbatim Jev-guided compaction for Claude Code and Codex sessions.

Access & validation details
Observed events
compaction
Hooks
session.compact, turn.complete
API calls
$.env.get, $.http.fetch, $.session.compact, $.session.usage, $.settings.read, $.ui.log, $.ui.toast
Validation on 2.1.287
Passed with warnings
Validator output
extensions: Unknown field 'extensions'. Claude Code ignores it at load time.; ./fast-jev.ts env writes: nothing; ./fast-jev.ts env reads: TYPESAFE_API_KEY
network, drives Claude, reads env vars, reads settings, drawsValidator warnings Repository stars 1
jev-routedrewpayment/jev-route

Routes each turn to the cheapest capable Claude model using Jev, TypeSafe's decision model. Toggle with /route.

Access & validation details
Observed events
every prompt
Hooks
session.start, command.run {command=route}, prompt.submit, turn.start, turn.step, turn.complete
API calls
$.clock.sleep, $.command.register, $.http.fetch, $.model.classify, $.settings.read, $.state.get, $.state.set, $.store.get, $.store.set, $.ui.status, $.ui.toast
Validation on 2.1.287
Passed
Validator output
types ./types/index.d.ts declares on $: nothing (no EngineInterface member); types ./types/index.d.ts declares state: jev-route.pending, jev-route.unbound, jev-route.last, jev-route.context; ./register.ts state writes: jev-route.context, jev-route.last, jev-route.pending, jev-route.unbound; ./register.ts state reads: jev-route.context, jev-route.last, jev-route.pending, jev-route.unbound
other: $.state.get, other: $.state.set, network, drives Claude, reads settings, persists state, draws Repository stars 1
claude-mermaidgalElmalah/claude-mods

Mermaid diagrams in Claude Code: every ```mermaid block Claude writes is drawn as box art, in colour, right where the fence was in the transcript. Needs function hooks (early access) and an interactive terminal.

Access & validation details
Observed events
Only what it hooks
Hooks
session.start, ui.render {component=AssistantMessage}, command.run {command=mermaid}
API calls
$.command.register, $.store.get, $.store.set, $.ui.invalidate, $.ui.log
Validation on 2.1.287
fails on 2.1.287
Validator output
name: Plugin name "claude-mermaid" is reserved: it passes as one of Anthropic's own. A third party's plugin name cannot start with "claude-", "anthropic-", "anthropics-", or "cc-plugin-", be "claude", "anthropic", "anthropics", "claude-code", or "claude-mods", or put "official" beside "claude" or "anthropic". Name it for what it does. If this is one of Anthropic's own plugins, validate the marketplace that lists it.
persists state, drawsfails on 2.1.287 Repository stars 1
claude-queuegalElmalah/claude-mods

A prompt typed while Claude is working is held in a stack above the prompt instead of landing in the running turn, and sent once the turn ends. Reorder the stack, edit a row in place, send one first, remove one, flush the lot. Needs function hooks (early access) and an interactive terminal.

Access & validation details
Observed events
classic hooks, every tool call, every prompt
Hooks
session.start, turn.start, turn.complete, classic.Stop, tool.call, prompt.submit, ui.focus {component=AbovePrompt}, command.run {command=q}, ui.render {component=AbovePrompt}
API calls
$.clock.after, $.command.register, $.command.run, $.prompt.fill, $.prompt.submit, $.ui.focus, $.ui.invalidate, $.ui.log, $.ui.resolve
Validation on 2.1.287
fails on 2.1.287
Validator output
name: Plugin name "claude-queue" is reserved: it passes as one of Anthropic's own. A third party's plugin name cannot start with "claude-", "anthropic-", "anthropics-", or "cc-plugin-", be "claude", "anthropic", "anthropics", "claude-code", or "claude-mods", or put "official" beside "claude" or "anthropic". Name it for what it does. If this is one of Anthropic's own plugins, validate the marketplace that lists it.
drives Claude, writes the prompt box, drawsfails on 2.1.287 Repository stars 1
stepwardengetexcited/stepwarden

Every tool call your agent makes, checked before it runs. Verifies each pending tool call against the session's plan using TypeSafe AI's Jev model, then allows it, asks you, or blocks it.

Access & validation details
Observed events
every prompt, every tool call
Hooks
session.start, prompt.submit, tool.call, command.run {command=stepwarden}
API calls
$.clock.now, $.clock.sleep, $.command.register, $.config.set, $.env.get, $.fs.exists, $.fs.read, $.fs.write, $.http.fetch, $.session.id, $.store.delete, $.store.get, $.store.keys, $.store.set, $.ui.ask, $.ui.log, $.ui.toast
Validation on 2.1.287
Passed
Validator output
./verify.ts env writes: nothing; ./verify.ts env reads: TYPESAFE_API_KEY
network, writes files, changes config, reads files, reads env vars, persists state, draws Repository stars 1
cc-mod-waitwhatGGGODLIN/cc-mod-waitwhat

Retell what Claude just said, in plain words: in the band above the prompt, or in a split pane when running under Herdr. Nothing enters the transcript or the model's context.

Access & validation details
Observed events
Only what it hooks
Hooks
turn.start, turn.complete, ui.render {component=AbovePrompt}
API calls
$.clock.after, $.clock.now, $.env.get, $.fs.exists, $.fs.read, $.fs.write, $.http.fetch, $.model.complete, $.process.run, $.prompt.read, $.session.id, $.session.messages, $.session.surfaces, $.ui.invalidate, $.ui.log, $.ui.resolve
Validation on 2.1.287
Passed
Validator output
./register.tsx env writes: nothing; ./register.tsx env reads: HERDR_PANE_ID, HERDR_WORKSPACE_ID, HOME, PWD, SIDECAR_API_KEY, SIDECAR_CMD, SIDECAR_MODEL, SIDECAR_PROXY, SIDECAR_SOURCE, WW_MODEL
other: $.prompt.read, network, runs processes, writes files, drives Claude, reads files, reads env vars, reads the transcript, draws Repository stars 1
cc-dinogiovaborgogno/cc-dino

The T-rex from the browser's offline page, above the Claude Code prompt: jump cacti and duck birds while Claude works. Needs function hooks (early access) and an interactive terminal.

Access & validation details
Observed events
Only what it hooks
Hooks
session.start, command.run {command=dino}, turn.start, turn.complete, ui.message, ui.render {component=AbovePrompt}
API calls
$.clock.after, $.clock.now, $.command.register, $.http.fetch, $.store.delete, $.store.get, $.store.set, $.ui.invalidate, $.ui.log, $.ui.resolve, $.ui.toast
Surface modules
hooks/boards/dino.tsx
Validation on 2.1.287
Passed
network, persists state, draws Repository stars 1
quarryjackboykin/quarry

Adds Exa's results to WebSearch, and saves each WebFetch page to disk with the lines that answer the prompt

Access & validation details
Observed events
the system prompt, WebFetch calls, WebSearch calls
Hooks
prompt.context, tool.call {tool=WebFetch}, tool.call {tool=WebSearch}
API calls
$.process.run, $.tool.check
Validation on 2.1.287
Passed with warnings
Validator output
version: No version specified. Consider adding a version following semver (e.g., "1.0.0")
other: $.tool.check, runs processesValidator warnings Repository stars 1
jev-contextJayDoubleu/cc-mod-jev

Jev-scored context pruning for Claude Code through OpenRouter: at compaction every tool call and result is scored by TypeSafe's Jev decision model, stale ones are dropped or truncated, everything kept stays verbatim. An optional gate truncates oversized tool outputs as they arrive.

Access & validation details
Observed events
compaction, every tool call
Hooks
session.start, session.compact {trigger=precompute}, session.compact, turn.complete, tool.call, command.run {command=jev}
API calls
$.command.register, $.env.get, $.http.fetch, $.session.compact, $.session.messages, $.session.usage, $.settings.read, $.ui.log, $.ui.toast
Validation on 2.1.287
Passed with warnings
Validator output
root: CLAUDE.md at the plugin root is not loaded as project context. To ship context with your plugin, use a skill (skills/<name>/SKILL.md) instead.; ./jev-context.ts env writes: nothing; ./jev-context.ts env reads: EVAL_JEV_CONTEXT_BASE_URL, EVAL_JEV_CONTEXT_COMPACT_AT_PERCENT, EVAL_JEV_CONTEXT_GATE, EVAL_JEV_CONTEXT_GATE_HEAD_CHARS, EVAL_JEV_CONTEXT_GATE_MIN_CHARS, EVAL_JEV_CONTEXT_GATE_TAIL_CHARS, EVAL_JEV_CONTEXT_GATE_THRESHOLD, EVAL_JEV_CONTEXT_GATE_TOOLS, EVAL_JEV_CONTEXT_GOAL, EVAL_JEV_CONTEXT_KEEP_THRESHOLD, EVAL_JEV_CONTEXT_LOG, EVAL_JEV_CONTEXT_MAX_REQUEST_TOKENS, EVAL_JEV_CONTEXT_MAX_STATE_TOKENS, EVAL_JEV_CONTEXT_MIN_PAIR_CHARS, EVAL_JEV_CONTEXT_MIN_REDUCTION_RATIO, EVAL_JEV_CONTEXT_MODEL, EVAL_JEV_CONTEXT_PRESERVE_RECENT_MESSAGES, EVAL_JEV_CONTEXT_TRUNCATE_HEAD_CHARS, EVAL_OPENROUTER_API_KEY, JEV_CONTEXT_BASE_URL, JEV_CONTEXT_COMPACT_AT_PERCENT, JEV_CONTEXT_GATE, JEV_CONTEXT_GATE_HEAD_CHARS, JEV_CONTEXT_GATE_MIN_CHARS, JEV_CONTEXT_GATE_TAIL_CHARS, JEV_CONTEXT_GATE_THRESHOLD, JEV_CONTEXT_GATE_TOOLS, JEV_CONTEXT_GOAL, JEV_CONTEXT_KEEP_THRESHOLD, JEV_CONTEXT_LOG, JEV_CONTEXT_MAX_REQUEST_TOKENS, JEV_CONTEXT_MAX_STATE_TOKENS, JEV_CONTEXT_MIN_PAIR_CHARS, JEV_CONT… [+133 chars]
network, drives Claude, reads env vars, reads settings, reads the transcript, drawsValidator warnings Repository stars 1
jev-model-routerKiy-K/oxide

Picks the model and the reasoning effort for each task with TypeSafe's Jev, a System One decision model reached either through TypeSafe's own API or the Vercel AI Gateway. Routes subagent models at agent.spawn and the main loop's effort and model at turn.step, in both directions, falling back to the engine's built-in classifier when no key is set.

Access & validation details
Observed events
every prompt, subagent spawns
Hooks
prompt.submit, turn.step, agent.spawn
API calls
$.clock.now, $.clock.sleep, $.http.fetch, $.model.classify, $.ui.log, $.ui.status
Validation on 2.1.287
Passed
network, drives Claude, draws Repository stars 1
fmlmuehleisen/xo

Firstmate Calm for Claude Code: the sailboat working animation and conversation-only transcript presentation, sharing the per-home config/calm preference with the Pi Calm extension. Its hooks module may load through CLAUDE_CODE_ENABLE_FUNCTION_HOOKS or Claude Code's tengu_plugin_hooks_modules rollout flag, but the mod activates only when CLAUDE_CODE_ENABLE_FUNCTION_HOOKS is exactly 1 and is otherwise a complete no-op.

Access & validation details
Observed events
Only what it hooks
Hooks
session.start, command.run {command=calm}, config.set {key=theme}, turn.step, ui.render {component=Spinner}, ui.render {component=ToolUse}, ui.render {component=ToolResult}, ui.render {component=ToolGroup}, ui.render {component=UserMessage}, ui.render {component=AssistantMessage}
API calls
$.clock.every, $.clock.now, $.command.register, $.config.list, $.env.get, $.fs.exists, $.fs.read, $.fs.stat, $.fs.write, $.session.id, $.session.messages, $.store.get, $.store.set, $.ui.blit, $.ui.invalidate, $.ui.log, $.ui.resolve, $.ui.toast
Validation on 2.1.287
Passed
Validator output
./register.ts env writes: nothing; ./register.ts env reads: CLAUDE_CODE_ENABLE_FUNCTION_HOOKS, FM_CONFIG_OVERRIDE, FM_HOME, FM_ROOT_OVERRIDE, FM_STATE_OVERRIDE
writes files, reads files, reads env vars, reads the transcript, persists state, draws Repository stars 1
pacmanlukecameron/dotfiles

/pacman: Pac-Man played over the conversation on screen, eating it character by character while Claude works; Esc puts it back. Needs function hooks (CLAUDE_CODE_ENABLE_FUNCTION_HOOKS=1).

Access & validation details
Observed events
Only what it hooks
Hooks
session.start, command.run {command=pacman}, ui.close {id=pacman}, ui.render {component=Pane}, ui.render
API calls
$.clock.every, $.command.register, $.ui.close, $.ui.invalidate, $.ui.log, $.ui.open, $.ui.panes, $.ui.resolve
Validation on 2.1.287
Passed
draws Repository stars 1
fast-jev-compactionlwyBZss8924d/ultrafast-atif-helper

Verbatim Jev-guided compaction for Claude Code sessions.

Access & validation details
Observed events
Only what it hooks
Hooks
none
API calls
none recorded
Validation on 2.1.287
fails on 2.1.287
Validator output
modules../fast-jev.ts: upstream-reference: /tmp/acm-clones/lwyBZss8924d__ultrafast-atif-helper/upstream-reference/hooks/fast-jev.ts: no such file
draws onlyfails on 2.1.287 Repository stars 1
segmemmahuebel/segmem

Segmented, scoped memory for agents: one file, SQLite, no daemon. Wake at session start, recall on every prompt, staleness nag at stop.

Access & validation details
Observed events
the system prompt, every prompt, subagent spawns, Bash calls, mcp__segmem__recall calls
Hooks
prompt.context, prompt.submit, agent.spawn, tool.call {tool=Bash}, tool.call {tool=Bash}, session.start, tool.call {tool=mcp__segmem__recall}
API calls
$.process.run, $.session.cwd, $.session.id, $.tool.register, $.ui.log, $.ui.status, $.ui.toast
Validation on 2.1.287
Passed
runs processes, drives Claude, draws Repository stars 1
cc-dinomanfye/cc-dino

The Chrome offline dinosaur, above the Claude Code prompt. Jump the cacti and duck the pterodactyls while Claude works. Needs function hooks (early access) and an interactive terminal.

Access & validation details
Observed events
Only what it hooks
Hooks
session.start, command.run {command=dino}, turn.complete, ui.message, ui.render {component=AbovePrompt}
API calls
$.command.register, $.store.get, $.store.set, $.ui.invalidate, $.ui.log, $.ui.resolve, $.ui.toast
Surface modules
hooks/boards/dino.tsx
Validation on 2.1.287
Passed
persists state, draws Repository stars 1
pull-request-panemeganemura/pull-request-pane

A pane beside the transcript with the GitHub pull requests and issues related to the current session: drag a title or description to leave a comment on it, add as many as you like, then Submit sends them all as one prompt. Watch each pull request's checks, review decision and mergeability update on a timer.

Access & validation details
Observed events
Bash calls
Hooks
session.start, command.run {command=pull-request-pane}, ui.render {component=Pane}, ui.close {id=pull-request-pane}, turn.complete, tool.call {tool=Bash}, ui.message {requestId=pull-request-pane}
API calls
$.clock.every, $.command.register, $.process.run, $.prompt.submit, $.session.cwd, $.session.messages, $.store.get, $.store.set, $.ui.close, $.ui.focus, $.ui.invalidate, $.ui.log, $.ui.open, $.ui.resolve, $.ui.status
Surface modules
hooks/description-selection.ts
Validation on 2.1.287
Passed
runs processes, drives Claude, reads the transcript, persists state, draws Repository stars 1
persona-panelminipai/claudecafe

Gives a Claude Code session a character persona, with a time-aware liveliness layer and a pixel portrait panel; bundles three characters from claudecafe.dev.

Access & validation details
Observed events
Only what it hooks
Hooks
none
API calls
none recorded
Validation on 2.1.287
fails on 2.1.287
Validator output
modules../function/register.js: persona-panel: cannot import "../../../character-core/src/index.ts" (from hooks/function/register.js): it is outside the plugin's folder (/tmp/acm-clones/minipai__claudecafe/packages/persona-panel)
draws onlyfails on 2.1.287 Repository stars 1
claude-gamesmohi-devhub/claude-games

Arcade games above the Claude Code prompt (a dodge race, Breakout, a dino runner and a side-scrolling shooter) that pause when Claude finishes a turn and react to the edits, tests and commits Claude makes. Needs function hooks (early access) and an interactive terminal.

Access & validation details
Observed events
every tool call
Hooks
session.start, command.run {command=racer}, command.run {command=breakout}, command.run {command=dino}, command.run {command=shooter}, turn.complete, tool.call, ui.message, ui.render {component=AbovePrompt}
API calls
$.command.register, $.store.get, $.store.set, $.ui.invalidate, $.ui.log, $.ui.resolve, $.ui.toast
Surface modules
hooks/boards/breakout.tsx, hooks/boards/dino.tsx, hooks/boards/racer.tsx, hooks/boards/shooter.tsx
Validation on 2.1.287
fails on 2.1.287
Validator output
name: Plugin name "claude-games" is reserved: it passes as one of Anthropic's own. A third party's plugin name cannot start with "claude-", "anthropic-", "anthropics-", or "cc-plugin-", be "claude", "anthropic", "anthropics", "claude-code", or "claude-mods", or put "official" beside "claude" or "anthropic". Name it for what it does. If this is one of Anthropic's own plugins, validate the marketplace that lists it.
persists state, drawsfails on 2.1.287 Repository stars 1
explore-modelrlorenzo/ai-coding-setup

Pins the model that background recon subagents run on. An agent.spawn hook sets the Explore subagent's model to haiku, so a session driven by an expensive model stops billing its codebase searches at that tier, without shadowing the built-in agent definition and without the CLAUDE.md load a replacement definition would cost.

Access & validation details
Observed events
subagent spawns
Hooks
agent.spawn {subagentType=?}
API calls
$.ui.notice
Validation on 2.1.287
Passed
draws Repository stars 1
review-gaterlorenzo/ai-coding-setup

The review gate as a tool.check function hook. Every shell call is decided in process, so the non-commit calls -- almost all of them -- cost no subprocess at all, and a blocked commit can be put to you as a question instead of refused outright. The decision itself is still bin/review-gate, run only for a command that mentions a commit, so both routes read the same receipts and cannot disagree.

Access & validation details
Observed events
Only what it hooks
Hooks
tool.check {tool=Bash|PowerShell}
API calls
$.env.get, $.fs.exists, $.process.run, $.session.cwd, $.ui.log
Validation on 2.1.287
Passed
Validator output
./register.ts env writes: nothing; ./register.ts env reads: AI_REVIEW_GATE_BIN, HOME, USERPROFILE
runs processes, reads files, reads env vars, draws Repository stars 1
linearSaharCarmel/linear-mod

/linear: your Linear projects, milestones and issues in a pane beside the transcript. Read an issue, then press plan, execute or product to send a ready prompt about it into this session. A Claude Code function-hooks (Mods) plugin.

Access & validation details
Observed events
Only what it hooks
Hooks
session.start, command.run {command=linear}, ui.render {component=Pane}, ui.close {id=linear}, ui.focus {requestId=linear}, ui.scroll {requestId=linear}, turn.start, turn.complete
API calls
$.clock.after, $.clock.now, $.command.register, $.env.get, $.http.fetch, $.process.run, $.prompt.fill, $.prompt.submit, $.session.cwd, $.store.delete, $.store.get, $.store.set, $.ui.close, $.ui.focus, $.ui.invalidate, $.ui.log, $.ui.open, $.ui.resolve, $.ui.toast
Validation on 2.1.287
Passed
Validator output
./register.tsx env writes: nothing; ./register.tsx env reads: LINEAR_API_KEY
network, runs processes, drives Claude, writes the prompt box, reads env vars, persists state, draws Repository stars 1
usagelineSma1lboy/claude-mods

A status line under the prompt: context, cache hit rate, cache TTL countdown, today's spend for this project, and why a turn missed the cache. /usage prints the project ledger.

Access & validation details
Observed events
every tool call, compaction
Hooks
session.start, turn.start, turn.step, turn.complete, tool.call, session.compact, command.run {command=clear|resume}, command.run {command=usageline}, ui.render {component=PromptHint}
API calls
$.clock.every, $.clock.now, $.command.register, $.env.get, $.fs.read, $.process.run, $.session.model, $.session.repo, $.session.root, $.session.usage, $.store.get, $.store.set, $.ui.invalidate, $.ui.log, $.ui.resolve
Validation on 2.1.287
Passed
Validator output
./register.tsx env writes: nothing; ./register.tsx env reads: HOME
runs processes, reads files, reads env vars, persists state, draws Repository stars 1
noctissynex1437/noctis

Runs long Claude Code jobs overnight within your usage limits: pauses just before the 5-hour or weekly limit, resumes the same session after the reset (or relaunches it days later) and works through a list of jobs you hand it with /noctis:start <file>. Also runs in Codex CLI, Antigravity CLI, Droid and Copilot CLI.

Access & validation details
Observed events
compaction
Hooks
session.start, session.compact, turn.complete
API calls
$.clock.now, $.env.get, $.fs.read, $.fs.write, $.session.compact, $.session.id, $.session.usage, $.settings.read, $.ui.log
Validation on 2.1.287
Passed
Validator output
./lean.js env writes: nothing; ./lean.js env reads: CLAUDE_CODE_CUSTOM_OAUTH_URL, CLAUDE_CONFIG_DIR, DISABLE_AUTO_COMPACT, DISABLE_COMPACT, DISABLE_PROMPT_CACHING, HOME, USERPROFILE
writes files, drives Claude, reads files, reads env vars, reads settings, draws Repository stars 1
jevshiftunclecode/jevshift

Experimental Jev-assisted model and effort selection for Claude Code: observe, pin, off, and opt-in auto.

Access & validation details
Observed events
every prompt, classic hooks, compaction
Hooks
session.start, command.run, prompt.submit, turn.start, classic.SessionStart, session.compact, turn.step, classic.PostModelSwitch
API calls
$.clock.after, $.clock.now, $.command.register, $.env.get, $.process.run, $.session.id, $.session.messages, $.session.model, $.store.get, $.store.set, $.turn.abort, $.ui.log, $.ui.status
Validation on 2.1.287
Passed
Validator output
./register.ts env writes: nothing; ./register.ts env reads: CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC, OPENROUTER_API_KEY
runs processes, drives Claude, reads env vars, reads the transcript, persists state, draws Repository stars 1
artifact-archivevoid2610/dotfiles

一時ディレクトリ (tmp/scratchpad) からの Artifact publish を拒否し ~/Documents/claude-artifacts への保存へ誘導する

Access & validation details
Observed events
/"^Artifact$"/ calls
Hooks
tool.call {tool=/"^Artifact$"/}
API calls
none recorded
Validation on 2.1.287
Passed
draws only Repository stars 1
git-contextvoid2610/dotfiles

会話の最初のメッセージに現在ブランチ・git status・main からの差分コミットを注入する

Access & validation details
Observed events
the system prompt
Hooks
prompt.context
API calls
$.process.run
Validation on 2.1.287
Passed
runs processes Repository stars 1
guardsvoid2610/dotfiles

dotfiles のガード群 (git 操作のスキル強制・ブランチロック・コメント規約・文脈注入)。機能ごとに hooks/ 配下の 1 ファイル

Access & validation details
Observed events
every prompt, Bash calls, Edit calls, Write calls
Hooks
prompt.submit, tool.call {tool=Bash}, tool.call {tool=Edit}, tool.call {tool=Write}
API calls
$.env.get, $.fs.read, $.process.run
Validation on 2.1.287
Passed
Validator output
./index.ts env writes: nothing; ./index.ts env reads: HOME
runs processes, reads files, reads env vars Repository stars 1
ntfy-notifyvoid2610/dotfiles

メインループのターン完了を notify.sh 経由で ntfy.sh へプッシュ通知する

Access & validation details
Observed events
Only what it hooks
Hooks
turn.complete
API calls
$.env.get, $.process.run
Validation on 2.1.287
Passed
Validator output
./index.ts env writes: nothing; ./index.ts env reads: HOME
runs processes, reads env vars Repository stars 1
pr-watchvoid2610/dotfiles

現在ブランチの OPEN PR を常駐監視し、CI fail / Copilot レビュー到着でセッションを起こす (pr-create の background スクリプト置き換え)

Access & validation details
Observed events
every prompt
Hooks
session.start, command.run {command=pr-watch}, prompt.submit, ui.render {component=AbovePrompt}
API calls
$.clock.every, $.command.register, $.process.run, $.prompt.submit, $.store.get, $.store.set, $.ui.invalidate, $.ui.resolve
Validation on 2.1.287
Passed
runs processes, drives Claude, persists state, draws Repository stars 1
scratchpad-openvoid2610/dotfiles

現セッションの scratchpad を Finder で開くボタンと /scratchpad コマンド

Access & validation details
Observed events
every prompt
Hooks
session.start, prompt.submit, command.run {command=scratchpad}, ui.render {component=AbovePrompt}
API calls
$.clock.every, $.command.register, $.process.run, $.session.id, $.session.root, $.ui.invalidate, $.ui.resolve
Validation on 2.1.287
Passed
runs processes, draws Repository stars 1
ship-hudvoid2610/dotfiles

ship フローの状態機械をペインで可視化する。/ship-hud でトグル、進行中フローがあれば自動で開く。モデル向けに status ツールも提供

Access & validation details
Observed events
every prompt, /"^mcp__ship-hud__status$"/ calls, /"^mcp__ship-hud__(init|done|skip)$"/ calls
Hooks
session.start, prompt.submit, command.run {command=ship-hud}, tool.call {tool=/"^mcp__ship-hud__status$"/}, tool.call {tool=/"^mcp__ship-hud__(init|done|skip)$"/}, ui.render {component=AbovePrompt}
API calls
$.clock.every, $.command.register, $.env.get, $.process.run, $.tool.register, $.ui.invalidate, $.ui.resolve
Validation on 2.1.287
Passed
Validator output
./index.tsx env writes: nothing; ./index.tsx env reads: HOME
runs processes, drives Claude, reads env vars, draws Repository stars 1
turn-timervoid2610/dotfiles

各ターンの所要時間とトークン消費をトーストで表示する

Access & validation details
Observed events
Only what it hooks
Hooks
turn.complete
API calls
$.ui.toast
Validation on 2.1.287
Passed
draws Repository stars 1
turn-receiptyoshihiko555/dotfiles

Keeps a per-turn tally of edits, runs, curls and destructive commands and shows it on the turn footer; any non-read-only Bash counts as a run, a claim (English or Japanese) with no run flags the spinner, a destructive Bash unfolds its tool group, and an edit-without-run turn suggests running the tests.

Access & validation details
Observed events
every tool call
Hooks
session.start, command.run {command=turn-receipt}, turn.start, tool.call, turn.complete, prompt.suggest, ui.render {component=Spinner}, ui.render {component=TurnDuration}, ui.render {component=ToolGroup}
API calls
$.command.register, $.env.get, $.prompt.suggest, $.store.get, $.store.set, $.ui.invalidate, $.ui.log
Validation on 2.1.287
Passed with warnings
Validator output
version: No version specified. Consider adding a version following semver (e.g., "1.0.0"); ./register.ts env writes: nothing; ./register.ts env reads: CLAUDE_MODS_DISABLE
writes the prompt box, reads env vars, persists state, drawsValidator warnings Repository stars 1
cc-sideAhmad8864/cc-side

A separate agent conversation in Claude Code's right-hand pane, forked from the current context.

Access & validation details
Observed events
classic hooks
Hooks
session.start, command.run {command=side}, ui.render {component=Pane}, ui.message {component=Pane}, turn.complete, classic.Stop, ui.scroll {component=Pane}, ui.close {id=side}, session.end
API calls
$.clock.after, $.command.register, $.env.get, $.fs.write, $.http.fetch, $.process.run, $.prompt.fill, $.prompt.read, $.session.cwd, $.session.id, $.session.messages, $.session.model, $.settings.read, $.store.get, $.store.set, $.tool.list, $.ui.close, $.ui.copy, $.ui.focus, $.ui.invalidate, $.ui.open, $.ui.resolve, $.ui.scroll
Surface modules
hooks/composer.tsx
Validation on 2.1.287
Passed
Validator output
./register.tsx env writes: nothing; ./register.tsx env reads: CC_SIDE_BUN, CC_SIDE_TEST, CC_SIDE_TRACE, CC_SIDE_WORKER
other: $.prompt.read, other: $.tool.list, network, runs processes, writes files, writes the prompt box, reads env vars, reads settings, reads the transcript, persists state, draws Repository stars 0
agent-toolkitak110/dotfiles

Agent Plugins、Claude Code、Codex向けの品質支援プラグイン。コードと文書を扱う作業、計画やバグ調査の指針を示し、フックで入力と操作を確かめる。

Access & validation details
Observed events
Only what it hooks
Hooks
session.start, turn.complete
API calls
$.command.run, $.env.get, $.fs.read, $.fs.write, $.session.id, $.tool.call, $.tool.check
Validation on 2.1.287
Passed
Validator output
./session_exit.ts env writes: nothing; ./session_exit.ts env reads: CLAUDE_CONFIG_DIR, HOME, USERPROFILE
other: $.tool.check, writes files, drives Claude, reads files, reads env vars Repository stars 0
switchboardakparhi/context-engineering

Shared Switchboard gateway, setup, status and reversible Claude startup integration.

Access & validation details
Observed events
classic hooks, compaction, subagent spawns
Hooks
classic.PreToolUse, command.run {command=switchboard-usage}, ui.render {component=Pane}, ui.message {source=client}, turn.step, turn.complete, session.detach, session.compact, agent.offer, classic.SubagentStart, agent.spawn, session.start, classic.UserPromptSubmit, classic.SessionStart
API calls
$.command.register, $.env.get, $.http.fetch, $.session.cwd, $.session.id, $.session.model, $.ui.invalidate, $.ui.open, $.ui.resolve, $.ui.status
Surface modules
hooks/usage-view.ts
Validation on 2.1.287
Passed
Validator output
./register.ts env writes: nothing; ./register.ts env reads: SWITCHBOARD_GATEWAY_TOKEN, SWITCHBOARD_MOD_GATEWAY_URL, SWITCHBOARD_OPENAI_MODELS
network, reads env vars, draws Repository stars 0
revdiff-relayAlexander-Prime/revdiff-relay

Annotate diffs in a floating Zellij revdiff pane; each flush is relayed into your Claude Code session

Access & validation details
Observed events
classic hooks
Hooks
session.start, classic.SessionStart, classic.UserPromptSubmit, classic.FileChanged, command.run {command=revdiff}
API calls
$.command.register, $.env.get, $.fs.exists, $.fs.read, $.fs.stat, $.fs.write, $.process.run, $.prompt.submit, $.session.cwd, $.session.id, $.ui.log
Validation on 2.1.287
Passed with warnings
Validator output
version: No version specified. Consider adding a version following semver (e.g., "1.0.0"); ./register.ts env writes: nothing; ./register.ts env reads: EDITOR, PATH, REVDIFF_POPUP_HEIGHT, REVDIFF_POPUP_WIDTH, VISUAL, ZELLIJ
runs processes, writes files, drives Claude, reads files, reads env vars, drawsValidator warnings Repository stars 0
agent-routeralexandernicholson/agent-router

Choose subagent models with /agent-models and click the prompt panel to inspect activity, token usage, and routing. Requires Claude Code Mod function hooks enabled.

Access & validation details
Observed events
every tool call, subagent spawns
Hooks
tool.call, session.start, agent.spawn, turn.step, turn.complete, ui.render {component=AbovePrompt}, session.end, command.run {command=agent-models-apply}, command.run {command=agent-models}, ui.close {id=agent-models}, ui.render {component=Pane}
API calls
$.agent.list, $.clock.every, $.command.register, $.config.list, $.config.set, $.env.get, $.env.set, $.process.run, $.session.id, $.store.delete, $.store.get, $.store.set, $.ui.close, $.ui.invalidate, $.ui.log, $.ui.open, $.ui.resolve, $.ui.status
Validation on 2.1.287
Passed
Validator output
./register.ts env writes: CLAUDE_CODE_SUBAGENT_MODEL; ./register.ts env reads: ANTHROPIC_BASE_URL, CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS, CLAUDE_CODE_SUBAGENT_MODEL
runs processes, sets env vars, changes config, reads env vars, persists state, draws Repository stars 0
rtl-textaliir74/claude-code-rtl

Shapes and reorders Persian, Arabic and Hebrew text in the transcript through fribidi so the terminal draws it joined, right-to-left and right-aligned.

Access & validation details
Observed events
Only what it hooks
Hooks
ui.render {component=AssistantMessage}, ui.render {component=UserMessage}, ui.render {component=CommandOutput}, ui.render {component=ToolResult}
API calls
$.process.run, $.ui.log, $.ui.resolve
Validation on 2.1.287
Passed with warnings
Validator output
root: CLAUDE.md at the plugin root is not loaded as project context. To ship context with your plugin, use a skill (skills/<name>/SKILL.md) instead.
runs processes, drawsValidator warnings Repository stars 0
jev-skill-suggestionAnatoliyShk/bulgolingo

Keeps the skill listing out of the context window and lets TypeSafe's Jev, a System One decision model, pick at most one skill per prompt from the skills' descriptions, the way TypeSafe's skill-suggestion cookbook does: one request ranks every skill and asks whether the prompt needs a skill at all, a second re-reads the top three with their SKILL.md and can reject them all. The winner's SKILL.md is attached to the prompt, so the skills can be hidden from the model altogether (/jev-skill-suggestion:setup makes them user-invocable-only and /context counts them at 0). Falls back to the engine's built-in classifier when no key is set.

Access & validation details
Observed events
every prompt, compaction, the jev-skill-suggestion:setup skill, every skill
Hooks
prompt.attachment {type=skill_listing}, prompt.submit, session.end, session.compact, skill.prompt {skill=jev-skill-suggestion:setup}, skill.prompt
API calls
$.clock.now, $.clock.sleep, $.command.list, $.env.get, $.fs.exists, $.fs.list, $.fs.read, $.http.fetch, $.model.classify, $.session.cwd, $.ui.log, $.ui.status
Validation on 2.1.287
Passed
Validator output
./jev-skill-suggestion.ts env writes: nothing; ./jev-skill-suggestion.ts env reads: HOME
network, drives Claude, reads files, reads env vars, draws Repository stars 0
compact-handoffAnExiledDev/compact-handoff-plugin

Replaces the engine's compaction with a subagent's handoff, and measures whether it can be one

Access & validation details
Observed events
mcp__compact-handoff__force_compact calls, mcp__compact-handoff__refresh_handoff calls, mcp__compact-handoff__probe_spawn calls, mcp__compact-handoff__probe_budget calls, mcp__compact-handoff__ab_fork calls, mcp__compact-handoff__handoff_status calls, mcp__compact-handoff__handoff_list calls, mcp__compact-handoff__handoff_lookup calls, mcp__compact-handoff__handoff_search calls, mcp__compact-handoff__handoff_feedback calls, compaction
Hooks
session.start, agent.offer {agent=compact-handoff:handoff}, tool.call {tool=mcp__compact-handoff__force_compact}, tool.call {tool=mcp__compact-handoff__refresh_handoff}, tool.call {tool=mcp__compact-handoff__probe_spawn}, tool.call {tool=mcp__compact-handoff__probe_budget}, tool.call {tool=mcp__compact-handoff__ab_fork}, tool.call {tool=mcp__compact-handoff__handoff_status}, tool.call {tool=mcp__compact-handoff__handoff_list}, tool.call {tool=mcp__compact-handoff__handoff_lookup}, tool.call {tool=mcp__compact-handoff__handoff_search}, tool.call {tool=mcp__compact-handoff__handoff_feedback}, turn.complete, session.compact {trigger=precompute}, session.compact, engine.create
API calls
$.agent.list, $.agent.register, $.agent.spawn, $.clock.sleep, $.env.get, $.fs.exists, $.fs.read, $.fs.write, $.model.complete, $.model.fork, $.process.run, $.session.compact, $.session.cwd, $.session.id, $.session.messages
Validation on 2.1.287
Passed
Validator output
types ./types/compact-handoff.d.ts declares on $: $.compactHandoff; module.js env writes: nothing; module.js env reads: CLAUDE_CODE_VERSION, COMPACT_HANDOFF_AB_STOCK_SHARE, COMPACT_HANDOFF_DATA_DIR, COMPACT_HANDOFF_DEV, COMPACT_HANDOFF_LIVE, COMPACT_HANDOFF_MAX_CHARS, COMPACT_HANDOFF_MAX_FRACTION, COMPACT_HANDOFF_MAX_TOKENS, COMPACT_HANDOFF_MODEL, COMPACT_HANDOFF_REFRESH, COMPACT_HANDOFF_REFRESH_MS, COMPACT_HANDOFF_RESTORE_FILES, COMPACT_HANDOFF_RESTORE_FILE_CHARS, COMPACT_HANDOFF_RESTORE_TOTAL_CHARS, COMPACT_HANDOFF_SEAM_TIMEOUT_MS, COMPACT_HANDOFF_SUBAGENTS, HOME
other: $.agent.register, runs processes, writes files, drives Claude, reads files, reads env vars, reads the transcript Repository stars 0
layaanshc022/laya-claude-code

Runs the Laya decision model on your machine: checks each prompt, hints Claude at the right folder and task type, gives Claude a fast laya decide tool, and shows every decision in a band above the prompt.

Access & validation details
Observed events
every prompt, mcp__laya__decide calls
Hooks
session.start, prompt.submit, tool.call {tool=mcp__laya__decide}, command.run {command=laya}, ui.render {component=AbovePrompt}, ui.render {component=Pane, requestId=laya}
API calls
$.clock.every, $.clock.now, $.clock.sleep, $.command.register, $.env.get, $.fs.list, $.http.fetch, $.process.run, $.process.spawn, $.session.cwd, $.state.get, $.state.set, $.store.get, $.store.set, $.tool.register, $.ui.close, $.ui.log, $.ui.open, $.ui.resolve, $.ui.status, $.ui.toast
Validation on 2.1.287
Passed
Validator output
types ./types/index.d.ts declares on $: nothing (no EngineInterface member); types ./types/index.d.ts declares state: laya.server, laya.recent, laya.stats, laya.bandHidden; ./register.tsx env writes: nothing; ./register.tsx env reads: HOME, USERPROFILE; ./register.tsx state writes: laya.bandHidden, laya.recent, laya.server, laya.stats; ./register.tsx state reads: laya.bandHidden, laya.recent, laya.server, laya.stats
other: $.process.spawn, other: $.state.get, other: $.state.set, network, runs processes, drives Claude, reads files, reads env vars, persists state, draws Repository stars 0
fast-jev-compactionaryanvisualize/Understanding-Jev

Verbatim Jev-guided compaction for Claude Code sessions.

Access & validation details
Observed events
compaction
Hooks
session.compact, turn.complete
API calls
$.env.get, $.http.fetch, $.session.compact, $.session.usage, $.settings.read, $.ui.log, $.ui.toast
Validation on 2.1.287
Passed with warnings
Validator output
./fast-jev.ts env writes: nothing; ./fast-jev.ts env reads: TYPESAFE_API_KEY
network, drives Claude, reads env vars, reads settings, drawsValidator warnings Repository stars 0
tg-messengeraxisrow/tg_messenger

Telegram inside Claude Code: /tg opens a pane wired to tg-messenger serve (issues #246, #247).

Access & validation details
Observed events
Only what it hooks
Hooks
session.start, command.run {command=tg}, ui.render {component=Pane, requestId=tg}
API calls
$.clock.sleep, $.command.register, $.process.spawn, $.state.get, $.state.set, $.ui.close, $.ui.log, $.ui.open, $.ui.panes, $.ui.resolve, $.ui.toast
Validation on 2.1.287
Passed
Validator output
types ./types/index.d.ts declares on $: nothing (no EngineInterface member); types ./types/index.d.ts declares state: tg-messenger.messages, tg-messenger.draft, tg-messenger.pendingSend, tg-messenger.paletteFor; ./register.tsx state writes: tg-messenger.draft, tg-messenger.messages, tg-messenger.paletteFor, tg-messenger.pendingSend; ./register.tsx state reads: tg-messenger.draft, tg-messenger.messages, tg-messenger.paletteFor, tg-messenger.pendingSend
other: $.process.spawn, other: $.state.get, other: $.state.set, draws Repository stars 0
driftazkhh/drift

Are you moving or hiding in the dark? Watches the session for shipped work (commits, pushes, deploys, passing tests) against edits to tooling, config and docs, and says so in one quiet line when you have been in the dark too long. Zero model tokens, no network, nothing leaves your machine.

Access & validation details
Observed events
every prompt, every tool call
Hooks
session.start, session.end, prompt.submit, turn.complete, tool.call, ui.render {component=AbovePrompt}, command.run {command=drift}
API calls
$.clock.now, $.command.register, $.session.repo, $.session.root, $.state.get, $.state.set, $.store.get, $.store.set, $.ui.resolve
Validation on 2.1.287
Passed
Validator output
types ./hooks/state.d.ts declares on $: nothing (no EngineInterface member); types ./hooks/state.d.ts declares state: drift.band; ./register.ts state writes: drift.band; ./register.ts state reads: drift.band
other: $.state.get, other: $.state.set, persists state, draws Repository stars 0
git-gatesbahaospanov/claude-mods

Gates git work: no commit, push or merge without the user's say-so in their latest message; a push to a branch that already landed is refused; a pushed series must leave the project working at every commit; commit messages (format and the issue it is about, then a Haiku review of the body) and MR descriptions kept tidy.

Access & validation details
Observed events
every prompt, /"^mcp__(plugin_)?git-gates__grant$"/ calls, Bash calls
Hooks
prompt.submit, session.start, tool.call {tool=/"^mcp__(plugin_)?git-gates__grant$"/}, tool.call {tool=Bash}, tool.call {tool=Bash}, tool.call {tool=Bash}, tool.call {tool=Bash}, tool.call {tool=Bash}, tool.call {tool=Bash}
API calls
$.clock.now, $.env.get, $.fs.read, $.model.complete, $.process.run, $.session.cwd, $.session.messages, $.tool.register, $.ui.log, $.ui.status
Validation on 2.1.287
Passed
Validator output
./register.ts env writes: nothing; ./register.ts env reads: HOME
runs processes, drives Claude, reads files, reads env vars, reads the transcript, draws Repository stars 0
lean-commentsbahaospanov/claude-mods

Comments worth keeping: limit-edits flags comment-heavy edits, limit-turns sends a follow-up when a turn's diff adds too many comments.

Access & validation details
Observed events
Bash|Write|Edit calls, Write|Edit calls
Hooks
tool.call {tool=Bash|Write|Edit}, tool.call {tool=Write|Edit}, turn.complete
API calls
$.clock.after, $.fs.read, $.process.run, $.prompt.submit, $.ui.log
Validation on 2.1.287
Passed
runs processes, drives Claude, reads files, draws Repository stars 0
lean-docsbahaospanov/claude-mods

Docs worth keeping: docs-review asks Haiku whether new text will be read again, docs-no-repeat-code blocks lines that restate code, limit-docs sends a follow-up when a turn adds too much prose.

Access & validation details
Observed events
Bash|Write|Edit calls, Write|Edit calls
Hooks
tool.call {tool=Bash|Write|Edit}, tool.call {tool=Write|Edit}, tool.call {tool=Write|Edit}, turn.complete
API calls
$.clock.after, $.env.get, $.fs.read, $.model.complete, $.process.run, $.prompt.submit, $.session.cwd, $.ui.log, $.ui.status
Validation on 2.1.287
Passed
Validator output
./register.ts env writes: nothing; ./register.ts env reads: HOME, TMPDIR
runs processes, drives Claude, reads files, reads env vars, draws Repository stars 0
lean-scriptsbahaospanov/claude-mods

Scripts worth keeping: scripts-review asks Haiku whether a new script could just be typed again when needed.

Access & validation details
Observed events
Write|Edit calls
Hooks
tool.call {tool=Write|Edit}
API calls
$.env.get, $.fs.read, $.model.complete, $.process.run, $.session.cwd, $.ui.log, $.ui.status
Validation on 2.1.287
Passed
Validator output
./register.ts env writes: nothing; ./register.ts env reads: HOME, TMPDIR
runs processes, drives Claude, reads files, reads env vars, draws Repository stars 0
secchain-maskbannzai/SecChain

Hides SecChain's secret values in prompts, tool results and instructions before the model reads them, through secchain mask.

Access & validation details
Observed events
every prompt, every tool call, the system prompt
Hooks
prompt.submit, tool.call, prompt.section, prompt.context, prompt.attachment
API calls
$.env.get, $.fs.exists, $.process.spawn, $.ui.log
Validation on 2.1.287
Passed
Validator output
./mask.ts env writes: nothing; ./mask.ts env reads: HOME
other: $.process.spawn, reads files, reads env vars, draws Repository stars 0
dinobarisdemirhan/claude-dino

A T-Rex runner in a pane, inspired by Chrome's offline game: /dino, then space to jump, s to duck and p to pause while Claude works

Access & validation details
Observed events
every tool call, classic hooks
Hooks
session.start, command.run {command=dino}, ui.message, ui.close, tool.call, turn.complete, classic.Notification, ui.render {component=PromptHint}, ui.render {component=AbovePrompt}, ui.render {component=Pane, requestId=dino}
API calls
$.audio.play, $.command.register, $.http.fetch, $.state.get, $.state.set, $.store.get, $.store.set, $.ui.close, $.ui.open, $.ui.resolve, $.ui.toast
Surface modules
hooks/dino.tsx, hooks/mini.tsx
Validation on 2.1.287
Passed
Validator output
types ./types/index.d.ts declares on $: nothing (no EngineInterface member); types ./types/index.d.ts declares state: dino.input, dino.feed, dino.alert, dino.settings, dino.best, dino.offer, dino.board, dino.standing; ./register.tsx state writes: dino.alert, dino.best, dino.board, dino.feed, dino.input, dino.offer, dino.settings, dino.standing; ./register.tsx state reads: dino.alert, dino.best, dino.board, dino.feed, dino.input, dino.offer, dino.settings, dino.standing
other: $.state.get, other: $.state.set, network, plays audio, persists state, draws Repository stars 0
pomodorobarisdemirhan/claude-pomodoro

A pomodoro timer on the prompt's hint line: /pomodoro start, and the break toast lands while Claude works

Access & validation details
Observed events
classic hooks
Hooks
session.start, command.run {command=pomodoro}, turn.start, turn.complete, classic.Notification, ui.render {component=PromptHint}, ui.render {component=SessionMode}
API calls
$.audio.play, $.clock.every, $.clock.now, $.command.register, $.state.get, $.state.set, $.store.get, $.store.set, $.ui.toast
Validation on 2.1.287
Passed
Validator output
types ./types/index.d.ts declares on $: nothing (no EngineInterface member); types ./types/index.d.ts declares state: pomodoro.label; ./register.ts state writes: pomodoro.label; ./register.ts state reads: pomodoro.label
other: $.state.get, other: $.state.set, plays audio, persists state, draws Repository stars 0
usage-guardCamellia-inc/usage-guard

Claude の5時間の使用量の上限を status line に出し、しきい値を超えたらツールとプロンプトを止める mod

Access & validation details
Observed events
every tool call, every prompt
Hooks
session.start, session.measure, tool.call, prompt.submit
API calls
$.clock.now, $.session.usage, $.ui.status
Validation on 2.1.287
Passed
draws Repository stars 0
doomChaseWNorton/claude-doom

The original Doom engine, with Freedoom Phase 1, playable inside Claude Code. Run /doom.

Access & validation details
Observed events
Only what it hooks
Hooks
session.start, command.run {command=doom}, ui.render {component=Pane}, ui.message, ui.close, session.end
API calls
$.clock.every, $.command.register, $.http.fetch, $.process.run, $.ui.blit, $.ui.close, $.ui.invalidate, $.ui.open, $.ui.resolve
Surface modules
hooks/controls.ts
Validation on 2.1.287
Passed
network, runs processes, draws Repository stars 0
spare10chrisns/spare10-mod

Keeps the last part of your 5-hour and weekly quota for you. At the reserve, spare10 holds all work and asks you whether to continue. After a Resume, it asks again at the floor, by default at 5% left. Shortly before the reset, it lets work use the reserve.

Access & validation details
Observed events
every tool call, /"^AskUserQuestion$"/ calls, every prompt
Hooks
engine.create, session.start, session.end, session.measure, tool.call, tool.call {tool=/"^AskUserQuestion$"/}, turn.step, prompt.submit, command.run {command=spare10}, ui.render {component=SessionMode}
API calls
$.agent.list, $.clock.after, $.clock.every, $.clock.now, $.command.register, $.env.get, $.env.set, $.prompt.fill, $.prompt.read, $.prompt.submit, $.s, $.session.id, $.session.surfaces, $.session.usage, $.settings.read, $.spare10.auto, $.spare10.limit, $.spare10.park, $.spare10.poke
Validation on 2.1.287
Passed
Validator output
types ./types.d.ts declares on $: $.spare10; ./register.tsx env writes: SPARE10_CONSENT, SPARE10_HEADLESS, SPARE10_STOPPED, SPARE10_WEEKLY_CONSENT; ./register.tsx env reads: CLAUDE_AFK_TIMEOUT_MS, CLAUDE_CODE_ENABLE_FUNCTION_HOOKS, CLAUDE_CODE_SESSION_KIND, SPARE10, SPARE10_AUTO_RESUME, SPARE10_CONSENT, SPARE10_HEADLESS, SPARE10_LAST_MINUTES, SPARE10_LIMIT_PAUSE, SPARE10_PAUSE_PROMPT, SPARE10_RESERVE, SPARE10_RESUME_FLOOR, SPARE10_SIMULATE, SPARE10_STOPPED, SPARE10_WEEKLY_CONSENT, SPARE10_WEEKLY_LAST_HOURS, SPARE10_WEEKLY_RESERVE, SPARE10_WEEKLY_RESUME_FLOOR
other: $.prompt.read, other: $.s, other: $.spare10.auto, other: $.spare10.limit, other: $.spare10.park, other: $.spare10.poke, sets env vars, drives Claude, writes the prompt box, reads env vars, reads settings Repository stars 0
lintConte777/claude-lint

Formats and lints every file Claude Code edits, reported as one collapsible line.

Access & validation details
Observed events
Edit calls, Write calls
Hooks
tool.call {tool=Edit}, tool.call {tool=Write}
API calls
$.env.get, $.fs.exists, $.fs.read, $.fs.write, $.process.run, $.session.id, $.ui.log
Validation on 2.1.287
Passed
Validator output
./index.ts env writes: nothing; ./index.ts env reads: HOME
runs processes, writes files, reads files, reads env vars, draws Repository stars 0
firstmate-calmcsmoot99/Mafioso

Firstmate Calm for Claude Code: the sailboat working animation and conversation-only transcript presentation, sharing the per-home config/calm preference with the Pi Calm extension. Its hooks module may load through CLAUDE_CODE_ENABLE_FUNCTION_HOOKS or Claude Code's tengu_plugin_hooks_modules rollout flag, but the mod activates only when CLAUDE_CODE_ENABLE_FUNCTION_HOOKS is exactly 1 and is otherwise a complete no-op.

Access & validation details
Observed events
Only what it hooks
Hooks
session.start, command.run {command=calm}, config.set {key=theme}, turn.step, ui.render {component=Spinner}, ui.render {component=ToolUse}, ui.render {component=ToolResult}, ui.render {component=ToolGroup}, ui.render {component=UserMessage}, ui.render {component=AssistantMessage}
API calls
$.clock.every, $.command.register, $.config.list, $.env.get, $.fs.read, $.fs.write, $.session.messages, $.ui.blit, $.ui.invalidate, $.ui.resolve, $.ui.toast
Validation on 2.1.287
Passed
Validator output
./register.ts env writes: nothing; ./register.ts env reads: CLAUDE_CODE_ENABLE_FUNCTION_HOOKS, FM_CONFIG_OVERRIDE, FM_HOME, FM_ROOT_OVERRIDE
writes files, reads files, reads env vars, reads the transcript, draws Repository stars 0
usage-wrapupDaKev/usage-wrapup

When your plan usage gets low, tells every running agent to wrap up before the limit cuts it off.

Access & validation details
Observed events
every tool call
Hooks
session.measure, tool.call
API calls
$.session.usage, $.ui.status, $.ui.toast
Validation on 2.1.287
Passed
draws Repository stars 0
idle-compactdavidar/claude-idle-compact

Compacts an idle interactive session shortly before its prompt cache expires, so coming back later doesn't re-read the whole context uncached.

Access & validation details
Observed events
every prompt
Hooks
prompt.submit, turn.start, turn.complete, session.end
API calls
$.clock.after, $.clock.now, $.env.get, $.session.compact, $.session.usage, $.settings.read, $.ui.log, $.ui.status
Validation on 2.1.287
Passed
Validator output
./register.ts env writes: nothing; ./register.ts env reads: CLAUDE_CODE_PROMPT_CACHE_TTL, ENABLE_PROMPT_CACHING_1H, FORCE_PROMPT_CACHING_5M, IDLE_COMPACT_MIN_TOKENS, IDLE_COMPACT_MS
drives Claude, reads env vars, reads settings, draws Repository stars 0
cc-pokedexdeonmenezes/claude-mods-pokedex

Catch wild creatures above the Claude Code prompt: where your prompt leads (water, grass, fire, bugs, plans, builds) decides what appears. Pick a partner that draws under the logo, beside the spinner and above the prompt, and levels up and evolves as Claude works. Needs function hooks (early access) and an interactive terminal.

Access & validation details
Observed events
every prompt, every tool call
Hooks
session.start, prompt.submit, command.run {command=dex}, turn.complete, tool.call, ui.message, ui.render {component=AbovePrompt}, ui.render {component=Spinner}, ui.render {component=TurnDuration}, ui.render {component=InfoNotice}
API calls
$.clock.after, $.clock.now, $.command.register, $.store.get, $.store.set, $.ui.invalidate, $.ui.log, $.ui.resolve, $.ui.toast
Surface modules
hooks/boards/encounter.tsx, hooks/boards/partner.tsx
Validation on 2.1.287
Passed
persists state, draws Repository stars 0
fleetDubbus/claude-fleet

See every running Claude Code session and worktree at a glance: status, branch, uncommitted work, staleness

Access & validation details
Observed events
Only what it hooks
Hooks
session.start, turn.complete, command.run {command=exit}, command.run {command=fleet}, ui.close, ui.focus, ui.render {component=AbovePrompt}, ui.render {component=Pane, requestId=fleet}
API calls
$.clock.after, $.clock.every, $.clock.now, $.command.register, $.command.run, $.env.get, $.fs.exists, $.fs.list, $.fs.read, $.fs.stat, $.fs.write, $.model.complete, $.process.run, $.prompt.submit, $.session.cwd, $.session.id, $.state.get, $.state.set, $.store.delete, $.store.get, $.store.set, $.ui.copy, $.ui.open, $.ui.resolve, $.ui.status, $.ui.toast
Validation on 2.1.287
Passed
Validator output
types ./types/index.d.ts declares on $: nothing (no EngineInterface member); types ./types/index.d.ts declares state: fleet.snapshot, fleet.isOpen, fleet.selected, fleet.pendingClose, fleet.band; ./register.tsx env writes: nothing; ./register.tsx env reads: CLAUDE_FLEET_DEMO, CLAUDE_FLEET_EXIT_CHECK, CLAUDE_FLEET_HANDOFF_AT, CLAUDE_FLEET_NOTIFY, CLAUDE_FLEET_REGISTRY, HOME; ./register.tsx state writes: fleet.band, fleet.isOpen, fleet.pendingClose, fleet.selected, fleet.snapshot; ./register.tsx state reads: fleet.band, fleet.isOpen, fleet.pendingClose, fleet.selected, fleet.snapshot
other: $.state.get, other: $.state.set, runs processes, writes files, drives Claude, reads files, reads env vars, persists state, draws Repository stars 0
origamidullfig/origami

Variable-resolution context: folds bulky stale tool output to disk behind always-visible stubs; hydrate() recovers detail on demand.

Access & validation details
Observed events
compaction, classic hooks, mcp__origami__hydrate calls, mcp__origami__unpin calls, every tool call
Hooks
turn.complete, session.compact, session.start, classic.SessionStart, tool.call {tool=mcp__origami__hydrate}, tool.call {tool=mcp__origami__unpin}, tool.call
API calls
$.fs.exists, $.fs.read, $.fs.write, $.model.complete, $.session.compact, $.session.messages, $.session.root, $.store.delete, $.store.get, $.store.keys, $.store.set, $.tool.register, $.ui.log
Validation on 2.1.287
Passed with warnings
writes files, drives Claude, reads files, reads the transcript, persists state, drawsValidator warnings Repository stars 0
engine-fixtureduqaXxX/sidepad

Tooling only, never installed: draws what sidepad avoids, so the limit scenarios of check:live can watch Claude Code do it.

Access & validation details
Observed events
Only what it hooks
Hooks
session.start, command.run {command=?}, ui.render {component=Pane}
API calls
$.clock.sleep, $.command.register, $.ui.open, $.ui.panes, $.ui.resolve, $.ui.status
Validation on 2.1.287
Passed
draws Repository stars 0
sidepadduqaXxX/sidepad

A read-only side pane beside the transcript: it opens the file Claude last edited at the end of the turn, lists directories one page at a time, draws code highlighted and Markdown rendered, and sends a selected passage back to Claude with a command or the next prompt.

Access & validation details
Observed events
every prompt, ?|? calls
Hooks
session.start, command.run, command.run {command=?}, session.end, ui.render {component=PromptHint}, ui.render {component=Pane}, ui.scroll {requestId=?}, ui.message {requestId=?}, ui.press {requestId=?}, prompt.submit, tool.call {tool=?|?}, turn.complete, ui.close {id=?}
API calls
$.command.register, $.config.list, $.fs.list, $.fs.read, $.fs.stat, $.process.run, $.prompt.submit, $.store.get, $.store.set, $.ui.close, $.ui.invalidate, $.ui.open, $.ui.panes, $.ui.resolve, $.ui.status
Surface modules
hooks/surfaces/code-view.tsx, hooks/surfaces/markdown-page-view.tsx
Validation on 2.1.287
Passed
runs processes, drives Claude, reads files, persists state, draws Repository stars 0
loose-endsfernandomoraes/loose-ends

A live checklist above the prompt of the conversation's loose ends: questions left unanswered, points made in passing, caveats and deferred work it moved past, kept up to date by a small model after each turn. Needs function hooks (early access) and an interactive terminal.

Access & validation details
Observed events
Only what it hooks
Hooks
session.start, turn.start, turn.complete, command.run {command=loose-ends}, command.run {command=exit}, command.run {command=quit}, ui.render {component=AbovePrompt}
API calls
$.clock.after, $.command.register, $.model.complete, $.session.id, $.session.messages, $.store.delete, $.store.get, $.store.keys, $.store.set, $.ui.ask, $.ui.invalidate, $.ui.log, $.ui.resolve
Validation on 2.1.287
Passed
drives Claude, reads the transcript, persists state, draws Repository stars 0
pi-outlinerfloat-ritual-stack/pi-herdr-outliner

Pi Outliner integration for Claude Code: typed outline, workboard and door tools for agents (read, find, edit, comment, changes, draft.patch, ep0ch act), clickable references, and completed responses that mention [[pages]], ((block ids)) or Work IDs in the Outliner's Recent Mentions navigator.

Access & validation details
Observed events
the system prompt, ? calls, mcp__pi-outliner__show calls
Hooks
session.start, prompt.context, tool.call {tool=?}, tool.call {tool=?}, tool.call {tool=?}, tool.call {tool=mcp__pi-outliner__show}, ui.render {component=AssistantMessage}, turn.complete
API calls
$.clock.after, $.clock.sleep, $.env.get, $.process.run, $.session.cwd, $.session.id, $.tool.register, $.ui.resolve, $.ui.toast
Validation on 2.1.287
Passed
Validator output
./register.ts env writes: nothing; ./register.ts env reads: EP0CH_AGENT, EP0CH_CONTROL, EP0CH_NEST, EP0CH_TILE, EP0CH_TILE_ID, HERDR_PANE_ID, HERDR_WORKSPACE_ID, HOME, OUTLINER_ACTOR, PI_OUTLINER_MENTIONS_WORKSPACES
runs processes, drives Claude, reads env vars, draws Repository stars 0
fast-jev-plusgaaurav03/Jev-Project

Verbatim Jev-guided compaction for Claude Code sessions.

Access & validation details
Observed events
compaction
Hooks
session.compact, turn.complete
API calls
$.clock.after, $.env.get, $.fs.exists, $.fs.read, $.fs.write, $.http.fetch, $.session.compact, $.session.cwd, $.session.repo, $.session.usage, $.settings.read, $.store.get, $.store.set, $.ui.log, $.ui.toast
Validation on 2.1.287
Passed
Validator output
./fast-jev.ts env writes: nothing; ./fast-jev.ts env reads: DO_NOT_TRACK, JEV_CLOUD_INGEST_TOKEN, JEV_CLOUD_INGEST_URL, JEV_CLOUD_UPLOAD, JEV_TELEMETRY, JEV_TELEMETRY_URL, TYPESAFE_API_KEY
network, writes files, drives Claude, reads files, reads env vars, reads settings, persists state, draws Repository stars 0
prompt-stashgonzaloserrano/cc-prompt-stash

/stash: a git-stash-like stack of prompts, kept between sessions, popped back into the prompt box.

Access & validation details
Observed events
Only what it hooks
Hooks
session.start, command.run {command=stash}
API calls
$.command.register, $.prompt.fill, $.store.get, $.store.set
Validation on 2.1.287
Passed
writes the prompt box, persists state Repository stars 0
jev-compactHAR5HA-7663/jev-compact

Context compaction that prunes instead of summarising: rules drop exploration output and hook noise locally, Jev ranks the rest against a budget, a note says what was removed, and removed outputs are archived for the brain. Falls back to the built-in summary when it cannot do better.

Access & validation details
Observed events
compaction
Hooks
session.compact
API calls
$.env.get, $.fs.exists, $.fs.read, $.fs.write, $.http.fetch, $.session.usage, $.ui.log, $.ui.toast
Validation on 2.1.287
Passed
Validator output
./jev-compact.ts env writes: nothing; ./jev-compact.ts env reads: HOME, JEV_COMPACT_OFF, TYPESAFE_API_KEY
network, writes files, reads files, reads env vars, draws Repository stars 0
jev-compact-triggerHAR5HA-7663/jev-compact

Companion to jev-compact: watches context use after every turn and starts a compaction at the configured percentage. Separate plugin on purpose: the engine skips a plugin's own session.compact hook when that plugin raises the compaction, so the trigger must come from outside jev-compact for the pruning to run.

Access & validation details
Observed events
Only what it hooks
Hooks
turn.complete
API calls
$.clock.after, $.config.list, $.env.get, $.fs.read, $.fs.write, $.session.compact, $.session.usage
Validation on 2.1.287
Passed
Validator output
./trigger.ts env writes: nothing; ./trigger.ts env reads: HOME, JEV_COMPACT_DEBUG
writes files, drives Claude, reads files, reads env vars Repository stars 0
cc-sidecarHoshimuraYuto/cc-sidecar

See what codex, claude and gemini do when Claude Code delegates to them from Bash

Access & validation details
Observed events
Bash calls
Hooks
session.start, tool.call {tool=Bash}, ui.press {plugin=cc-sidecar, requestId=cc-sidecar}, command.run {command=cc-sidecar}, config.set {key="cc-sidecar.mode"}, ui.render {component=PromptHint}, ui.render {component=Pane, requestId=cc-sidecar}
API calls
$.clock.every, $.command.register, $.config.set, $.env.get, $.fs.read, $.fs.write, $.store.get, $.store.set, $.ui.close, $.ui.invalidate, $.ui.open, $.ui.panes, $.ui.resolve
Validation on 2.1.287
Passed
Validator output
./hooks.tsx env writes: nothing; ./hooks.tsx env reads: HOME
writes files, changes config, reads files, reads env vars, persists state, draws Repository stars 0
bw-peekiautom8things/bw-peek

A Beadwork ticket pane inside Claude Code: /bw <id> or a search box runs bw show and draws the digest, title, description and comments; every ticket id a reply mentions gets a button that opens it. Needs function hooks (CLAUDE_CODE_ENABLE_FUNCTION_HOOKS=1).

Access & validation details
Observed events
Bash calls
Hooks
session.start, tool.call {tool=Bash}, command.run {command=bw}, ui.close, ui.render {component=Pane}, ui.render {component=AssistantMessage}
API calls
$.clock.now, $.command.register, $.process.run, $.store.delete, $.store.get, $.store.set, $.ui.close, $.ui.focus, $.ui.invalidate, $.ui.log, $.ui.open, $.ui.resolve, $.ui.toast
Validation on 2.1.287
Passed
runs processes, persists state, draws Repository stars 0
pr-bridge-watchippoan/gh-actions-live

gh pr create / pr-push.sh で PR ができたら、その branch の CI を gh-actions-bridge の ws /watch に Monitor で繋ぐ Claude Mod (function hooks)

Access & validation details
Observed events
every prompt, every tool call, Bash calls
Hooks
prompt.submit, session.receive, tool.call, tool.call {tool=Bash}
API calls
$.clock.sleep, $.env.get, $.http.fetch, $.process.run, $.tool.call, $.ui.log
Validation on 2.1.287
Passed
Validator output
./register.ts env writes: nothing; ./register.ts env reads: CLAUDE_CODE_ENTRYPOINT
network, runs processes, drives Claude, reads env vars, draws Repository stars 0
idle-compactitkrt2y/claude-plugins

Compact the conversation once after 40 idle minutes, while the 1h prompt cache is still warm.

Access & validation details
Observed events
compaction
Hooks
turn.start, turn.complete, session.compact, session.end
API calls
$.clock.after, $.clock.now, $.session.compact, $.session.id, $.ui.log
Validation on 2.1.287
Passed with warnings
Validator output
version: No version specified. Consider adding a version following semver (e.g., "1.0.0")
drives Claude, drawsValidator warnings Repository stars 0
asideJayDoubleu/aside

Read-only side chat: /aside opens a pane beside the transcript where you ask about the session so far; answers come from a tool-less fork of the session's own transcript and nothing is written back into the main thread.

Access & validation details
Observed events
Only what it hooks
Hooks
session.start, command.run {command=aside}, turn.complete, ui.render {component=Pane}, ui.input {plugin=aside, element=q}, ui.press {plugin=aside}
API calls
$.clock.now, $.command.register, $.model.complete, $.model.fork, $.session.messages, $.ui.close, $.ui.invalidate, $.ui.open, $.ui.resolve
Validation on 2.1.287
Passed
drives Claude, reads the transcript, draws Repository stars 0
jet-routerjetsongdev/jet-router

Experimental Claude Code effort router: fake and opt-in Jev shadow

Access & validation details
Observed events
every prompt
Hooks
session.start, command.run {command=jet-router}, prompt.submit, turn.start, turn.complete, turn.step
API calls
$.clock.now, $.clock.sleep, $.command.register, $.process.run, $.ui.log, $.ui.status
Validation on 2.1.287
Passed
runs processes, draws Repository stars 0
jevcompjevcomp/jevcomp

Jev decides what Claude Code keeps when it compacts, instead of a model-written summary.

Access & validation details
Observed events
compaction
Hooks
session.compact
API calls
$.process.run, $.session.id, $.ui.log
Validation on 2.1.287
Passed
runs processes, draws Repository stars 0
fast-jev-compactionjfcarpiopuntocom/friendly-123

Verbatim Jev-guided compaction for Claude Code sessions.

Access & validation details
Observed events
compaction
Hooks
session.compact, turn.complete
API calls
$.env.get, $.http.fetch, $.session.compact, $.session.usage, $.settings.read, $.ui.log, $.ui.toast
Validation on 2.1.287
Passed with warnings
Validator output
./fast-jev.ts env writes: nothing; ./fast-jev.ts env reads: AI_GATEWAY_API_KEY, TYPESAFE_API_KEY
network, drives Claude, reads env vars, reads settings, drawsValidator warnings Repository stars 0
fast-jev-outputjfcarpiopuntocom/friendly-123

Trim long Bash output with Jev before the model sees it (Claude Code plugin)

Access & validation details
Observed events
Bash calls
Hooks
tool.call {tool=Bash}
API calls
$.env.get, $.fs.exists, $.fs.read, $.fs.write, $.http.fetch, $.session.messages, $.settings.read, $.ui.log, $.ui.toast
Validation on 2.1.287
Passed with warnings
Validator output
./fast-jev-output.ts env writes: nothing; ./fast-jev-output.ts env reads: AI_GATEWAY_API_KEY, EVAL_TYPESAFE_API_KEY, TYPESAFE_API_KEY
network, writes files, reads files, reads env vars, reads settings, reads the transcript, drawsValidator warnings Repository stars 0
time-checkjh3ady/claude-time-check

Asks you to acknowledge the time before prompting inside time windows you configure per day.

Access & validation details
Observed events
every prompt
Hooks
session.start, command.run {command=time-check}, prompt.submit, ui.close, ui.render {component=Pane, requestId=time-check}, ui.render {component=Pane, requestId=time-check-settings}
API calls
$.clock.now, $.command.register, $.prompt.submit, $.state.get, $.state.set, $.store.get, $.store.set, $.ui.close, $.ui.log, $.ui.open, $.ui.resolve
Validation on 2.1.287
Passed with warnings
Validator output
types ./types/index.d.ts declares on $: nothing (no EngineInterface member); types ./types/index.d.ts declares state: time-check.pending, time-check.isSessionMuted, time-check.feedback; root: CLAUDE.md at the plugin root is not loaded as project context. To ship context with your plugin, use a skill (skills/<name>/SKILL.md) instead.; ./register.tsx state writes: time-check.feedback, time-check.isSessionMuted, time-check.pending; ./register.tsx state reads: time-check.feedback, time-check.isSessionMuted, time-check.pending
other: $.state.get, other: $.state.set, drives Claude, persists state, drawsValidator warnings Repository stars 0
calmjoshhornby/dotfiles

Hide tool noise and show one live status line while Claude works. Needs CLAUDE_CODE_ENABLE_FUNCTION_HOOKS=1.

Access & validation details
Observed events
every tool call
Hooks
session.start, command.run {command=calm}, tool.call, turn.complete, ui.render {component=ToolUse}, ui.render {component=ToolResult}, ui.render {component=ToolGroup}, ui.render {component=TurnDuration}
API calls
$.command.register, $.store.get, $.store.set, $.ui.invalidate, $.ui.resolve, $.ui.status
Validation on 2.1.287
Passed
persists state, draws Repository stars 0
jev-skill-scoutkaranb192/jev-skill-scout

Before each prompt reaches the model, TypeSafe's Jev ranks your installed skills against it and attaches one line naming the skill to load. Sends the prompt text to api.typesafe.ai. Needs function hooks (early access).

Access & validation details
Observed events
every prompt
Hooks
session.start, prompt.submit
API calls
$.clock.now, $.clock.sleep, $.env.get, $.fs.exists, $.fs.list, $.fs.read, $.http.fetch, $.session.cwd, $.store.get, $.store.set, $.ui.log, $.ui.status
Validation on 2.1.287
Passed
Validator output
./register.ts env writes: nothing; ./register.ts env reads: HOME, JEV_SKILL_SCOUT_SHADOW, TYPESAFE_API_KEY, TYPESAFE_KEY
network, reads files, reads env vars, persists state, draws Repository stars 0
fast-laya-compactionkartikeyaagr/fast-laya-compaction

Verbatim Laya-guided compaction for Claude Code sessions (local, no API key).

Access & validation details
Observed events
compaction
Hooks
session.compact, turn.complete
API calls
$.process.run, $.session.compact, $.session.usage, $.ui.log, $.ui.toast
Validation on 2.1.287
Passed
runs processes, drives Claude, draws Repository stars 0
observe-modkawaz/claude-rules-personal

Logs every function-hook event (on '*') to JSONL for inspection.

Access & validation details
Observed events
everything
Hooks
*, session.start, session.end
API calls
$.clock.every, $.env.get, $.fs.read, $.fs.write, $.session.id
Validation on 2.1.287
Passed with warnings
Validator output
./register.ts env writes: nothing; ./register.ts env reads: MODS_LAB_DIR
writes files, reads files, reads env varsValidator warnings Repository stars 0
crosstalkkbrdn1/claude-crosstalk

A Claude Mod: /crosstalk opens a pane with this session's conversations with your other Claude Code sessions (peer deliveries in, SendMessage out) and lets you reply from it.

Access & validation details
Observed events
SendMessage calls
Hooks
session.start, session.receive {origin has {kind=peer|peer-send-message}, tool.call {tool=SendMessage}, command.run {command=crosstalk}, ui.close {id=crosstalk}, ui.focus, ui.scroll {requestId=crosstalk}, ui.render {component=Pane}
API calls
$.clock.after, $.clock.every, $.clock.now, $.command.register, $.env.get, $.process.run, $.session.id, $.store.delete, $.store.get, $.store.keys, $.store.set, $.tool.call, $.ui.close, $.ui.focus, $.ui.invalidate, $.ui.open, $.ui.panes, $.ui.resolve, $.ui.status
Validation on 2.1.287
Passed with warnings
Validator output
root: CLAUDE.md at the plugin root is not loaded as project context. To ship context with your plugin, use a skill (skills/<name>/SKILL.md) instead.; ./register.ts env writes: nothing; ./register.ts env reads: CLAUDE_CONFIG_DIR, HOME
runs processes, drives Claude, reads env vars, persists state, drawsValidator warnings Repository stars 0
self-improvement-loopkolezka/self-improvement-loop

Background reflection on Claude Code sessions that promotes recurring lessons into skills, hooks, rules and agents, tracks artifact usage feedback, and ships a local web UI to review and rate them. Runs on Bun, no Python required.

Access & validation details
Observed events
Only what it hooks
Hooks
none
API calls
none recorded
Validation on 2.1.287
fails on 2.1.287
Validator output
root: CLAUDE.md at the plugin root is not loaded as project context. To ship context with your plugin, use a skill (skills/<name>/SKILL.md) instead.; modules.../dist/hook-module.js: kolezka__self-improvement-loop: /tmp/acm-clones/kolezka__self-improvement-loop/dist/hook-module.js: no such file
draws onlyfails on 2.1.287 Repository stars 0
hidevalueskonsta95/ClaudeCodeMods

Hides high-entropy tokens and e-mail addresses in Bash results until hovered

Access & validation details
Observed events
Only what it hooks
Hooks
ui.render {component=ToolUse|ToolResult}
API calls
$.env.get, $.fs.write, $.ui.resolve
Validation on 2.1.287
Passed
Validator output
./hidevalues.ts env writes: nothing; ./hidevalues.ts env reads: PROBE_OUT
writes files, reads env vars, draws Repository stars 0
mod-settingskonsta95/ClaudeCodeMods

Draft and apply mod settings, with declared presets, undo and observed hook previews.

Access & validation details
Observed events
everything
Hooks
*, plugin.register, session.start, config.set, config.describe, ui.focus {requestId=mod-settings}, ui.close {id=mod-settings}, command.run {command=mods}, ui.render {component=Pane}
API calls
$.command.register, $.config.list, $.config.set, $.fs.exists, $.fs.read, $.model.complete, $.session.id, $.store.delete, $.store.get, $.store.set, $.ui.ask, $.ui.close, $.ui.invalidate, $.ui.open, $.ui.resolve, $.ui.toast
Validation on 2.1.287
Passed
changes config, drives Claude, reads files, persists state, draws Repository stars 0
statuslinekonsta95/ClaudeCodeMods

ClaudeCodeStatusline as a function-hook mod: the status bar drawn in the hint line under the prompt, each segment revealing its details on hover, with /statusline-mod to pick the segments.

Access & validation details
Observed events
classic hooks, compaction, every prompt
Hooks
session.start, session.end, turn.complete, turn.step, command.run {command=model|compact|clear}, command.run, classic.SessionStart, session.compact, config.set {key=model}, ui.render {component=PromptHint}, command.run {command=statusline-mod}, prompt.submit, ui.focus {component=AbovePrompt}, ui.render {component=AbovePrompt}
API calls
$.clock.after, $.clock.every, $.clock.sleep, $.command.register, $.config.list, $.config.set, $.env.get, $.fs.read, $.fs.write, $.session.cwd, $.session.id, $.session.model, $.session.repo, $.session.usage, $.store.delete, $.store.get, $.store.set, $.ui.focus, $.ui.invalidate, $.ui.resolve, $.ui.status, $.ui.toast
Validation on 2.1.287
Passed
Validator output
./statusline.ts env writes: nothing; ./statusline.ts env reads: PROBE_OUT, PROBE_RUN
writes files, changes config, reads files, reads env vars, persists state, draws Repository stars 0
atelierkys0213/kys-claude-plugin

통합 개발 워크플로우: spec/git/orchestrator/workflow 를 관심사 단위 skill 로 큐레이션한 단일 plugin

Access & validation details
Observed events
subagent spawns, Agent calls, compaction
Hooks
agent.spawn, tool.call {tool=Agent}, session.compact
API calls
$.process.run
Validation on 2.1.287
Passed with warnings
Validator output
hooks.SessionStart: Shell command uses ${CLAUDE_PLUGIN_ROOT} without quotes: ${CLAUDE_PLUGIN_ROOT}/hooks/check-cli-version.sh. If the expanded path contains a space the command can split into several words and fail. Wrap the placeholder in double quotes, or use exec form: {"command": "<executable>", "args": ["${CLAUDE_PLUGIN_ROOT}/..."]}.; hooks.SessionStart: Shell command uses ${CLAUDE_PLUGIN_ROOT} without quotes: ${CLAUDE_PLUGIN_ROOT}/hooks/session-baseline.sh. If the expanded path contains a space the command can split into several words and fail. Wrap the placeholder in double quotes, or use exec form: {"command": "<executable>", "args": ["${CLAUDE_PLUGIN_ROOT}/..."]}.; hooks.SessionStart: Shell command uses ${CLAUDE_PLUGIN_ROOT} without quotes: ${CLAUDE_PLUGIN_ROOT}/hooks/ensure-agent-teams.sh. If the expanded path contains a space the command can split into several words and fail. Wrap the placeholder in double quotes, or use exec form: {"command": "<executable>", "args": ["${CLAUDE_PLUGIN_ROOT}/..."]}.; hooks.Stop: Shell command uses ${CLAUDE_PLUGIN_ROOT} without quotes: ${CLAUDE_PLUGIN_ROOT}/hooks/suggest-simplify.sh. If the expanded path contains a space the command can split into several words and fail. Wrap the placeholder in double quotes, or use exec form: {"command": "<executable>", "args": ["${CLAUDE_PLUGIN_ROOT}/..."]}.; hooks.Stop: Shell command uses ${CLAUDE_PLUGIN_ROOT} without quotes: ${CLAUDE_PLUGIN_ROOT}/hooks/push-check.sh. If the expanded path contains a space the command can split into several words and fail. Wrap the placeholder in double quotes, or use exec form: {"command": "<executable>", "args": ["${CLAUDE_PLUGIN_ROOT}/..."]}.
runs processesValidator warnings Repository stars 0
agents-skillsLeechael/claude-code-mod-agent-skills

Discover Agent Skills under .agents/skills (project) and ~/.agents/skills (user), expose them as slash commands, list them in prompt.context, and optionally intercept the Skill tool so names from those trees load without living under .claude/skills.

Access & validation details
Observed events
Only what it hooks
Hooks
none
API calls
none recorded
Validation on 2.1.287
fails on 2.1.287
Validator output
modules../register.ts: Leechael__claude-code-mod-agent-skills: /tmp/acm-clones/Leechael__claude-code-mod-agent-skills/hooks/discover/scan.ts does not parse: Expected ";" but found "$" (line 89, column 50); Invalid flag "k" in regular expression (line 89, column 68); Invalid flag "l" in regular expression (line 89, column 70); Invalid flag "l" in regular expression (line 89, column 71); Duplicate flag "s" in regular expr… [+27 chars]
draws onlyfails on 2.1.287 Repository stars 0
claude-maru-runlemonlatte/claude-maru-run

An orange-and-white cat chases a butterfly across seven rows above the prompt for as long as Claude works, bounding after it, leaping when it dips low, and going over in a heap when it misses; the trees and grass of the lot slide past behind it as it runs. Needs function hooks (early access) and an interactive terminal.

Access & validation details
Observed events
Only what it hooks
Hooks
session.start, command.run {command=maru}, turn.start, turn.complete, ui.render {component=AbovePrompt}, ui.render {component=Spinner}
API calls
$.clock.after, $.clock.every, $.clock.now, $.command.register, $.store.get, $.store.set, $.ui.blit, $.ui.invalidate, $.ui.log, $.ui.resolve
Validation on 2.1.287
fails on 2.1.287
Validator output
name: Plugin name "claude-maru-run" is reserved: it passes as one of Anthropic's own. A third party's plugin name cannot start with "claude-", "anthropic-", "anthropics-", or "cc-plugin-", be "claude", "anthropic", "anthropics", "claude-code", or "claude-mods", or put "official" beside "claude" or "anthropic". Name it for what it does. If this is one of Anthropic's own plugins, validate the marketplace that lists it.
persists state, drawsfails on 2.1.287 Repository stars 0
pinliquid1982/claude-plugins

Marks conversation content wrapped in <pin>...</pin> tags as compaction-proof: pinned content is re-injected verbatim into the transcript after every compaction (manual /compact, auto-compaction, plugin-triggered, or precompute).

Access & validation details
Observed events
compaction
Hooks
session.compact, ui.render {component=AbovePrompt}
API calls
$.session.messages, $.ui.invalidate, $.ui.resolve, $.ui.status
Validation on 2.1.287
Passed with warnings
reads the transcript, drawsValidator warnings Repository stars 0
topic-filterlperezmo/topic-filter-mod

Keep unrelated topics from pulling Claude off your code: listed terms become stable placeholder names (or their lines are dropped) in tool output, prompts, CLAUDE.md and skills before the model reads them. The system prompt is never changed.

Access & validation details
Observed events
every tool call, every prompt, the system prompt, every skill
Hooks
session.start, session.end, tool.call, prompt.submit, prompt.context, prompt.attachment, skill.prompt, tool.describe, session.receive, command.run, ui.render {component=SessionMode}, ui.render {component=Pane}, ui.press
API calls
$.agent.list, $.command.register, $.env.get, $.fs.list, $.fs.read, $.fs.stat, $.store.get, $.store.set, $.ui.close, $.ui.invalidate, $.ui.log, $.ui.open, $.ui.panes, $.ui.resolve, $.ui.toast
Validation on 2.1.287
Passed
Validator output
./register.ts env writes: nothing; ./register.ts env reads: HOME, USERPROFILE
reads files, reads env vars, persists state, draws Repository stars 0
fast-jev-compactionm0hamedb3ngab5ia/fast-jev-compaction

Verbatim Jev-guided compaction for Claude Code sessions.

Access & validation details
Observed events
compaction
Hooks
session.compact, turn.complete
API calls
$.env.get, $.http.fetch, $.session.compact, $.session.usage, $.settings.read, $.ui.log, $.ui.toast
Validation on 2.1.287
Passed with warnings
Validator output
./fast-jev.ts env writes: nothing; ./fast-jev.ts env reads: TYPESAFE_API_KEY
network, drives Claude, reads env vars, reads settings, drawsValidator warnings Repository stars 0
claudoomMadAppGang/magus-alpha

Plays Doom-engine WADs in a Claude Code pane: runs doom-cli (GPLv2, built from upstream) in a private tmux server and repaints its frames into a Raster. Fetches Freedoom (BSD) on demand. DOOM is a ZeniMax trademark; not affiliated with id Software, ZeniMax or Anthropic.

Access & validation details
Observed events
Only what it hooks
Hooks
session.start, command.run {command=claudoom}, ui.render {component=Pane}, ui.scroll {requestId=claudoom}, ui.message, ui.close {id=claudoom}, session.end
API calls
$.clock.every, $.command.register, $.env.get, $.fs.exists, $.fs.read, $.fs.write, $.process.run, $.session.id, $.ui.blit, $.ui.close, $.ui.invalidate, $.ui.log, $.ui.open, $.ui.panes, $.ui.resolve
Surface modules
hooks/controls.tsx
Validation on 2.1.287
Passed
Validator output
./register.tsx env writes: nothing; ./register.tsx env reads: HOME
runs processes, writes files, reads files, reads env vars, draws Repository stars 0
protocol-guardMar5929/claude-toolkit

Required workflow checks with Claude Code function hooks. Refuses a knowledge-file write, or a memory-service save in external memory mode, until knowledge-save is open, refuses hand edits to generated indexes, refuses a pull request, close or merge until knowledge-save (and the work or merge-and-clean-up skill) is open, and holds a final reply once when working memory or the index rebuild and checker did not follow the change. Fact checks only: no model call and no reading of the agent's words. Runs only when CLAUDE_CODE_ENABLE_FUNCTION_HOOKS=1.

Access & validation details
Observed events
compaction, every prompt, classic hooks, every skill, every tool call
Hooks
session.start, session.end, turn.start, session.compact, prompt.submit, classic.UserPromptSubmit, classic.Stop, skill.prompt, tool.call, turn.step, turn.complete
API calls
$.agent.list, $.command.list, $.env.set, $.fs.exists, $.fs.read, $.session.cwd, $.session.id, $.session.root, $.ui.log
Validation on 2.1.287
Passed
Validator output
./engine.ts env writes: TOOLKIT_PROTOCOL_ENGINE; ./engine.ts env reads: nothing
sets env vars, reads files, draws Repository stars 0
agentctlmasahide/agent-kit

agentctl Mod: agentctl CLI (tools/agentctl) が ~/.agentctl/claude/<sessionId>/inbox/ に置いたメッセージを $.prompt.submit で Claude に届け、中断の依頼を $.turn.abort で行い、結果を acks/ に書く。付属スキル agentctl は、agent に agentctl の使い方を教える。

Access & validation details
Observed events
Only what it hooks
Hooks
turn.start, turn.complete, session.start
API calls
$.clock.every, $.clock.now, $.env.get, $.fs.exists, $.fs.list, $.fs.read, $.fs.write, $.process.run, $.prompt.submit, $.session.id, $.turn.abort, $.ui.log
Validation on 2.1.287
Passed
Validator output
./register.ts env writes: nothing; ./register.ts env reads: AGENTCTL_HOME, HOME, USERPROFILE
runs processes, writes files, drives Claude, reads files, reads env vars, draws Repository stars 0
doc-deskmasahide/agent-kit

doc-desk Mod: Claude が質問票 JSON を open_form ツールに渡すと、ブラウザに一枚のフォームを出して人に答えてもらい、回答を【doc-desk 回答】の固定形にして Claude に届ける (waitSeconds 以内ならツールの結果として、過ぎれば user turn として)。書き上げた文書を open_review に渡すと、人が段落や文字列に付けた指摘を同じ固定形で届ける (指摘モード)。

Access & validation details
Observed events
mcp__doc-desk__open_form calls, mcp__doc-desk__open_review calls, mcp__doc-desk__open_live calls, Write calls, Edit calls, compaction
Hooks
session.start, tool.call {tool=mcp__doc-desk__open_form}, tool.call {tool=mcp__doc-desk__open_review}, tool.call {tool=mcp__doc-desk__open_live}, command.run {command=?}, ui.render {component=Pane}, ui.render {component=UserMessage, props.origin has {kind=plugin}, turn.start, turn.step, turn.complete, tool.call {tool=Write}, tool.call {tool=Edit}, tool.check {tool=Write}, tool.check {tool=Edit}, tool.check {tool=NotebookEdit}, session.compact, session.end, ui.close {id=doc-desk}
API calls
$.clock.after, $.clock.every, $.clock.now, $.command.register, $.fs.exists, $.fs.read, $.fs.stat, $.fs.write, $.http.fetch, $.model.fork, $.process.run, $.prompt.submit, $.prompt.suggest, $.session.id, $.store.delete, $.store.get, $.store.keys, $.store.set, $.tool.register, $.turn.abort, $.ui.close, $.ui.invalidate, $.ui.log, $.ui.open, $.ui.resolve, $.ui.status, $.ui.toast
Validation on 2.1.287
Passed
network, runs processes, writes files, drives Claude, writes the prompt box, reads files, persists state, draws Repository stars 0
cold-cache-guardmediavee/cold-cache-guard

Asks what to do before Claude Code re-sends a large conversation whose prompt cache has expired: on a cold resume, and on the first prompt after an idle spell.

Access & validation details
Observed events
classic hooks, every prompt
Hooks
classic.SessionStart, turn.complete, prompt.submit
API calls
$.clock.after, $.clock.now, $.command.run, $.prompt.fill, $.session.compact, $.session.usage, $.settings.read, $.state.get, $.state.set, $.ui.ask, $.ui.log
Validation on 2.1.287
Passed
Validator output
types ./types/index.d.ts declares on $: nothing (no EngineInterface member); types ./types/index.d.ts declares state: cold-cache-guard.lastAnswerAtMs, cold-cache-guard.resumedTokens, cold-cache-guard.isSettled; ./register.ts state writes: cold-cache-guard.isSettled, cold-cache-guard.lastAnswerAtMs, cold-cache-guard.resumedTokens; ./register.ts state reads: cold-cache-guard.isSettled, cold-cache-guard.lastAnswerAtMs, cold-cache-guard.resumedTokens
other: $.state.get, other: $.state.set, drives Claude, writes the prompt box, reads settings, draws Repository stars 0
buffer-panemeganemura/buffer-pane

A pane beside the transcript that holds the next things to tell the agent: write blocks of text while a turn runs, then press [+] to put one block into the prompt box.

Access & validation details
Observed events
Only what it hooks
Hooks
session.start, command.run {command=buffer-pane}, ui.render {component=Pane}, ui.close {id=buffer-pane}
API calls
$.command.register, $.prompt.fill, $.prompt.submit, $.session.cwd, $.store.get, $.store.set, $.ui.close, $.ui.invalidate, $.ui.log, $.ui.open, $.ui.resolve, $.ui.status
Validation on 2.1.287
Passed
drives Claude, writes the prompt box, persists state, draws Repository stars 0
draft-panemeganemura/draft-pane

A pane beside the transcript that shows the model's newest open draft and sends your comments on it, span by span, as one prompt.

Access & validation details
Observed events
Only what it hooks
Hooks
session.start, turn.complete, command.run {command=draft-pane}, ui.close {id=draft-pane}, ui.message {requestId=draft-pane}, ui.render {component=Pane}
API calls
$.clock.sleep, $.command.register, $.fs.read, $.prompt.submit, $.session.messages, $.store.get, $.store.set, $.ui.close, $.ui.focus, $.ui.invalidate, $.ui.log, $.ui.open, $.ui.resolve, $.ui.status
Surface modules
hooks/draft-selection.ts
Validation on 2.1.287
Passed
drives Claude, reads files, reads the transcript, persists state, draws Repository stars 0
grilling-panemeganemura/grilling-pane

A pane beside the transcript that shows the model's open interview questions and submits every pick as one prompt.

Access & validation details
Observed events
every prompt
Hooks
session.start, turn.complete, command.run {command=grilling-pane}, ui.close {id=grilling-pane}, prompt.submit, ui.render {component=Pane}
API calls
$.command.register, $.prompt.submit, $.session.messages, $.store.get, $.store.set, $.ui.close, $.ui.focus, $.ui.invalidate, $.ui.log, $.ui.open, $.ui.resolve, $.ui.status
Validation on 2.1.287
Passed
drives Claude, reads the transcript, persists state, draws Repository stars 0
jira-ticket-panemeganemura/jira-ticket-pane

A pane beside the transcript that fetches one Jira issue by key and lets you attach it to your next prompt.

Access & validation details
Observed events
every prompt
Hooks
session.start, command.run {command=jira}, ui.render {component=Pane}, ui.close {id=jira-ticket-pane}, prompt.submit
API calls
$.command.register, $.env.get, $.fs.read, $.mcp.call, $.store.get, $.store.set, $.tool.list, $.ui.close, $.ui.invalidate, $.ui.log, $.ui.open, $.ui.resolve, $.ui.status
Validation on 2.1.287
Passed
Validator output
./mod.ts env writes: nothing; ./mod.ts env reads: JIRA_TICKET_PANE_FIXTURE
other: $.tool.list, MCP servers, reads files, reads env vars, persists state, draws Repository stars 0
shuntmiguelrisero/better-shunt

A Claude Mod for the shunt gateway: /shunt:usage reads the shared account pool's remaining headroom and reset times from shunt's GET /usage, so you can see how close the pool is to throttling without the admin dashboard.

Access & validation details
Observed events
Only what it hooks
Hooks
none
API calls
none recorded
Validation on 2.1.287
fails on 2.1.287
Validator output
modules../register.ts: shunt: /tmp/acm-clones/miguelrisero__better-shunt/plugins/shunt/hooks/register.ts, compiled line 18 `const registration = on("command.run", { command: COMMAND_NAME }, async ($, e, n...`: the value of on("command.run") is kept (assigned, passed, read, or returned from a nested function); it takes .catch(handler) where it is called and nothing else; $ is always spelled $.noun.event(...) at the call … [+79 chars]
draws onlyfails on 2.1.287 Repository stars 0
ccline-agents-modMiracle0x0/CCometixLine

Experimental in-process subagent activity for CCometixLine.

Access & validation details
Observed events
classic hooks
Hooks
classic.SessionStart, classic.SubagentStart, classic.SubagentStop, classic.SessionEnd
API calls
$.clock.now, $.env.set
Validation on 2.1.287
Passed
Validator output
./register.ts env writes: CCLINE_AGENTS_SNAPSHOT; ./register.ts env reads: nothing
sets env vars Repository stars 0
code-modernizationmrkhachaturov/ccode-personal-plugins

Guided modernization for any legacy codebase: start with /modernize, get an assessment, an interactive map, the business rules mined from the code, and a plan you approve, then an upgrade, a rewrite or a rebuild with independent proof that the new code behaves like the old. Includes security hardening, a one-page report, specialist agents, and an optional live progress pane (early access).

Access & validation details
Observed events
every prompt, every tool call
Hooks
session.start, ui.render {component=PromptHint}, ui.render {component=AbovePrompt}, ui.render {component=Pane}, ui.close, command.run {command=modernize-panel}, command.run {command=modernize-review-pane}, command.run {command=modernize-sign}, command.run {command=clear|resume}, prompt.submit, turn.start, turn.complete, tool.call
API calls
$.clock.after, $.clock.every, $.clock.now, $.command.register, $.fs.exists, $.fs.list, $.fs.read, $.fs.stat, $.fs.write, $.prompt.fill, $.prompt.submit, $.store.get, $.store.set, $.turn.abort, $.ui.blit, $.ui.close, $.ui.invalidate, $.ui.log, $.ui.open, $.ui.resolve, $.ui.status, $.ui.toast
Validation on 2.1.287
Passed
writes files, drives Claude, writes the prompt box, reads files, persists state, draws Repository stars 0
lossless-compactMusicStudioNYC/lossless-compact

Lossless compaction for Claude Code: nothing is summarized; everything removed is archived verbatim with provenance and restorable by id (Jev or a local ruleset). /lossless to inspect and restore.

Access & validation details
Observed events
every skill, compaction, every prompt
Hooks
session.start, command.run {command=lossless}, skill.prompt, session.compact, prompt.submit, turn.complete
API calls
$.command.register, $.command.run, $.env.get, $.fs.exists, $.fs.list, $.fs.read, $.fs.write, $.http.fetch, $.model.complete, $.model.fork, $.session.compact, $.session.cwd, $.session.id, $.session.messages, $.session.usage, $.settings.read, $.store.get, $.store.set, $.ui.ask, $.ui.log, $.ui.toast
Validation on 2.1.287
Passed with warnings
Validator output
./lossless-compact.ts env writes: nothing; ./lossless-compact.ts env reads: HOME, TYPESAFE_API_KEY, USERPROFILE
network, writes files, drives Claude, reads files, reads env vars, reads settings, reads the transcript, persists state, drawsValidator warnings Repository stars 0
pre-merge-cross-reviewnatsuume/natsuume-cc-marketplace

merge 前の codex review を必須化する

Access & validation details
Observed events
classic hooks, Bash calls
Hooks
classic.SessionStart, classic.UserPromptSubmit, classic.PostToolUse, classic.PostToolUseFailure, tool.call {tool=Bash}, tool.check {tool=Bash}
API calls
none recorded
Validation on 2.1.287
Passed
draws only Repository stars 0
agent-aquariumnogu66/claude-code

A Claude Mod (function-hooks plugin): /aquarium draws the session as a fish tank in a pane with kitty graphics: the main loop is the parent fish, each subagent a baby that is born and swims off, and every tool call an animation (Read feeds, Edit nests, Bash dashes, an error sinks); the water level follows the context window. Half-block fallback where the terminal shows no images. / Claude Mod(function hooks プラグイン)。/aquarium でセッションを Kitty graphics の水槽として pane に描画。メインループが親魚、サブエージェントは誕生して泳ぎ去る稚魚、ツール呼び出しは魚の動き(Read で餌、Edit で巣、Bash でダッシュ、エラーで沈む)、水位はコンテキスト使用率に連動。画像非対応端末では半ブロック描画に自動切替。

Access & validation details
Observed events
every tool call, subagent spawns, compaction
Hooks
session.start, command.run {command=aquarium}, ui.render {component=Pane, requestId=aquarium}, ui.close {id=aquarium}, tool.call, agent.spawn, turn.start, turn.complete, session.measure, session.compact, session.end
API calls
$.agent.list, $.clock.every, $.command.register, $.fs.read, $.session.surfaces, $.store.get, $.store.set, $.ui.blit, $.ui.close, $.ui.invalidate, $.ui.log, $.ui.open, $.ui.resolve
Validation on 2.1.287
Passed with warnings
Validator output
root: CLAUDE.md at the plugin root is not loaded as project context. To ship context with your plugin, use a skill (skills/<name>/SKILL.md) instead.
reads files, persists state, drawsValidator warnings Repository stars 0
git-opsnogu66/claude-code

A Claude Mod (function-hooks plugin): /git draws a clickable panel above the prompt for everyday git: pick a branch with a button (or filter + Enter, or a digit key), confirm, and it checks out; pull/push/fetch, stage-all and commit are buttons too. No force-push, reset or rebase exposed. / Claude Mod(function hooks プラグイン)。/git でプロンプトの上にクリック操作できる git パネルを表示。ブランチをボタン(絞り込み+Enter、数字キーも可)で選び、確認してからチェックアウト。pull/push/fetch、stage all、commit もボタンで実行。force-push・reset・rebase は意図的に非対応。

Access & validation details
Observed events
Only what it hooks
Hooks
session.start, command.run {command=git}, ui.render {component=AbovePrompt}
API calls
$.command.register, $.process.run, $.ui.invalidate, $.ui.log, $.ui.resolve
Validation on 2.1.287
Passed
runs processes, draws Repository stars 0
md-promptnogu66/md-prompt

Paints Markdown onto Claude Code's prompt box as you type: fenced code becomes a syntax-highlighted card (even before you close the fence), and inline code, bold, italic, lists, task lists, quotes, tables, links and headings are styled. Paint only, your text is never changed.

Access & validation details
Observed events
Only what it hooks
Hooks
session.start, command.run {command=md-prompt}, prompt.edit, prompt.fill
API calls
$.command.register, $.config.set, $.ui.log
Validation on 2.1.287
Passed
changes config, draws Repository stars 0
review-cycleoakoss/claude-plugins

Automated multi-agent code review cycle. Spawns reviewers in parallel (plus Codex when available), applies fixes per CLAUDE.md policy, admits a commit only when a reviewer saw exactly what it records, and asks before a push you did not request.

Access & validation details
Observed events
Edit calls, Write calls, mcp__review-cycle__ledger calls, mcp__review-cycle__ledger_record calls, mcp__review-cycle__scratch calls, mcp__review-cycle__sweep calls, mcp__review-cycle__status calls, every prompt, subagent spawns, Skill calls, Bash calls, NotebookEdit calls, Monitor calls
Hooks
config.set {key="review-cycle.enabled"}, tool.call {tool=Edit}, tool.call {tool=Write}, session.start, tool.call {tool=mcp__review-cycle__ledger}, tool.call {tool=mcp__review-cycle__ledger_record}, tool.call {tool=mcp__review-cycle__scratch}, tool.call {tool=mcp__review-cycle__sweep}, tool.call {tool=mcp__review-cycle__status}, prompt.submit, agent.spawn, turn.complete, tool.call {tool=Skill}, tool.call {tool=Bash}, tool.call {tool=Edit}, tool.call {tool=Write}, tool.call {tool=Edit}, tool.call {tool=Write}, tool.call {tool=NotebookEdit}, tool.call {tool=Monitor}, tool.call {tool=mcp__review-cycle__status}
API calls
$.agent.list, $.clock.after, $.clock.now, $.clock.sleep, $.env.get, $.fs.exists, $.fs.list, $.fs.read, $.fs.stat, $.process.run, $.prompt.submit, $.session.cwd, $.store.delete, $.store.get, $.store.keys, $.store.set, $.tool.register, $.ui.ask
Validation on 2.1.287
Passed
Validator output
./register.ts env writes: nothing; ./register.ts env reads: CLAUDE_CODE_SHELL, CLAUDE_CONFIG_DIR, HOME, SHELL, TMPDIR
runs processes, drives Claude, reads files, reads env vars, persists state, draws Repository stars 0
siftoctalide/sift

Typed judgement calls for Claude Code: two primitives, judge and rank, under packs that grade issues, pull requests, plans, commits, releases and rules, a repository watch, tool output pruning and an outbound text gate, backed by TypeSafe Jev or the session's small model.

Access & validation details
Observed events
classic hooks, every tool call, mcp__sift__grade calls, ? calls, subagent spawns, mcp__sift__judge calls, mcp__sift__rank calls, every prompt, mcp__sift__watch calls, mcp__sift__status calls
Hooks
engine.create, session.start, classic.SessionEnd, tool.call, tool.call {tool=mcp__sift__grade}, tool.call {tool=?}, agent.spawn, tool.call {tool=mcp__sift__judge}, tool.call {tool=mcp__sift__rank}, prompt.submit, model.classify, tool.call {tool=mcp__sift__watch}, tool.call {tool=?}, tool.call {tool=mcp__sift__status}, command.run {command=sift}
API calls
$.agent.list, $.clock.after, $.clock.every, $.command.register, $.env.get, $.fs.exists, $.fs.list, $.fs.read, $.fs.stat, $.http.fetch, $.model.complete, $.process.run, $.prompt.submit, $.session.cwd, $.session.id, $.session.repo, $.settings.read, $.store.delete, $.store.get, $.store.keys, $.store.set, $.tool.call, $.tool.register, $.ui.log, $.ui.status, $.ui.toast
Validation on 2.1.287
Passed
Validator output
types ./types/sift.d.ts declares on $: $.sift; ./sift.ts env writes: nothing; ./sift.ts env reads: CLAUDE_CONFIG_DIR, HOME, TYPESAFE_API_KEY, XDG_CONFIG_HOME
network, runs processes, drives Claude, reads files, reads env vars, reads settings, persists state, draws Repository stars 0
fast-jev-compactionPAVincius/cosmos-nebuloz

Verbatim Jev-guided compaction for Claude Code sessions.

Access & validation details
Observed events
Only what it hooks
Hooks
none
API calls
none recorded
Validation on 2.1.287
fails on 2.1.287
Validator output
modules../fast-jev.ts: fast-jev-compaction: /tmp/acm-clones/PAVincius__cosmos-nebuloz/.maestri/plugins/fast-jev-compaction/hooks/fast-jev.ts, compiled line 147 `const fromEnv = await $.env.get(name);`: $.env.get takes a literal name as its first argument, so the variables a module reads and writes can be listed (got the variable name); $ is always spelled $.noun.event(...) at the call site, on is always on("<event>", ho… [+44 chars]
draws onlyfails on 2.1.287 Repository stars 0
sidequestpoindexter12/loadout

The Loadout's core work board and orchestration loop for Claude Code. Tickets are classified into categories that route each one to a concrete model and effort, then dispatched to token-gated executors; side issues you mention mid-task get captured on the spot, and a live, self-hosted Kanban dashboard spans every project you work in.

Access & validation details
Observed events
compaction
Hooks
session.compact, turn.complete
API calls
$.env.get, $.fs.read, $.session.id, $.settings.read, $.ui.log
Validation on 2.1.287
Passed
Validator output
./fn/compaction.js env writes: nothing; ./fn/compaction.js env reads: CLAUDE_CONFIG_DIR, HOME, SIDEQUEST_HOME
reads files, reads env vars, reads settings, draws Repository stars 0
eventlog-contextradiator-engineering/eventlog

Replaces context compaction in the controller's interactive session of a log-driven repo: the conversation is rebuilt from .context/events.jsonl by `eventlog context`, plus the last few turns word for word. Rebuilds at the log's task boundaries and at a fill backstop; /rebuild queues a rebuild for the end of the next turn, and /compact rebuilds from the log at once. Inert in headless sessions, for other EVENTLOG_AS writers, with EVENTLOG_CONTEXT=off, and in a repo without the log. Falls back to the engine's compaction when eventlog fails.

Access & validation details
Observed events
compaction
Hooks
session.start, command.run {command=rebuild}, turn.complete, session.compact
API calls
$.command.register, $.env.get, $.fs.exists, $.fs.read, $.process.run, $.session.compact, $.session.messages, $.session.usage, $.ui.log
Validation on 2.1.287
Passed
Validator output
./register.ts env writes: nothing; ./register.ts env reads: EVENTLOG_AS, EVENTLOG_CONTEXT, HERDR_PANE_ID, LOG_DRIVEN_WORKER
runs processes, drives Claude, reads files, reads env vars, reads the transcript, draws Repository stars 0
offcutradiator-engineering/offcut

Cleans up finished git worktrees as soon as a turn or a session ends. When a turn ends (the main session's or a subagent's), it runs `offcut apply --only auto --yes` for the session's repo in the background: a worktree goes only if it is clean, pushed, and its work is merged or eventlog says its agent is done. When the session ends, it runs once more a few seconds later, also clearing unused build caches, so the session's own worktree can go. Every removal is recorded for `offcut restore`. Inert when `offcut` is not installed, outside a git repo, or with OFFCUT=off.

Access & validation details
Observed events
Only what it hooks
Hooks
session.start, turn.complete, session.end
API calls
$.env.get, $.process.run, $.ui.log
Validation on 2.1.287
Passed
Validator output
./register.ts env writes: nothing; ./register.ts env reads: OFFCUT
runs processes, reads env vars, draws Repository stars 0
kb-settings-guardray-manaloto/knowledge-base

Denies a delegated agent lane any write to this repo's Claude settings files.

Access & validation details
Observed events
? calls
Hooks
tool.call {tool=?}
API calls
$.fs.list, $.ui.log
Validation on 2.1.287
Passed
reads files, draws Repository stars 0
cdxRedesignedRobot/cdx

Run OpenAI Codex and Google Antigravity execution lanes from Claude Code with background event delivery, status tracking, and raw command protection.

Access & validation details
Observed events
Bash calls, every tool call, /"^mcp__cdx__"/ calls, every prompt
Hooks
ui.render {component=AbovePrompt}, ui.render {component=Pane}, session.start, turn.start, turn.complete, command.run {command=lanes}, command.run {command=clear|resume}, tool.call {tool=Bash}, tool.call, tool.call {tool=/"^mcp__cdx__"/}, prompt.submit
API calls
$.clock.every, $.command.register, $.env.get, $.fs.exists, $.fs.write, $.process.run, $.prompt.submit, $.prompt.suggest, $.session.cwd, $.session.id, $.session.surfaces, $.state.get, $.state.set, $.tool.register, $.ui.log, $.ui.open, $.ui.resolve, $.ui.toast
Validation on 2.1.287
Passed
Validator output
types ./hooks/contract.d.ts declares on $: nothing (no EngineInterface member); types ./hooks/contract.d.ts declares state: cdx.live, cdx.poller; ./register.ts env writes: nothing; ./register.ts env reads: CDX_HOME, HOME; ./register.ts state writes: cdx.live, cdx.poller; ./register.ts state reads: cdx.live, cdx.poller
other: $.state.get, other: $.state.set, runs processes, writes files, drives Claude, writes the prompt box, reads files, reads env vars, draws Repository stars 0
maestro-lanesricardosuman/maestro

Shows Maestro external lane runs above the prompt.

Access & validation details
Observed events
Only what it hooks
Hooks
session.start, ui.render {component=AbovePrompt}
API calls
$.clock.every, $.clock.now, $.fs.list, $.fs.read, $.fs.stat, $.ui.invalidate, $.ui.resolve
Validation on 2.1.287
Passed
reads files, draws Repository stars 0
persistent-monitorruihe774/cc-persistent-monitor

Monitor tool with persistent (no deadline) watches

Access & validation details
Observed events
mcp__persistent-monitor__monitor calls, mcp__persistent-monitor__waitpid calls, mcp__persistent-monitor__waitfile calls, mcp__persistent-monitor__monitor_stop calls
Hooks
session.start, tool.call {tool=mcp__persistent-monitor__monitor}, tool.call {tool=mcp__persistent-monitor__waitpid}, tool.call {tool=mcp__persistent-monitor__waitfile}, tool.call {tool=mcp__persistent-monitor__monitor_stop}
API calls
$.clock.after, $.process.spawn, $.prompt.submit, $.tool.register
Validation on 2.1.287
Passed with warnings
Validator output
root: CLAUDE.md at the plugin root is not loaded as project context. To ship context with your plugin, use a skill (skills/<name>/SKILL.md) instead.
other: $.process.spawn, drives ClaudeValidator warnings Repository stars 0
claude-whoSaharCarmel/claude-who

Friends' Claude Code presence and usage leaderboards via /who.

Access & validation details
Observed events
Only what it hooks
Hooks
session.start, turn.start, turn.complete, command.run {command=who}, ui.close {id=who-leaderboard}, ui.render {component=Pane}
API calls
$.clock.after, $.clock.every, $.clock.now, $.command.register, $.http.fetch, $.process.run, $.session.id, $.store.delete, $.store.get, $.store.keys, $.store.set, $.ui.close, $.ui.invalidate, $.ui.open, $.ui.resolve, $.ui.status
Validation on 2.1.287
fails on 2.1.287
Validator output
name: Plugin name "claude-who" is reserved: it passes as one of Anthropic's own. A third party's plugin name cannot start with "claude-", "anthropic-", "anthropics-", or "cc-plugin-", be "claude", "anthropic", "anthropics", "claude-code", or "claude-mods", or put "official" beside "claude" or "anthropic". Name it for what it does. If this is one of Anthropic's own plugins, validate the marketplace that lists it.
network, runs processes, persists state, drawsfails on 2.1.287 Repository stars 0
agentic-pluginSApplefeld/agent_persona

PIANO-esque cognitive layer: persona-keyed state, heartbeat liveness, controller with classify/actuate

Access & validation details
Observed events
compaction, every tool call, every prompt
Hooks
session.start, turn.start, turn.complete, session.compact, tool.call, prompt.submit
API calls
$.agent.list, $.audio.speak, $.clock.every, $.clock.sleep, $.env.get, $.fs.exists, $.fs.list, $.fs.read, $.fs.write, $.http.fetch, $.model.classify, $.model.complete, $.process.run, $.prompt.submit, $.session.cwd, $.session.id, $.state.get, $.state.set, $.store.delete, $.store.get, $.store.keys, $.store.set, $.tool.call, $.tool.register, $.ui.log, $.ui.status, $.ui.toast
Validation on 2.1.287
Passed with warnings
Validator output
version: No version specified. Consider adding a version following semver (e.g., "1.0.0"); types ./hooks/agentic-plugin.d.ts declares on $: nothing (no EngineInterface member); types ./hooks/agentic-plugin.d.ts declares state: agentic-plugin.memqLaunchDir; root: CLAUDE.md at the plugin root is not loaded as project context. To ship context with your plugin, use a skill (skills/<name>/SKILL.md) instead.; ./index.ts env writes: nothing; ./index.ts env reads: HOME, TYPESAFE_API_KEY, USERPROFILE; ./index.ts state writes: agentic-plugin.memqLaunchDir; ./index.ts state reads: agentic-plugin.memqLaunchDir
other: $.state.get, other: $.state.set, network, runs processes, writes files, drives Claude, reads files, reads env vars, plays audio, persists state, drawsValidator warnings Repository stars 0
usage-reportSchweem/usage-report

Shows context fill, 5-hour and weekly quota, and session cost on the status line under the prompt, with warnings near your limits.

Access & validation details
Observed events
Only what it hooks
Hooks
session.start, session.measure
API calls
$.clock.every, $.clock.now, $.session.usage, $.state.get, $.state.set, $.ui.status, $.ui.toast
Validation on 2.1.287
Passed
Validator output
types ./types/index.d.ts declares on $: nothing (no EngineInterface member); types ./types/index.d.ts declares state: usage-report.last, usage-report.warned; ./register.ts state writes: usage-report.last, usage-report.warned; ./register.ts state reads: usage-report.last, usage-report.warned
other: $.state.get, other: $.state.set, draws Repository stars 0
ad-ldapseanGSISG/ad-ldap-plugin

Active Directory administration over LDAPS for Claude Code: an MCP server (FastMCP + ldap3) with 15 tools, admin agents, slash commands, a safety skill, and a guard that refuses any AD write until the identical call has been dry-run first. Headline workflow: mass-assign computer managedBy from description-held owner names via a dry-run plan/review/apply loop.

Access & validation details
Observed events
Only what it hooks
Hooks
session.start, session.end, tool.check {tool=?}
API calls
$.agent.list, $.session.messages
Validation on 2.1.287
Passed with warnings
Validator output
root: CLAUDE.md at the plugin root is not loaded as project context. To ship context with your plugin, use a skill (skills/<name>/SKILL.md) instead.
reads the transcriptValidator warnings Repository stars 0
petseanmars/my-agent-plugins

A small ASCII pet that lives in the band above the prompt, fed by /pet

Access & validation details
Observed events
Only what it hooks
Hooks
session.start, command.run {command=pet}, ui.render {component=AbovePrompt, surface=terminal}
API calls
$.clock.every, $.command.register, $.store.get, $.store.set, $.ui.invalidate, $.ui.resolve
Validation on 2.1.287
Passed
persists state, draws Repository stars 0
model-routersftinc/claude-code-model-router

Routes each turn and subagent to a model tier and reasoning effort using a classifier behind any server that speaks POST /v1/classify (model-router-api on Cloudflare Workers AI today), falling back to the engine's built-in classifier.

Access & validation details
Observed events
every prompt, subagent spawns
Hooks
session.start, prompt.submit, turn.step, agent.spawn
API calls
$.clock.after, $.clock.now, $.clock.sleep, $.env.get, $.fs.write, $.http.fetch, $.model.classify, $.session.id, $.session.messages, $.ui.log
Validation on 2.1.287
Passed with warnings
Validator output
version: No version specified. Consider adding a version following semver (e.g., "1.0.0"); ./model-router.ts env writes: nothing; ./model-router.ts env reads: HOME
network, writes files, drives Claude, reads env vars, reads the transcript, drawsValidator warnings Repository stars 0
firstmate-calmsKeLe100/firstmate

Firstmate Calm for Claude Code: the sailboat working animation and conversation-only transcript presentation, sharing the per-home config/calm preference with the Pi Calm extension. Its hooks module may load through CLAUDE_CODE_ENABLE_FUNCTION_HOOKS or Claude Code's tengu_plugin_hooks_modules rollout flag, but the mod activates only when CLAUDE_CODE_ENABLE_FUNCTION_HOOKS is exactly 1 and is otherwise a complete no-op.

Access & validation details
Observed events
Only what it hooks
Hooks
session.start, command.run {command=calm}, config.set {key=theme}, turn.step, ui.render {component=Spinner}, ui.render {component=ToolUse}, ui.render {component=ToolResult}, ui.render {component=ToolGroup}, ui.render {component=UserMessage}, ui.render {component=AssistantMessage}
API calls
$.clock.every, $.command.register, $.config.list, $.env.get, $.fs.read, $.fs.write, $.session.messages, $.ui.blit, $.ui.invalidate, $.ui.resolve, $.ui.toast
Validation on 2.1.287
Passed
Validator output
./register.ts env writes: nothing; ./register.ts env reads: CLAUDE_CODE_ENABLE_FUNCTION_HOOKS, FM_CONFIG_OVERRIDE, FM_HOME, FM_ROOT_OVERRIDE
writes files, reads files, reads env vars, reads the transcript, draws Repository stars 0
fast-jev-compactionsohryuu101/fast-jev-compaction

Verbatim Jev-guided compaction for Claude Code sessions.

Access & validation details
Observed events
compaction
Hooks
session.compact, turn.complete
API calls
$.env.get, $.http.fetch, $.session.compact, $.session.usage, $.settings.read, $.ui.log, $.ui.toast
Validation on 2.1.287
Passed with warnings
Validator output
./fast-jev.ts env writes: nothing; ./fast-jev.ts env reads: TYPESAFE_API_KEY
network, drives Claude, reads env vars, reads settings, drawsValidator warnings Repository stars 0
jev-vault-gatesohryuu101/jev-vault-gate

Uses Jev to spot durable knowledge in a turn and auto-capture it into ~/vault/raw/ for /compile.

Access & validation details
Observed events
classic hooks
Hooks
turn.complete, classic.UserPromptSubmit
API calls
$.env.get, $.fs.exists, $.fs.read, $.fs.write, $.http.fetch, $.session.messages, $.store.get, $.store.set, $.ui.log
Validation on 2.1.287
Passed with warnings
Validator output
./vault-gate.ts env writes: nothing; ./vault-gate.ts env reads: HOME, TYPESAFE_API_KEY
network, writes files, reads files, reads env vars, reads the transcript, persists state, drawsValidator warnings Repository stars 0
sushidasontixyou/sushi-uchi

寿司打風の日本語タイピングゲームを /sushida でペインに開く。かな入力のローマ字表記揺れに対応。

Access & validation details
Observed events
Only what it hooks
Hooks
session.start, command.run {command=sushida}, ui.render {component=Pane}, ui.message
API calls
$.command.register, $.store.get, $.store.set, $.ui.open, $.ui.resolve
Surface modules
hooks/game.tsx
Validation on 2.1.287
Passed
persists state, draws Repository stars 0
better-compactionspiiritual/claude-code-stuff

Compaction that waits for the model's turn to end, and summarizes at its own effort level.

Access & validation details
Observed events
classic hooks, compaction
Hooks
classic.PreCompact, classic.PostCompact, session.compact, turn.step, turn.complete
API calls
$.clock.after, $.env.get, $.env.set, $.session.compact, $.session.usage, $.ui.log
Validation on 2.1.287
Passed
Validator output
./register.ts env writes: CLAUDE_CODE_EFFORT_LEVEL; ./register.ts env reads: CLAUDE_CODE_EFFORT_LEVEL
sets env vars, drives Claude, reads env vars, draws Repository stars 0
whiteboard-defensespiiritual/claude-code-stuff

Understand what you ship: plan with a real diagram and decisions you make yourself, then get grilled on it after building.

Access & validation details
Observed events
mcp__whiteboard-defense__draw calls
Hooks
session.start, tool.call {tool=mcp__whiteboard-defense__draw}, ui.render {component=ToolResult}
API calls
$.fs.read, $.fs.write, $.process.run, $.tool.register, $.ui.resolve
Validation on 2.1.287
Passed
runs processes, writes files, drives Claude, reads files, draws Repository stars 0
general-dev-modsSuntory-N-Water/suntory-n-water-marketplace

開発全般で使える Claude Mods 集。現在は cache-ttl-compact (離席が続いてプロンプトキャッシュの 1 時間 TTL が失効する前に conversation を自動で compact する) を含む。

Access & validation details
Observed events
compaction
Hooks
session.start, session.compact, turn.start, turn.complete, session.end
API calls
$.clock.every, $.clock.now, $.session.compact, $.ui.log
Validation on 2.1.287
Passed
drives Claude, draws Repository stars 0
essential-conversationSuzumiyaAoba/claude-essential-conversation-mod

Shows each turn's user prompt paired with Claude Code's last answer for that turn in a side pane (/conversation).

Access & validation details
Observed events
Only what it hooks
Hooks
session.start, turn.start, turn.complete, ui.render {component=UserMessage}, command.run {command=conversation}, ui.close {id=essential-conversation}, command.run {command=clear|resume}, ui.render {component=Pane}
API calls
$.command.register, $.session.id, $.session.messages, $.store.get, $.store.set, $.ui.close, $.ui.invalidate, $.ui.log, $.ui.open, $.ui.resolve, $.ui.scroll
Validation on 2.1.287
Passed
reads the transcript, persists state, draws Repository stars 0
claude-roulettetldev/claude-roulette

A private text chat with another human while Claude works, with random matching, interests, next, block, report, and automatic task completion handling.

Access & validation details
Observed events
classic hooks
Hooks
session.start, command.run {command=roulette}, turn.start, turn.complete, ui.render {component=Pane}, ui.close {id=claude-roulette}, classic.SessionEnd
API calls
$.clock.every, $.clock.now, $.command.register, $.env.get, $.http.fetch, $.store.get, $.store.set, $.ui.close, $.ui.invalidate, $.ui.log, $.ui.open, $.ui.resolve, $.ui.status, $.ui.toast
Validation on 2.1.287
fails on 2.1.287
Validator output
name: Plugin name "claude-roulette" is reserved: it passes as one of Anthropic's own. A third party's plugin name cannot start with "claude-", "anthropic-", "anthropics-", or "cc-plugin-", be "claude", "anthropic", "anthropics", "claude-code", or "claude-mods", or put "official" beside "claude" or "anthropic". Name it for what it does. If this is one of Anthropic's own plugins, validate the marketplace that lists it.; ./register.ts env writes: nothing; ./register.ts env reads: ROULETTE_URL
network, reads env vars, persists state, drawsfails on 2.1.287 Repository stars 0
better-ask-pickertogishima/better-ask-picker

Ask the user a question in a dedicated pane: show every option on one screen with a summary, single or multi-select, no 4-option limit.

Access & validation details
Observed events
mcp__better-ask-picker__pick calls
Hooks
session.start, tool.call {tool=mcp__better-ask-picker__pick}, ui.close, ui.render {component=Pane}
API calls
$.process.run, $.tool.register, $.ui.ask, $.ui.close, $.ui.invalidate, $.ui.open, $.ui.panes, $.ui.resolve, $.ui.toast
Validation on 2.1.287
Passed
runs processes, drives Claude, draws Repository stars 0
jev-model-routerTolsee/dotfiles

Corrects the model tier of every subagent spawn (agent.spawn) with a live Jev judgment (haiku / sonnet / opus), instead of relying on /delegate's static routing table. A risky task (touches production, money, or irreversible data) is always forced to opus regardless of confidence.

Access & validation details
Observed events
subagent spawns
Hooks
agent.spawn
API calls
$.clock.now, $.clock.sleep, $.env.get, $.http.fetch, $.ui.log
Validation on 2.1.287
Passed
Validator output
./jev-model-router.ts env writes: nothing; ./jev-model-router.ts env reads: TYPESAFE_API_KEY
network, reads env vars, draws Repository stars 0
clawd-bandtomada1114/clawd-band

An unofficial fan-made pixel cat that lives in the band above the prompt and reacts to what Claude is doing: thinking, editing, craning after a search, yowling in a shell, squeezing its eyes shut at a tool error, and folding its ears down to sleep between turns.

Access & validation details
Observed events
every tool call
Hooks
session.start, turn.start, turn.complete, tool.call, ui.render {component=AbovePrompt}
API calls
$.clock.every, $.ui.blit, $.ui.invalidate, $.ui.resolve
Validation on 2.1.287
Passed
draws Repository stars 0
effort-routertotally-tim/effort-router

Picks the reasoning effort for each turn of the main conversation with a System One classifier (hosted Jev or a compatible service) and shows the level on the spinner and on the line that closes the turn. In shadow mode it shows and logs its pick and sends the session's effort; in enforce mode it sends the pick. Requires CLAUDE_CODE_ENABLE_FUNCTION_HOOKS=1.

Access & validation details
Observed events
every prompt, every tool call
Hooks
session.start, session.end, turn.start, turn.step, prompt.submit, prompt.attachment {type=queued_command}, tool.call, turn.complete, ui.render {component=Spinner}, ui.render {component=TurnDuration}, command.run {command=effort-router}
API calls
$.clock.now, $.clock.sleep, $.command.register, $.env.get, $.fs.exists, $.fs.list, $.fs.read, $.fs.stat, $.fs.write, $.http.fetch, $.session.cwd, $.session.id, $.session.messages, $.session.root, $.settings.read, $.state.get, $.state.set, $.ui.invalidate, $.ui.log
Validation on 2.1.287
Passed
Validator output
types ./types/effort-router.d.ts declares on $: nothing (no EngineInterface member); types ./types/effort-router.d.ts declares state: effort-router.memory, effort-router.turn; ./register.ts env writes: nothing; ./register.ts env reads: HOME, TYPESAFE_API_KEY, TYPESAFE_BASE_URL, TYPESAFE_DEFAULT_MODEL; ./register.ts state writes: effort-router.memory, effort-router.turn; ./register.ts state reads: effort-router.memory, effort-router.turn
other: $.state.get, other: $.state.set, network, writes files, reads files, reads env vars, reads settings, reads the transcript, draws Repository stars 0
laya-compactiontristankenney/laya-compaction

Verbatim context compaction for Claude Code, scored by a local Laya model.

Access & validation details
Observed events
compaction
Hooks
session.compact, turn.complete
API calls
$.env.get, $.http.fetch, $.session.compact, $.session.usage, $.settings.read, $.ui.log, $.ui.toast
Validation on 2.1.287
Passed
Validator output
./laya-compaction.ts env writes: nothing; ./laya-compaction.ts env reads: TYPESAFE_API_KEY
network, drives Claude, reads env vars, reads settings, draws Repository stars 0
meta-harnessVatsa10/Meta-Harness

Harness engineering for Claude Code: attribute every prompt/agent change, keep every candidate, diagnose from traces, hold out a split - and search over Claude Code's own scaffold against your repo's real failures.

Access & validation details
Observed events
every tool call, every prompt
Hooks
tool.call, tool.check, prompt.submit
API calls
$.env.get, $.fs.exists, $.fs.read, $.fs.write, $.session.id, $.ui.log
Validation on 2.1.287
Passed
Validator output
./harness.ts env writes: nothing; ./harness.ts env reads: HOME, META_HARNESS_HOME, USERPROFILE
writes files, reads files, reads env vars, draws Repository stars 0
dev-kit-jevvitoliu93/harness-dev-plugins

Optional Claude Mod: contextual skill recommendations and historical references through Jev.

Access & validation details
Observed events
every prompt
Hooks
prompt.submit
API calls
$.clock.after, $.clock.now, $.env.get, $.env.set, $.http.fetch, $.process.run, $.session.cwd, $.session.id, $.session.messages, $.ui.log
Validation on 2.1.287
Passed
Validator output
./register.ts env writes: DEVKIT_JEV_RECALL_SESSION; ./register.ts env reads: DEVKIT_JEV_RECALL_SESSION, TYPESAFE_API_KEY
network, runs processes, sets env vars, reads env vars, reads the transcript, draws Repository stars 0
mermaid-livevivi-0124/me

Claude の応答が流れてくる途中から Mermaid で図解する Mod。図にすべきか・どの図か・もう描いていいかの判断だけを Jev(TypeSafe AI の System One モデル)に確率で聞き、Mermaid のソースは決定的に組み立てる。

Access & validation details
Observed events
Only what it hooks
Hooks
session.start, turn.step, ui.render {component=AbovePrompt}
API calls
$.clock.now, $.clock.sleep, $.env.get, $.fs.write, $.http.fetch, $.process.run, $.ui.invalidate, $.ui.log, $.ui.resolve
Validation on 2.1.287
Passed
Validator output
./register.ts env writes: nothing; ./register.ts env reads: MERMAID_LIVE_API_KEY, MERMAID_LIVE_BASE_URL, MERMAID_LIVE_DIR, MERMAID_LIVE_MIN_GROWTH, MERMAID_LIVE_MIN_INTERVAL_MS, MERMAID_LIVE_MODEL, MERMAID_LIVE_PORT, MERMAID_LIVE_THRESHOLD, MERMAID_LIVE_VIEWER, TYPESAFE_AI_API_KEY, TYPESAFE_API_KEY
network, runs processes, writes files, reads env vars, draws Repository stars 0
cc-buddyvmallela0/cc-buddy

Brings back /buddy: the small creature that watched you code, above the prompt again. Restores the companion in ~/.claude.json exactly (same species, rarity, hat and stats), hatches an egg for new accounts, levels up from commits and passing tests, unlocks a 49-buddy roster as you ship, reacts to Claude's work for free, answers in a Haiku-written line when you say its name, and shows in a pane on desktop and mobile. Needs CLAUDE_CODE_ENABLE_FUNCTION_HOOKS=1.

Access & validation details
Observed events
every prompt, subagent spawns, every tool call
Hooks
session.start, session.attach, ui.close, command.run {command=buddy}, prompt.submit, turn.start, turn.complete, agent.spawn, tool.call, ui.message, ui.render {component=AbovePrompt}, ui.render {component=Pane, requestId=buddy}
API calls
$.clock.now, $.clock.sleep, $.command.register, $.env.get, $.fs.read, $.model.complete, $.session.id, $.session.surface, $.store.get, $.store.set, $.ui.close, $.ui.invalidate, $.ui.log, $.ui.open, $.ui.resolve, $.ui.toast
Surface modules
hooks/boards/buddy.tsx
Validation on 2.1.287
Passed
Validator output
./register.tsx env writes: nothing; ./register.tsx env reads: CC_BUDDY_CLAUDE_JSON, HOME
drives Claude, reads files, reads env vars, persists state, draws Repository stars 0
mermaidWhiteKr/claude-plugin-mermaid

Render ```mermaid fences in assistant replies as Unicode box-drawing diagrams in the terminal transcript

Access & validation details
Observed events
Only what it hooks
Hooks
ui.render {component=AssistantMessage}
API calls
none recorded
Validation on 2.1.287
Passed
draws only Repository stars 0
claude-slotsWorldInnovationsDepartment/claude_slots

Replaces the spinner with an animated ASCII slot machine: pull the lever on every prompt, watch the reels spin while Claude works, cash in when the turn completes.

Access & validation details
Observed events
Only what it hooks
Hooks
none
API calls
none recorded
Validation on 2.1.287
fails on 2.1.287
Validator output
name: Plugin name "claude-slots" is reserved: it passes as one of Anthropic's own. A third party's plugin name cannot start with "claude-", "anthropic-", "anthropics-", or "cc-plugin-", be "claude", "anthropic", "anthropics", "claude-code", or "claude-mods", or put "official" beside "claude" or "anthropic". Name it for what it does. If this is one of Anthropic's own plugins, validate the marketplace that lists it.; modules../slots.js: WorldInnovationsDepartment__claude_slots: /tmp/acm-clones/WorldInnovationsDepartment__claude_slots/hooks/slots.js:407: the hook on "turn.step" is not an async generator: turn.step streams, so it takes async function* ($, e, next) { ... }, which yields the chunks and returns the result; $ is always spelled $.noun.event(...) at the call site, on is always on("<event>", hook), and next.to always next… [+16 chars]
draws onlyfails on 2.1.287 Repository stars 0
code-modernizationxotong/claude-marketplace

Guided modernization for any legacy codebase: start with /modernize, get an assessment, an interactive map, the business rules mined from the code, and a plan you approve, then an upgrade, a rewrite or a rebuild with independent proof that the new code behaves like the old. Includes security hardening, a one-page report, specialist agents, and an optional live progress pane (early access).

Access & validation details
Observed events
every prompt, every tool call
Hooks
session.start, ui.render {component=PromptHint}, ui.render {component=AbovePrompt}, ui.render {component=Pane}, ui.close, command.run {command=modernize-panel}, command.run {command=modernize-review-pane}, command.run {command=modernize-sign}, command.run {command=clear|resume}, prompt.submit, turn.start, turn.complete, tool.call
API calls
$.clock.after, $.clock.every, $.clock.now, $.command.register, $.fs.exists, $.fs.list, $.fs.read, $.fs.stat, $.fs.write, $.prompt.fill, $.prompt.submit, $.store.get, $.store.set, $.turn.abort, $.ui.blit, $.ui.close, $.ui.invalidate, $.ui.log, $.ui.open, $.ui.resolve, $.ui.status, $.ui.toast
Validation on 2.1.287
Passed
writes files, drives Claude, writes the prompt box, reads files, persists state, draws Repository stars 0
autonomous-loopyai333/autonomous-loop

A state-machine graph engine that drives a ticket through claim -> worktree -> coding -> evaluate -> review -> human approval, spawning and monitoring subagents at each step.

Access & validation details
Observed events
every tool call
Hooks
session.start, session.end, agent.offer {agent=?}, agent.offer {agent=?}, turn.complete, turn.step, tool.call, command.run {command=autonomous-loop}, ui.render {component=Pane}
API calls
$.agent.list, $.agent.register, $.agent.spawn, $.clock.every, $.clock.now, $.clock.sleep, $.command.register, $.fs.exists, $.process.run, $.store.delete, $.store.get, $.store.set, $.ui.ask, $.ui.invalidate, $.ui.log, $.ui.open, $.ui.resolve
Validation on 2.1.287
Passed
other: $.agent.register, runs processes, drives Claude, reads files, persists state, draws Repository stars 0
aleyodem/agentic-label-engineering

/ale-board: a live task board for an Agentic Label Engineering (ALE) run above the prompt and in a docked pane. Reads `python3 -m ale status --json` and the run's label files; read-only, LLM-free. An experiment on Claude Code function hooks (Mods).

Access & validation details
Observed events
Only what it hooks
Hooks
session.start, command.run {command=ale-board}, ui.close {id=ale-board}, turn.complete, ui.render {component=AbovePrompt}, ui.render {component=Pane}
API calls
$.clock.after, $.clock.every, $.command.register, $.env.get, $.fs.exists, $.fs.read, $.fs.stat, $.process.run, $.session.cwd, $.store.get, $.store.set, $.ui.close, $.ui.invalidate, $.ui.log, $.ui.open, $.ui.resolve
Validation on 2.1.287
Passed with warnings
Validator output
root: CLAUDE.md at the plugin root is not loaded as project context. To ship context with your plugin, use a skill (skills/<name>/SKILL.md) instead.; ../mod/register.tsx env writes: nothing; ../mod/register.tsx env reads: ALE_ROSTER, ALE_RUN_DIR
runs processes, reads files, reads env vars, persists state, drawsValidator warnings Repository stars 0
music-modzyx1121/music-mod

/music: what macOS Music.app is playing, in one line above the prompt. A pressable play/pause glyph, track · artist · album, a progress bar with the clocks, and a pressable next-track glyph. One read of Music.app every five seconds, shared by every open session; the clock ticks in between.

Access & validation details
Observed events
Only what it hooks
Hooks
session.start, command.run {command=music}, ui.render {component=AbovePrompt}, session.end
API calls
$.clock.every, $.clock.now, $.command.register, $.env.get, $.fs.read, $.fs.write, $.process.run, $.store.get, $.store.set, $.ui.invalidate, $.ui.log, $.ui.resolve
Validation on 2.1.287
Passed with warnings
Validator output
root: CLAUDE.md at the plugin root is not loaded as project context. To ship context with your plugin, use a skill (skills/<name>/SKILL.md) instead.; ./register.tsx env writes: nothing; ./register.tsx env reads: TMPDIR
runs processes, writes files, reads files, reads env vars, persists state, drawsValidator warnings Repository stars 0
today-modzyx1121/today-mod

/today: the day's agenda for Claude and for you. Calendar events, E3 deadlines and Reminders are read through the macos and nycu plugin scripts, shown as one line above the prompt with a countdown to the next event, and handed to Claude as a context block so it knows your day.

Access & validation details
Observed events
the system prompt
Hooks
session.start, command.run {command=today}, ui.render {component=AbovePrompt}, prompt.context, session.end
API calls
$.clock.every, $.clock.now, $.clock.sleep, $.command.register, $.env.get, $.fs.read, $.fs.write, $.process.run, $.store.get, $.store.set, $.ui.invalidate, $.ui.log, $.ui.resolve
Validation on 2.1.287
Passed with warnings
Validator output
root: CLAUDE.md at the plugin root is not loaded as project context. To ship context with your plugin, use a skill (skills/<name>/SKILL.md) instead.; ./register.tsx env writes: nothing; ./register.tsx env reads: CLAUDE_CONFIG_DIR, HOME, TMPDIR
runs processes, writes files, reads files, reads env vars, persists state, drawsValidator warnings Repository stars 0

Stars belong to the hosting repository, not the individual mod. Recorded with this scan.

Back to search

Your session.
A few new tricks.

Mods are Claude Code plugins that run JavaScript or TypeScript hooks inside your session. They can add a dashboard, open a pane, change tool behavior, or bring context into the conversation.

Mods are on by default in Claude Code 2.1.287 and later. Choose a mod, open its repository, and follow the author’s setup instructions. The API can change between releases.

How to use mods Build your first mod

A closer look at access.

One mark per mod, colored by its widest recorded access. Select a mark to find its entry.

Download the data
  • Draws & remembers55 mods
  • Reads files39 mods
  • Writes or runs186 mods
  • Uses the network79 mods

Each entry records the hooks and API calls reported by claude plugin validate. Access levels describe the widest reach of those calls. They are not safety ratings.

Validation is a static check, not a runtime compatibility test. A passing result does not prove that a mod works or is safe. Check the source and its setup instructions before installing.

This scan used Claude Code 2.1.287 on Oct 2, 2026. Read the method.

Repackaged catalogs are excluded from the mod count: davila7/claude-code-templates.

Also built into Claude Code 4 mods

These ship inside the binary. sec-default seats outermost only on managed machines and Team or Enterprise plans.

Built-in Claude Code mods
ModWhat it doesAccessRepo stars
agents-mdanthropics/claude-code

AGENTS.md as project instructions, by one option. Under claude-md-or-agents-md a project with no instruction files of its own gets its AGENTS.md files instead: a prompt.context hook asks $.fs.ancestors for every AGENTS.md and .claude/AGENTS.md from the filesystem root down to the working directory and hands them to the engine as project instruction files, which it renders, announces and withholds from agents exactly as it does CLAUDE.md, skipping any file the engine already loaded by import or link; a tool.call hook on Read attaches the ones under the project root as the engine attaches a nested CLAUDE.md. Under claude-md-and-agents-md every AGENTS.md is loaded beside CLAUDE.md. Under managed-only the project's and the person's instruction files are dropped and the organization's managed ones kept. Under claude-md the engine's walk stands alone. claude-md-or-agents-md is the default.

Access & validation details
Observed events
the system prompt, subagent spawns, Read calls
Hooks
session.start, prompt.context {instructionFiles has {kind=?}, prompt.context, agent.spawn {fork=true}, tool.call {tool=Read}
API calls
$.env.get, $.fs.ancestors, $.session.cwd, $.session.root, $.telemetry.log, $.telemetry.mark, $.ui.log
Validation on 2.1.287
Passed
Validator output
./register.ts env writes: nothing; ./register.ts env reads: CLAUDE_CODE_DISABLE_ATTACHMENTS, CLAUDE_CODE_SIMPLE, HOME, USERPROFILE
reads files, reads env vars, telemetry, draws Repository stars 148,873
diffanthropics/claude-code

The diff pane as a plugin: /diff opens the session's uncommitted changes beside the transcript, file by file with their hunks, refreshed as Claude edits and runs commands; the first edit opens it where the terminal is wide enough, and a file's ask button rides its hunks on the next prompt.

Access & validation details
Observed events
?|? calls, every prompt
Hooks
session.start, ui.render {component=PromptHint}, ui.render {component=Pane}, command.run {command=diff}, ui.close {id=?}, ui.focus {plugin=?}, ui.scroll {requestId=?}, command.run {command=clear|resume}, tool.call {tool=?|?}, prompt.submit
API calls
$.clock.after, $.clock.every, $.clock.now, $.command.register, $.env.get, $.fs.list, $.fs.read, $.fs.stat, $.process.run, $.session.id, $.session.messages, $.session.usage, $.settings.read, $.store.get, $.store.set, $.telemetry.log, $.telemetry.mark, $.ui.close, $.ui.invalidate, $.ui.log, $.ui.open, $.ui.resolve, $.ui.status
Validation on 2.1.287
Passed
Validator output
./register.ts env writes: nothing; ./register.ts env reads: CLAUDE_CODE_DISABLE_FILE_CHECKPOINTING
runs processes, reads files, reads env vars, reads settings, reads the transcript, telemetry, persists state, draws Repository stars 148,873
sec-defaultanthropics/claude-code

Security default for organizations: seated outermost, it keeps the organization's classic hooks, prompt content, settings and tool policy out of reach of the plugins a person installs, and adds no policy of its own; one managed option, allowManagedModsOnly, limits mods to the organization's.

Access & validation details
Observed events
classic hooks, the system prompt, every skill, subagent spawns
Hooks
classic.*, prompt.section, prompt.context, prompt.compose, skill.prompt, attribution.text, settings.read, tool.describe, command.describe, agent.offer, agent.spawn, tool.register, tool.list, tool.check, plugin.register {tier=user}
API calls
$.settings.read, $.ui.log
Validation on 2.1.287
Passed
reads settings, draws Repository stars 148,873
telemetryanthropics/claude-code

Plugin analytics: hooks $.telemetry's two events, so a plugin logs an event or marks a feature's use as a first-party row, sent in batches with the session's own credential.

Access & validation details
Observed events
Only what it hooks
Hooks
telemetry.*, telemetry.log, telemetry.mark, session.start, session.end, engine.create
API calls
$.clock.after, $.clock.sleep, $.env.get, $.fs.exists, $.fs.list, $.fs.read, $.http.fetch, $.process.run, $.session.authorize, $.session.cwd, $.session.id, $.session.model, $.session.repo, $.session.surfaces, $.session.version, $.settings.read, $.ui.log
Validation on 2.1.287
fails on 2.1.287
Validator output
types ./types/index.d.ts declares on $: $.telemetry; modules../register.ts: its hooks stand on the telemetry stream "anthropic" (a matcher names it, or a telemetry hook names no "to" and so stands on every stream), which is for the plugins built into the CLI; name the collector on each telemetry hook: on("telemetry.log", { to: "collector" }, hook); ./register.ts env writes: nothing; ./register.ts env reads: ALACRITTY_LOG, APP_URL, AWS_EXECUTION_ENV, AWS_LAMBDA_FUNCTION_NAME, AZURE_FUNCTIONS_ENVIRONMENT, BUILDKITE, C9_PID, C9_USER, CF_PAGES, CI, CIRCLECI, CLAUBBIT, CLAUDE_AGENT_SDK_VERSION, CLAUDE_CODE_ACTION, CLAUDE_CODE_CONTAINER_ID, CLAUDE_CODE_CUSTOM_OAUTH_URL, CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC, CLAUDE_CODE_ENTRYPOINT, CLAUDE_CODE_HOST_PLATFORM, CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST, CLAUDE_CODE_REMOTE, CLAUDE_CODE_REMOTE_ENVIRONMENT_TYPE, CLAUDE_CODE_REMOTE_SESSION_ID, CLAUDE_CODE_SESSION_ACCESS_TOKEN, CLAUDE_CODE_TAGS, CLAUDE_CODE_USE_ANTHROPIC_AWS, CLAUDE_CODE_USE_ANTHROPIC_GOOGLE_CLOUD, CLAUDE_CODE_USE_BEDROCK, CLAUDE_CODE_USE_FOUNDRY, CLAUDE_CODE_USE_GATEWAY, CLAUDE_CODE_USE_MANTLE, CLAUDE_CODE_USE_VERTEX, CLAUDE_CODE_WEBSOCKET_AUTH_FILE_DESCRIPTOR, CLAUDE_CONFIG_DIR, CLAUDE_SESSION_INGRESS_TOKEN_FILE, CODER, CODER_WORKSPACE_NAME, CODESPACES, COMSPEC, CURSOR_TRACE_ID, ConEmuANSI, ConEmuPID, ConEmuTask, DAYTONA_WS_ID, DENO_DEPLOYMENT_ID, DEVPOD, DEVPO… [+980 chars]; ./register.ts hooks telemetry for: anthropic, collector
network, runs processes, reads files, reads env vars, reads settings, reads the transcript, drawsfails on 2.1.287 Repository stars 148,873