Claude Code Skills Marketplace is a collection and marketplace of skills, plugins, agents, and instructions that extend Claude Code with specialized development workflows. It is for developers who want to install existing workflows or create, validate, and package their own Claude Code skills.
Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add daymade/claude-code-skills --skill claude-switch-models-setupgit clone --depth 1 https://github.com/daymade/claude-code-skillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/daymade/claude-code-skills/claude-switch-models-setup)<a href="https://agentmods.dev/skills/daymade/claude-code-skills/claude-switch-models-setup"><img src="https://agentmods.dev/badge/skills/daymade/claude-code-skills/claude-switch-models-setup/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/daymade/claude-code-skills/claude-switch-models-setup"><img src="https://agentmods.dev/badge/skills/daymade/claude-code-skills/claude-switch-models-setup.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 17 findings, up to high
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- high Agent Snooping · line 34 Skill reads from agent configuration directories (.claude/, .codex/, .gemini/). These directories may contain API keys, personal settings, and other credentials that the skill has no legitimate need to access.Fix: Remove all code or instructions that access agent configuration directories (.claude/, .codex/, .gemini/). If configuration values are needed, pass them explicitly as parameters or environment variabl
- high Agent Snooping · line 155 Skill reads from agent configuration directories (.claude/, .codex/, .gemini/). These directories may contain API keys, personal settings, and other credentials that the skill has no legitimate need to access.Fix: Remove all code or instructions that access agent configuration directories (.claude/, .codex/, .gemini/). If configuration values are needed, pass them explicitly as parameters or environment variabl
- high Agent Snooping · line 162 Skill reads from agent configuration directories (.claude/, .codex/, .gemini/). These directories may contain API keys, personal settings, and other credentials that the skill has no legitimate need to access.Fix: Remove all code or instructions that access agent configuration directories (.claude/, .codex/, .gemini/). If configuration values are needed, pass them explicitly as parameters or environment variabl
- high Agent Snooping · line 290 Skill reads from agent configuration directories (.claude/, .codex/, .gemini/). These directories may contain API keys, personal settings, and other credentials that the skill has no legitimate need to access.Fix: Remove all code or instructions that access agent configuration directories (.claude/, .codex/, .gemini/). If configuration values are needed, pass them explicitly as parameters or environment variabl
- high Agent Snooping · line 42 Skill reads from agent configuration directories (.claude/, .codex/, .gemini/). These directories may contain API keys, personal settings, and other credentials that the skill has no legitimate need to access.Fix: Remove all code or instructions that access agent configuration directories (.claude/, .codex/, .gemini/). If configuration values are needed, pass them explicitly as parameters or environment variabl
- high Agent Snooping · line 138 Skill reads from agent configuration directories (.claude/, .codex/, .gemini/). These directories may contain API keys, personal settings, and other credentials that the skill has no legitimate need to access.Fix: Remove all code or instructions that access agent configuration directories (.claude/, .codex/, .gemini/). If configuration values are needed, pass them explicitly as parameters or environment variabl
- high Agent Snooping · line 296 Skill reads from agent configuration directories (.claude/, .codex/, .gemini/). These directories may contain API keys, personal settings, and other credentials that the skill has no legitimate need to access.Fix: Remove all code or instructions that access agent configuration directories (.claude/, .codex/, .gemini/). If configuration values are needed, pass them explicitly as parameters or environment variabl
- high Agent Snooping · line 306 Skill reads from agent configuration directories (.claude/, .codex/, .gemini/). These directories may contain API keys, personal settings, and other credentials that the skill has no legitimate need to access.Fix: Remove all code or instructions that access agent configuration directories (.claude/, .codex/, .gemini/). If configuration values are needed, pass them explicitly as parameters or environment variabl
- high Agent Snooping · line 317 Skill reads from agent configuration directories (.claude/, .codex/, .gemini/). These directories may contain API keys, personal settings, and other credentials that the skill has no legitimate need to access.Fix: Remove all code or instructions that access agent configuration directories (.claude/, .codex/, .gemini/). If configuration values are needed, pass them explicitly as parameters or environment variabl
- high Agent Snooping · line 460 Skill reads from agent configuration directories (.claude/, .codex/, .gemini/). These directories may contain API keys, personal settings, and other credentials that the skill has no legitimate need to access.Fix: Remove all code or instructions that access agent configuration directories (.claude/, .codex/, .gemini/). If configuration values are needed, pass them explicitly as parameters or environment variabl
- high Agent Snooping · line 467 Skill reads from agent configuration directories (.claude/, .codex/, .gemini/). These directories may contain API keys, personal settings, and other credentials that the skill has no legitimate need to access.Fix: Remove all code or instructions that access agent configuration directories (.claude/, .codex/, .gemini/). If configuration values are needed, pass them explicitly as parameters or environment variabl
- medium Rogue Agent · line 34 Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.Fix: Remove any persistence mechanisms (cron jobs, startup scripts, state files). Skills should not maintain state across sessions without explicit user consent.
- medium Agent Snooping · line 35 Skill enumerates or reads other installed skills. Access to other skills' SKILL.md files or the skills directory reveals prompt instructions, capabilities, and secrets that should be invisible to peer skills.Fix: Remove all code or instructions that list or read other skills' files or directories. Skills should operate independently; cross-skill access is a privilege escalation.
- medium Rogue Agent · line 138 Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.Fix: Remove any persistence mechanisms (cron jobs, startup scripts, state files). Skills should not maintain state across sessions without explicit user consent.
- medium Data Exfiltration · line 276 Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.Fix: Verify the destination URL is trusted and necessary. Remove or replace with documented APIs. Ensure no secrets, tokens, or PII are transmitted.
- medium Data Exfiltration · line 276 Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.Fix: Verify the destination URL is trusted and necessary. Remove or replace with documented APIs. Ensure no secrets, tokens, or PII are transmitted.
- medium Rogue Agent · line 316 Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.Fix: Remove any persistence mechanisms (cron jobs, startup scripts, state files). Skills should not maintain state across sessions without explicit user consent.
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00108 | $0.10430 |
| Opus 5.5 | $0.00043 | $0.04172 |
| Sonnet 5.5 | $0.00022 | $0.02086 |
| Haiku 4.5 | $0.00011 | $0.01043 |
Grade B, and why
claude-switch-models-setup scanned grade B with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 10d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Reads agent configuration directoriesmediumAgent snooping
.claude/, .codex/, .gemini/ hold keys, settings and other credentials a mod has no legitimate need for.
- `claude-plugins-sync.py` also mirrors `enabledPlugins` from the default `~/.claude/settings.json` into each profile's `settings.json` (sharing cache files is not enough; Claude Code treats "enabled" state as config-dir How it starts
The opening of the file, as written. The whole thing — 568 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Claude Code Profiles and Local Skill Activation
Overview
This skill creates an isolated-but-shared profile system for Claude Code CLI. Each profile gets its own .claude.json state file (provider credentials and session history) while sharing skills, projects, hook scripts, agents, and installed plugin state across all profiles — and converging each profile's settings.json (hook registration, marketplaces, env feature flags, permissions, preferences) plus the behavior slice of its .claude.json (e.g. workflowSizeGuideline) from the default profile, so the only intended difference between profiles is the model/provider.
The result: you can open one terminal with Kimi, another with DeepSeek, another with Anthropic — each running as a fully independent Claude Code process, without configuration bleed.
For reducing fixed startup context from preloaded MCP tool schemas, read references/mcp-startup-context.md. It owns same-mode measurement, active-profile discovery, provider compatibility checks, reversible server suppression, and fresh-process acceptance.
How It Works
CLAUDE_CONFIG_DIRtells Claude Code CLI which directory to use as its config root.- Each profile lives in
~/.claude-profiles/<name>/with an isolated.claude.json. - Content directories (
skills/,projects/,hooks/,agents/,settings/) are symlinked back to the main~/.claude/directory so you only maintain one copy. Note this shares hook scripts, not hook registration — registration lives in each profile's ownsettings.json(next bullet). - Config layer —
settings.json: each profile has its ownsettings.json(Claude Code treats it as config-dir-local), so everything stored there — hook registration,extraKnownMarketplaces,enabledPlugins,envfeature flags,permissions, behavior preferences — silently drifts the moment it changes in the default profile (measured 2026-07-18: 9/9 real profiles had zero hook registrations).sync-profile-settings.pyis the converger: registered as a SessionStart hook, it copies every key from the default profile'ssettings.jsoninto every profile's, except identity keys (top-levelmodelandadvisorModel— the latter is Anthropic-model routing a third-party endpoint can't serve; and env vars that carry provider routing or Anthropic-native isolation —ANTHROPIC_*,CLAUDE_CODE_SUBAGENT_MODEL,ENABLE_TOOL_SEARCH,DISABLE_GROWTHBOOK/TELEMETRY/AUTOUPDATER— which the provider settings file deliberately sets differently). Withinenv, convergence is two-way for non-identity keys: main's keys overwrite the profile's, and a non-identity key main no longer carries is deleted from the profile and reported (identity keys are exempt — main never carries them, so their absence is not deletion evidence). Profile-only top-level keys are preserved; nested collections inside a key main also has (e.g.permissions.allow,enabledPlugins) converge wholesale to main's value, and any profile-only nested entries dropped that way are listed (count on write, detail under--check) so the loss is visible rather than silent. This is what makes "everything except the model works in every profile" actually hold.- Scope is every profile, in every invocation. No argument-free,
--all, or--checkrun ever covers a subset: all of~/.claude-profiles/*plus$CLAUDE_CONFIG_DIR, every time. A run prints one line per profile it actually changed and nothing when there is no drift — so drift shows up in the session-start output instead of hiding, and a silent session start means converged. A$CLAUDE_CONFIG_DIRthat is unset, empty, or not a profile directory is skipped, never created. - Exit codes: the argument-free run exits 0 unconditionally — it is a session-start hook and never blocks a session, including when a main file is corrupt (it warns, converges nothing, and exits 0, because a corrupt main reads as empty and converging toward empty would strip hooks from every profile).
--checkexits 1 on drift and 2 on a corrupt main file or a profile it could not read;--allwrites and exits 2 on those same two failures — the difference between them is that--checkwrites nothing, not which failures return 2.--check --allis the same audit as--check. One unreadable profile is reported and skipped — it never cancels convergence for the others.
- Scope is every profile, in every invocation. No argument-free,
- State layer —
.claude.jsonbehavior keys:settings.jsonis not the only per-profile config file. Claude Code also keeps a per-profile state file (the main profile's is~/.claude.json; each third-party profile's is<profile>/.claude.json— asymmetric paths, verified on disk), and a few behavior settings live only there (workflowSizeGuideline, notification/UI preferences). On 2026-08-17workflowSizeGuideline: smallexisted only on the main profile and 10/11 third-party profiles had no copy — a Kimi session fanned one Dynamic Workflow out to 30+ agents with no size guidance in its system prompt. The same converger therefore also syncs an allowlist of behavior keys into each profile's.claude.json. The safety mechanism is a three-way classifier in the script, not a hand-maintained key list: allowlisted behavior keys sync; state/cache/counter/migration/credential keys (matched by name patterns) are never touched; anything unknown-and-different is reported — one line per drifted key per run, until a human classifies it (the tripwire that surfaces the next behavior key the day it appears). Writes are backup + atomic-replace; measured safe against a live harness rewriting the file (a marker key survived 30+ minutes of an active session). Applies next session — the harness reads this file at startup. - Exception —
plugins/: marketplace content and install state are shared, but each profile keeps its ownknown_marketplaces.json. Claude validates a marketplace'sinstallLocationwithpath.resolve()(which does NOT resolve symlinks), so a single shared file would make every non-writing profile report "corrupted installLocation".claude-plugins-sync.pybuilds and maintains this per-profile structure. claude-plugins-sync.pyalso mirrorsenabledPluginsfrom the default~/.claude/settings.jsoninto each profile'ssettings.json(sharing cache files is not enough; Claude Code treats "enabled" state as config-dir-local). It runs at profile launch and reactively — the LaunchAgent in the next bullet re-runs it on every write to the default profile'ssettings.json, soclaude plugin enable/disable --scope usertypically propagates to every profile within seconds without a relaunch (verified 2026-08-22). The mirror adopts first: enabledPlugins keys that exist only in some profile's settings.json (the wayclaude plugin installwrites them) are written back into the default profile before mirroring — consistent values only; cross-profile conflicts stay per-profile behind a standing warning instead of being silently overwritten. The SessionStart converger above covers the same key as part of its whole-settings sync;claude-plugins-sync.pyremains the owner of the per-profileknown_marketplaces.jsonstructure.skill-install-audit.pyreconciles the registry / installed / enabled / Codex-manifest /~/.agents/skillslayers read-only, plus the daemon's pinned runtime version and whether the checkouts it judged everything against are themselves behind.prune-source-sync-backups.pyremoves only the.source-sync-backups/buckets git can reproduce; a bucket holding even one blob no repository has is reported and left alone.- Local source sync keeps approved source-backed routes aligned for each host. Before selecting or repairing entries, read the host-specific activation contract. It owns the manifest fields, marketplace expansion, Claude plugin/direct-link distinction, unresolved-name handling, collision safety, and legacy compatibility. Source registration alone does not choose activation policy; do not hand-create links or repurpose the manifest to manage third-party inventory.
- Sync scripts use a shared cross-process lock. This is required because users often open several provider windows from tmux or multiple terminals at once; concurrent launches must serialize marketplace/cache rewrites while still allowing all profiles to start.
- For the full local-source architecture, read
references/local-source-sync-architecture.mdbefore changing these scripts. - For Skill authoring in an approved independent Fleet clone, use the leased-authoring owner procedure.
- Provider routing is done via
~/.claude/settings/<name>.json, which sets non-secretANTHROPIC_MODELandANTHROPIC_BASE_URLfor that window. Deliver credentials through the explicit export binding in setup step 4; existing in-file credentials remain readable for legacy compatibility. That file is a full settings file rather than an env file, and it is the one layer the converger never touches —claude-profilelaunches withclaude --settings ~/.claude/settings/<name>.json, while the converger only ever writes<profile>/settings.json. So anything that has to be per-profile and has to survive every session start belongs here; put it in the profile's ownsettings.jsonand the next convergence takes it back. This includes per-profilepermissions.deny, such as denyingWebSearchandWebFetch. - Per-profile thinking effort lives in that provider file too. The default profile sets effort per Anthropic model via
modelSettingsin~/.claude/settings.json; a third-party profile that needs a different effort pinsCLAUDE_CODE_EFFORT_LEVEL(e.g."max") in its~/.claude/settings/<name>.jsonenv instead. The provider file is the only layer that can hold that pin: put it in the profile's ownsettings.jsonenv and the converger deletes it at the next session start (a non-identity env key the default profile doesn't carry is deletion-propagated away); put it in the default profile's env and it applies there and converges into every third-party profile'ssettings.json— usually wrong, because weaker third-party models benefit from forced max effort exactly when the default flagship no longer does (verified end-to-end 2026-10-06: a session launched viaclaude-profilereads the pinned value back from its own environment). - A scripted profile needs its provider settings and its credential binding. Use
claude-profileor the registered execution owner so the model, endpoint and authorized token reach the same process. A caller that supplies onlyCLAUDE_CONFIG_DIRcan omit those inputs;Not logged indoes not by itself mean a new login or key is needed. Resolve the existing source and reproduce its explicit per-profile export binding first. Legacy in-file tokens remain readable, but new setup must not put a secret in a settings file. - The converger has no single-profile mode: every invocation covers all of
~/.claude-profiles/*plus$CLAUDE_CONFIG_DIR, and no flag narrows that. To converge one profile on demand, pointCLAUDE_PROFILES_ROOTat a directory holding only it, or run--checkand read the per-profile lines. The default profile's own files are the source and are never written.
What ships with it
41 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- assets/templates/anthropic.json 404 B
- assets/templates/codex-active-skills.json 198 B
- assets/templates/deepseek.json 521 B
- assets/templates/glm.json 479 B
- assets/templates/kimi-highspeed.json 616 B
- assets/templates/kimi.json 404 B
- assets/templates/minimax-cn.json 569 B
- assets/templates/minimax-m2-7-cn.json 604 B
- assets/templates/minimax-m2-7.json 602 B
- assets/templates/minimax.json 567 B
- assets/templates/stepfun.json 541 B
- evals/trigger-evals.json 2.5 KB
- references/context-window-config.md 10 KB
- references/credential-storage.md 6.9 KB
- references/local-source-sync-architecture.md 32 KB
- references/mcp-startup-context.md 5.9 KB
- references/student-setup-guide.md 4.4 KB
- references/troubleshooting.md 32 KB
- scripts/claude-plugins-sync.py 22 KB runs code
- scripts/claude-plugins-sync.test.py 8.0 KB runs code
- scripts/claude-profiles.sh 23 KB runs code
- scripts/prune-source-sync-backups.py 6.2 KB runs code
- scripts/seed-codex-active-skills.py 2.1 KB runs code
- scripts/setup.sh 5.9 KB runs code
- scripts/skill-install-audit.py 18 KB runs code
- scripts/sync-daemon-recorder.sh 4.5 KB runs code
- scripts/sync-daemon-recorder.test.sh 8.2 KB runs code
- scripts/sync-local-skill-sources-daemon.sh 11 KB runs code
- scripts/sync-local-skill-sources.py 100 KB runs code
- scripts/sync-profile-settings.py 33 KB runs code
- scripts/sync-profile-settings.test.py 50 KB runs code
- tests/test_authoring_pools.py 16 KB runs code
- tests/test_credential_binding.py 4.1 KB runs code
- tests/test_daemon_interpreter_compat.py 4.0 KB runs code
- tests/test_daemon_runtime_lag.py 5.6 KB runs code
- tests/test_native_command.py 9.2 KB runs code
- tests/test_prune_source_sync_backups.py 5.4 KB runs code
- tests/test_setup.py 12 KB runs code
- tests/test_skill_install_audit.py 12 KB runs code
- tests/test_source_sync_daemon.py 24 KB runs code
- tests/test_sync_local_skill_sources.py 122 KB runs code
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 10d ago Changed · +17 lines af774d795409
- 11d ago Changed · +17 lines eb6f5802e716
- 16d ago Changed · +6 lines · -1 tokens per session 8e44cd4a09d9
- 25d ago Changed · -17 lines fb2adabf0e5b
- 1mo ago Changed · +52 lines 46dda306fcdb
- 1mo ago Changed · +1 lines 64ec075c664f
- 1mo ago Changed · -7 lines · -100 tokens per session 5e2d9a061a95
- 1mo ago Changed · +4 lines f3d13f44b35d
- 1mo ago Changed · +51 lines 432fc012e33a
- 1mo ago First seen · 444 lines · 209 tokens per session scan B 2011929b16e0
claude-switch-models-setup is a skill published in the GitHub repository daymade/claude-code-skills (1,516 stars, last pushed yesterday), licensed MIT. It adds 108 tokens to every session and 10,430 once invoked, about $0.0004 per session on Opus 5.5. A static security scan graded it B with 1 finding (reads agent configuration directories). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
claude-switch-models-setup compared with skills from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| claude-switch-models-setupdaymade/claude-code-skills | Skill | 1.5k | yesterday | MIT | B | 108 | Claude Code |
| imagegenopenai/codex | Skill | 133k | yesterday | Apache-2.0 | A | 113 | Codex |
| playwright-climicrosoft/playwright | Skill | 99k | yesterday | Apache-2.0 | A | 19 | Claude Code |
| local-ai-agentsmicrosoft/ai-agents-for-beginners | Skill | 79k | 4d ago | MIT | A | 200 | Claude Code, Codex |
| systematic-debuggingobra/superpowers | Skill | 313k | 3d ago | MIT | A | 21 | Claude Code |
| next-cache-components-adoptionvercel/next.js | Skill | 143k | yesterday | MIT | A | 95 | Claude Code |
| next-partial-prefetching-adoptionvercel/next.js | Skill | 143k | yesterday | MIT | A | 103 | Claude Code |