Personal marketplace for Claude Code plugins focused on developer productivity and Agent-First workflows.
Add this marketplace to your Claude Code:
/plugin marketplace add musingfox/cc-pluginsVisual output across the whole spectrum — inline chat shapes for short explanations, browser HTML for long documents:
viz-render: handles three input shapes — file path, plan name, or inline content (markdown/mermaid)viz-inline: compact in-chat visuals (call trees, pseudocode, diff-on-shape, component trees) for short explanations and code-shape discussions; hands off to viz-render above ~20 lines (adapted from HumanLayer's show-me, MIT)- Full Markdown: syntax highlighting, KaTeX math, Mermaid, scroll animations, dark mode, TOC
- Plans Resolution: bare name → looks up
~/.claude/plans/*.md; no argument → lists available plans - Proactive Triggers: auto-renders when terminal would show a 4+ row / 3+ column table, a comparison, audit, feature matrix, or 50+ lines of structured content
- Zero Runtime Deps: CDN libraries (marked.js, DOMPurify, Pele (Mermaid syntax), Highlight.js, KaTeX, AOS)
Installation:
/plugin install vizSandbox configuration: viz writes HTML output to /tmp/viz/. If sandbox is enabled, add to your .claude/settings.json or ~/.claude/settings.json:
{
"sandbox": {
"filesystem": {
"allowWrite": ["//tmp/viz"]
}
}
}Fetch Apple Podcasts episode audio download URLs:
- iTunes API Pipeline: Resolves episode audio URLs via iTunes Lookup API + RSS feed parsing
- Zero Browser: No scraping needed — pure HTTP API workflow
- Auto-Triggered: Activated when you share an Apple Podcasts URL or ask to download podcast audio
Installation:
/plugin install apple-podcastsOne skill that teaches a session to act as one node of a contract tree: take a contract from the layer above, deliver it, report back. It fires on its own for a goal whose scope is settled, and for a question not yet sure what to build:
- Do or split: a node does its contract itself unless the work outruns one context, has parallel parts, or needs a different model; splitting makes it the author of the sub-contracts
- Sub-contracts written in place: the node writes each sub-node's
contracts.jsonitself — observed channels, file scope, test cases, decision tiering, atomicity, load-bearing assumptions — and checks it withscripts/check-contracts.sh - Verbatim tickets:
contracts.jsonreaches a muster worker through--ticket-file, never retyped; nested muster runs carry a depth-2 tree back in one fetch - One review per split:
method:reviewchecks a split node's integrated branch against the contract its author wrote; leaves run only thescope-gate.shandrevert-gate.shgates - Fixed report shape:
DONEorBLOCKED, then the kind, the review layer, what was found and the options, so a rex pane and a muster worker report alike; a problem climbs one layer at a time, after one information round and at most two bounces - Narrowing first: diverge → round → probe → converge, ending in a contract the node does or splits; at the top a round goes on a browser decision page (
render-decision.sh,wait-decision.sh), withAskUserQuestionas the fallback - Carries its own seats and gates: agents
method:review,method:probe,method:prototypeandmethod:divergence; scriptsscope-gate.sh,revert-gate.sh,add-repros.sh,render-decision.sh,wait-decision.shandcheck-contracts.sh - Uses: muster to run nested nodes, and viz to render the decision page
Installation:
/plugin install methodLifecycle management for MADR 4.0 Architecture Decision Records with cross-reference consistency enforcement:
- Full Lifecycle: Create, list, supersede, deprecate, audit — all via natural language
- Warrant Test: Three conditions — hard to reverse, confusing without context, a real trade-off — gate creation and flag existing ADRs that fail them
- Core Differentiator: Supersession updates ALL cross-references across the entire repo, not just the old-new ADR pair
- 4-Layer Search: Filename, ADR-N marker, markdown link, title substring — catches every reference
- Categorized Updates: Auto-update ADR/doc files, add markers to source code, skip config (user choice per category)
- Zero Dependencies: Pure markdown instruction files, no CLI tools to install
Installation:
/plugin install adrInvariants and forward-looking interface contracts as verifiable, sliceable entries:
- What must not change, not why we chose it — complements ADR (history) with load-bearing constraints
- Scope by file globs: globs match the code; module names are their own drift source
slice <path>...: prints the entries constraining those paths, ready to paste into a worker's brief — a spec nobody reads is a document, one that injects itself is a constraintverify: runs every accepted entry's check; a check that would false-positive is downgraded to prose and reported as debt every run- Forward-looking contracts: describe an interface before it exists — the case code cannot cover
- Domain glossary:
/spec:glossarykeeps a living glossary of domain terms inCONTEXT.mdat the repo root
Installation:
/plugin install specBrowser automation and Playwright test authoring:
agent-browser: live browser control via the agent-browser CLI — open URLs, snapshot pages, click/fill/screenshot, inspect elements. Ref-based interaction (@e1,@e2) from the accessibility tree instead of fragile CSS selectorsplaywright: write or set up@playwright/testE2E tests — specs, locators, assertions, fixtures, configweb-test: debug a live page and convert the findings into Playwright regression tests — the debug-to-test workflow
Installation:
/plugin install agent-browserA visible browser agents drive and you can take over, beside your everyday Zen (macOS, Zen, bun, Node for npx):
- Agent Zen: a second Zen on its own profile with WebDriver BiDi and Marionette on, framed in red;
zen-agent start | status | stop | open URL - Headless or headed:
zen-agent start --headless, andzen-agent headed | headlessto switch by restarting; tabs come back - Secrets stay with you: the agent stops before any step that generates or reveals an API key, token or password, as it does for logins, 2FA and payments
- MCP: Mozilla's
firefox-devtools-mcpin connect-existing mode — snapshot, click, fill, screenshot - Scripts:
zen-agent run SCRIPT.tsruns an agent-written puppeteer script over WebDriver BiDi in one call and prints only what it returns; installspuppeteer-coreon first use - Cookies on approval:
zen-agent cookies DOMAINcopies one domain's cookies from your everyday profile; never pre-approved - Rex redirect:
zen-agent setup-shellmakes an agent'sopen URL/$BROWSER URLin Rex shells land in the agent Zen; human shells are untouched. Re-run it after a plugin update
Installation:
/plugin install zen-agentOne-stop hook setup assistant for Claude Code projects:
- Auto-Detection: Detects project language, toolchain (ruff/eslint/clippy/prettier/rustfmt/pytest/vitest...), VCS type, and existing hooks
- Pre-commit Scripts: Generates
.githooks/pre-commitwith security checks (secrets, private keys, sensitive files), file integrity checks (large files, merge conflicts, line endings), and structure checks (no-commit markers, syntax validation, lock sync) - One Gate for Every Committer: Lint, format, and test run in pre-commit for Claude Code too; no Claude Code hooks are generated
- Conventional Commits: Optional
.githooks/commit-msgvalidation - Team-Shareable: Uses
core.hooksPathpointing to.githooks/(committed to repo) - 3 Skills:
setup(detect + generate),doctor(health check),update(diff + refresh)
Installation:
/plugin install hook-guardInteract with Fizzy via the Fizzy CLI for project management:
- Full CLI Coverage: Boards, cards (20 subcommands), columns, comments, steps, reactions, tags, users, notifications, pins, webhooks, account settings
- Search & Filter: Full-text search, time-based filters, assignee/tag/column filtering
- File Uploads: Inline images and background images via signed uploads
- Board Migration: Copy boards across accounts with
--dry-runsupport - Prerequisites:
fizzyCLI installed and authenticated (fizzy setup)
Installation:
/plugin install fizzyPersonal Obsidian vault productivity — capture, notes, and project management through the Obsidian CLI:
- Issue Pane (
/issue): Claude Mod pane for listing a view of the project's dashboard and reading a card's details — coloured status and priority labels, an Acceptance Criteria count, Mermaid blocks drawn as text diagrams (uvx termaid), and an Open in browser Button that renders the card through viz, plus Bind this session / Unbind this session Buttons that tie the session to the card and show it in a band line above the prompt - Jot (
/obw:jot): Quick capture (timestamped journal bullet) or long-form note — triages by input shape; filename strategies (title / slug / timestamp-title),--folderoverrides per-call - Project Management (
/obw:pm): Task/doc lifecycle, Bases dashboards, wikilink cross-references; split a spec into blocking tickets - Interactive Init (
/obw:init): Guided setup of.obsidian.yaml— vault binding, note/pm sections - Pm Tools (
mcp__obw__pm_tick,pm_note,pm_status): Claude ticks an acceptance criterion, appends a Notes line or sets a card's status in one tool call; each writes through oneobsidian evaland reads the card back - Prerequisites: Obsidian app + CLI enabled,
.obsidian.yamlconfig in project root; the Issue Pane also needs Claude Code 2.1.287 or later, with uv and viz optional
Installation:
/plugin install obsidian-workspaceOffload heavy work to pi cheap/fast models so Claude only writes briefs and reviews summaries — saving tokens:
agents/builder.md: brief-driven executor — when the brief embedspi-agent.shoffload usage, builder operates it as a pure operator (pi-agent.sh startper task,pi-agent.sh watchas the main loop, run acceptance check, distill report); when the brief carries no offload usage, builder does the work itself. Builder does NOT choose the mode — the brief does.agents/reviewer.md: independent contract judge — given ONLY the contract, the deliverable paths, and the check output, returns an evidence-backed PASS/FAIL per clause; never sees the builder transcript, never runs offload verbs. Main dispatches builder and reviewer directly (no intermediary coordinator).pi-agent.sh: name-addressed unified verbs (start/send/poll/peek/ls/stop/watch) mirroring native sub-agent UX;sendresumes a finished worker's session,watchfeeds the Monitor tool for push notificationspi-dispatch.sh: launches one brief on a cheap/fast pi model in the background (routed by onePI_DISPATCH_CMD), returns a run handle instantly — dispatch N briefs for parallel fan-outpi-poll.sh/pi-stop.sh: idempotent one-line status polls and group-kill cancel;pi-worktree.shisolates parallel code-writing tasks in git worktrees- Claude reviews, workers write: main thread issues briefs, collects diffs/summaries, and does the final review — all reading/reasoning/generation happens inside pi, off Claude's context
- Prerequisite:
piCLI installed and authenticated (PI_DISPATCH_CMDselects another pi-compatible binary such as omp)
Installation:
/plugin install pi-dispatchUnattended Claude workers over ACP (claude-agent-acp, pinned by version): a coordinator dispatches headless workers, each optionally under a permission fence, and collects their result from a report file:
- Permission fence: workers run in default mode with no setting sources; only one-time allow and reject decisions are answered
- Model and effort per dispatch:
--modeltakes an alias (haiku,sonnet,opus,fable), since the adapter offers the newest models only under them, and the optional--effortsets how hard that model works; a value the adapter does not offer is refused with the offered values and their display names - Event log: every worker run records its events for replay after the fact
- File-based escalation: when a worker needs a human, the client writes
QUESTION-<n>.jsonand the request blocks untilANSWER-<n>.jsonexists - Report-file completion: a run is done when the worker writes its report file
- Progress band: a Claude Mod band above the prompt lists each in-flight run's title, task-list progress and state, and needs Claude Code 2.1.304+
- Own clone per run: each worker runs in a
git clone --no-hardlinksof your repo under the run directory, so nothing it runs can move your refs, as long as your repo is outside/tmp,/private/tmpand$TMPDIR(muster runrefuses one under them); muster fetches itsmuster/<name>branch back when the worker goes idle and when the run ends, and cleanup ismuster clean NAME, which removes the run directory of an exited run and refuses one whose branch could not be fetched back;muster statusshowsdeps=<copied>/<total>, how many of the directories holding a lockfile had their dependencies copied into the clone, when the run records them
Bash runs inside Claude Code's OS sandbox: Bash writes are confined to the worktree and the system temp directories, plus a per-run tool cache so npm install and bun install work, and reads are not confined, except for credential stores (~/.npmrc, ~/.config/gh, ~/.git-credentials, ~/.config/git/credentials, ~/.netrc, ~/.aws, ~/.docker/config.json, ~/.ssh, ~/.pi, ~/.config/gcloud, ~/.kube, ~/.cargo/credentials.toml, ~/.pypirc, ~/Library/Keychains), which are denied. The list is best-effort: it does not follow symlink targets or env overrides such as XDG_CONFIG_HOME. Network for Bash and web fetch alike is limited to a built-in allowlist (registry.npmjs.org only; github.com is off it so a worker cannot push with your git credentials), extendable per dispatch through MUSTER_ALLOW_HOSTS; a host off the list, and any web search, is refused without a question. The worker's tools are a fixed list with claude.ai connectors off. muster run refuses a --repo or MUSTER_HOME under /tmp, /private/tmp or $TMPDIR, because the sandbox leaves those writable and a worker could then write the repository's refs or answer its own questions. muster run --unfenced drops the sandbox and leaves the clone as the only isolation, for a ticket whose checks the sandbox cannot run, such as a suite that starts its own sandbox-exec.
Installation:
/plugin install musterGenerate an interactive bash wizard that walks a human through steps only they can perform — ported from mattpocock/skills (wizard), MIT, Copyright (c) 2026 Matt Pocock:
- Human-only stages: Dashboard logins, credential capture, CI secret writes, one-off migrations — never the steps the agent can run itself
- Template UX: Stage progress, confirmation gates, cross-platform URL opening, hidden secret entry, idempotent
.envupserts,gh secret/gh variablewrites - Author stages only: Copy the library template; do not hand-edit above the
STAGESmarker - Ephemeral by default: Built for one run and deleted when done; commit only as a repeatable setup path
Installation:
/plugin install wizardConfirm the cause of a bug and leave one failing test on a branch — ported from mattpocock/skills (diagnosing-bugs), MIT, Copyright (c) 2026 Matt Pocock:
- Own worktree: diagnosis runs on a throwaway worktree; the current checkout stays untouched
- Stops at red: a confirmed cause plus one failing test; applying the fix is the main session's work
- Read the branch: the branch is a source to read from, not something to check out
- Two entries:
/diagnose:diagnoseasks before it starts;/diagnose:diagnose-nowstarts immediately
Installation:
/plugin install diagnoseSurvey a codebase for deepening opportunities — shallow modules, leaking seams, interfaces that are hard to test through — and hand the candidates to viz as a Mermaid report — ported from mattpocock/skills (improve-codebase-architecture), MIT, Copyright (c) 2026 Matt Pocock:
- Scope rule: follow the user's direction, else git-log hotspots, else widen; explorers scan for shallow modules, leaking seams, and interfaces that are hard to test through
- Explorers: fan out over the scoped modules; each reports deepening candidates, not a rewrite
- Viz report: candidates land as markdown plus Mermaid and are handed to viz to render
- Method hand-off: a candidate worth narrowing further goes to the
methodskill; this skill ends at the report
Installation:
/plugin install deepenEvery omp provider's remaining quota inside the session, as a Claude Mod (needs Claude Code 2.1.287 or later):
/quota: toggles a compact table above the prompt, one line per provider with every window's share and time to reset/quota refresh: runsomp usage invalidate, then fetches fresh quota without a model turn- Toast: one in-session toast when a provider's status worsens from
ok
Installation:
/plugin install omp-quotaUpcoming Google Calendar events inside the session, as a Claude Mod (needs Claude Code 2.1.287 or later and the claude.ai Google Calendar connector):
/cal: toggles a band above the prompt listing the next 7 days of events from every calendar you can see/cal N: lists the next N days (1–31) and remembers the choiceexclude_calendars: plugin option naming calendars to leave out
Installation:
/plugin install calendarMini games to play in a pane while Claude works, as a Claude Mod (tested on Claude Code 2.1.291); see games/README.md for how to play each:
/2048: opens a 2048 pane that takes the keys at once, even mid-turn;wasdmove,nstarts over,qcloses/mines: opens a 9×9 Minesweeper pane the same way;wasdmove the cursor,edigs,fflags/dino: opens Chrome's offline dino runner with cacti and birds; click the pane once, then space or ↑ jumps and ↓ ducks/gomoku solo: Gomoku against the computer, offline/gomoku new//gomoku join <code>//gomoku match: Gomoku against a friend by room code, or whoever is waiting, through the shared relay atgames-relay.musingfox.com; a toast says when it is your turn- Esc: hands the keys back to the prompt and leaves the board in place; the game's command takes them again
- Best score: 2048's and the dino's are kept across sessions
Installation:
/plugin install gamesReview cards generated from your repo's specs, ADRs and vault task cards, as a Claude Mod (see flashcards/README.md):
/cards build: sends up to 20 changed sources to a background Haiku in batches of 10; the deck is kept outside the repo/cards: opens a review pane that deals the due cards with a Leitner schedule, without model tokens;fflips,123rate,qcloses
Installation:
/plugin install flashcardsEvery ```mermaid block Claude writes drawn as plain box art in place in the transcript, as a Claude Mod (needs Claude Code 2.1.287 or later); a fork of claude-mermaid (MIT):
- Drawn: flowchart, sequence, class, state and xychart; every other kind, and ER, keeps its fence
- Wide characters: CJK labels count as two columns, so box borders line up
/mermaid-inline ascii|lr on|off: plain ASCII art, and whether top-down diagrams may be laid out sideways- Too wide: drawn again with compact padding; still too wide, it is cut and
/mermaid-inline openshows it in the browser
Installation:
/plugin install mermaid-inlineRepository audits that put each piece of knowledge where it cannot drift. Each audit is a skill you type by hand (disable-model-invocation: true), so none costs context until you run it:
/audit:docs: sorts every section of the repo's docs —README.md,CONTRIBUTING.md,CLAUDE.mdandAGENTS.mdat every level,docs/, spec and ADR entries — into history, constraint, decision or current state; current state is a cache of the code, so it is replaced by a pointer to its source, rules move into the directory they govern, decisions go to/adr:adrand silent invariants to/spec:spec- Core plus modules: every repo gets the core (
README.md,CLAUDE.md); architecture, contributing, nested directories, UI design and operations are modules whose guidance loads only when the repo shows their signal, and a signal with no content gets a question, never an empty file docs-classifieragent: classifies one long doc, samples its claims against the code, and writes a report; its output is a lead list the skill verifies before acting/audit:tests: traces each commitment clause of the repo's standing milestones indocs/milestones/to the tests meant to guard it, and lists the clauses nothing guards, with one hand-off line per delivered milestone for the main session to get those tests written; it reads assertions and never runs the repo's teststests-traceragent: traces one milestone's clauses and writes a verdict per clause to a report; the skill assembles the reports into one list- More audits (infrastructure config) are planned as further skills
Installation:
/plugin install auditThis repository serves as both a marketplace and a development workspace for custom Claude Code plugins.
Every plugin directory carries .claude-plugin/plugin.json; the rest is its components.
Once per clone, run git config core.hooksPath .githooks. The hooks enforce Conventional
Commit subjects and bump a plugin's patch version in the commit that changes it, so a
single git push ships an update Claude Code will refresh.
cc-plugins/
├── .claude-plugin/marketplace.json # Marketplace configuration
├── .claude/skills/marketplace/ # Repo-internal: add/modify a plugin, version bump, sync
├── .githooks/ # commit-msg, pre-commit (version bump), post-commit, pre-push (guard)
├── adr/ skills: adr
├── agent-browser/ skills: agent-browser, playwright, web-test
├── apple-podcasts/ skills: apple-podcasts-fetch
├── audit/ skills: docs, tests · agents: docs-classifier, tests-tracer · scripts, tests
├── calendar/ hooks: register (Claude Mod) · tests
├── deepen/ skills: survey · agents: explorer · scripts, docs, tests
├── diagnose/ skills: diagnose, diagnose-now · docs, scripts, tests
├── fizzy/ skills: fizzy
├── games/ hooks: register (Claude Mod) · relay (Cloudflare Worker) · tests
├── flashcards/ hooks: register (Claude Mod) · tests
├── hook-guard/ skills: hook-guard
├── mermaid-inline/ hooks: register (Claude Mod) · tests
├── method/ skills: method · scripts · tests
├── muster/ skills: muster · hooks: register (Claude Mod) · src, e2e, tests
├── obsidian-workspace/ skills: init, jot, pm · templates, tests · hooks: register (Claude Mod)
├── omp-quota/ hooks: register (Claude Mod) · tests
├── pi-dispatch/ skills: pi-dispatch · agents: builder, reviewer · scripts, shims, extensions, tests
├── spec/ skills: spec, glossary · scripts: spec.sh · tests
├── viz/ skills: viz-inline, viz-render · lib, tests
├── wizard/ skills: wizard
├── zen-agent/ skills: zen-agent · bin: zen-agent, open · lib · .mcp.json · package.json
└── README.md
MIT License - Personal use and modification encouraged