Skip to content
Development
Skill

/csswitch-external-skill-tools

CSSwitch 外部 Skill 安装与卸载的强制路由。MUST use in CSSwitch-managed Claude Science whenever the user asks to install, import, add, uninstall, remove, or delete an external Skill.

From plugin
csswitch
4911 skill

Claude Code

$ npx -y skills add SuperJJ007/CSSwitch --skill csswitch-external-skill-tools --agent claude-code

SKILL.md

csswitch-external-skill-tools.SKILL.md
name: csswitch-external-skill-tools
description: "CSSwitch 外部 Skill 安装与卸载的强制路由。MUST use in CSSwitch-managed Claude Science whenever the user asks to install, import, add, uninstall, remove, or delete an external Skill."

CSSwitch external Skill tools

This Skill only routes external Skill operations. It is not an authoring or publishing workflow. For every request in scope, use the CSSwitch external Skill connector and its matching tool. Do not load `customize`.

Install or import

1. Accept a public GitHub repository root, ref root, Plugin/Skill collection, or exact Skill directory URL. Preserve it exactly. If the user supplied only a name, ask for the URL; do not search for or guess a source. 2. Load the generated connector Skill `mcp-csswitch-skill-installer`. 3. Follow that connector's API and call `install_external_skill` with the exact `source_url`. The equivalent REPL call is:

host.mcp(
    "csswitch-skill-installer",
    "install_external_skill",
    source_url=source_url,
)

Never call `host.skills.edit` or `host.skills.publish` as a fallback. Never use Add Skill ZIP or `marketplace.importSkills` as a fallback. Never download the Skill yourself, use shell/Python filesystem APIs, use a GitHub credential, or pass staged files to CSSwitch. The CSSwitch host owns URL resolution, one-archive download, validation, atomic commit, and OPERON attachment. Repository and collection URLs may install a Nature-like bundle; this installs only its Skill collection and support resources, not hooks, MCP, agents, or a complete Claude Plugin runtime.

Exact-plan confirmation for one fixed-commit Skill

When the user asks to review and explicitly confirm a single-Skill install, and the supplied `source_url` already contains a 40-hex GitHub commit SHA, first request a plan without downloading or installing anything into Science:

planned = host.mcp(
    "csswitch-skill-installer",
    "install_external_skill",
    source_url=source_url,
    confirmation={"schema_version": 1, "action": "plan"},
)

If it returns `CONFIRMATION_REQUIRED`, show the user its exact source, complete `effects`, `plan_digest`, expiry, and any degradation. Host access approval is not the user's confirmation of those effects. Only after an explicit approval, call once with the returned values unchanged:

host.mcp(
    "csswitch-skill-installer",
    "install_external_skill",
    source_url=source_url,
    confirmation={
        "schema_version": 1,
        "action": "apply",
        "operation_id": planned["operation_id"],
        "plan_digest": planned["plan_digest"],
        "capability": planned["capability"],
    },
)

Do not infer, alter, log, or reuse the capability. It expires quickly and is single-use. Any source, plan, runtime, active-org, expiry, capability, or operation mismatch requires a new plan and a new user confirmation. This optional **install** route currently accepts only one exact-commit GitHub Skill; bundles, Plugins, MCP payloads, and local packages remain outside the install plan. The separately documented opt-in removal route accepts an already installed, CSSwitch-owned non-bundle Skill, including a `local_zip` import.

For either explicit-plan operation, if `recovery_required=true`, do not call a `null` effect field false. `post_effect_observation` is only an immediate host readback (`observed_true`, `observed_false`, or `unknown`), not a durable receipt or retry authority. Call operation-id-only `reconcile` and report its durable projection.

Uninstall, remove, or delete

1. Extract the exact Skill name from the user's current request. There is no default or hard-coded Skill name. 2. If no exact name is present, or more than one installed name could apply, ask the user. Never infer a filesystem path. 3. Load the generated connector Skill `mcp-csswitch-skill-installer`. 4. Follow that connector's API and call `uninstall_external_skill` with the exact `skill_name`. The equivalent REPL call is:

host.mcp(
    "csswitch-skill-installer",
    "uninstall_external_skill",
    skill_name=skill_name,
)

Exact-plan confirmation for one installed Skill

When the user asks to review and explicitly confirm removal of one installed CSSwitch-owned Skill, first request a plan. This opt-in route is for one Skill, not a bundle, and never infers a path or a second name:

planned = host.mcp(
    "csswitch-skill-installer",
    "uninstall_external_skill",
    skill_name=skill_name,
    confirmation={"schema_version": 1, "action": "plan"},
)

If it returns `REMOVAL_CONFIRMATION_REQUIRED`, show the user the exact Skill and the complete ordered `effects`. The expected one-Skill effects are native OPERON detach followed by CSSwitch package quarantine. Host access approval is not confirmation of either effect. Only after the user explicitly approves that plan, call once with the returned values unchanged:

host.mcp(
    "csswitch-skill-installer",
    "uninstall_external_skill",
    confirmation={
        "schema_version": 1,
        "action": "apply",
        "operation_id": planned["operation_id"],
        "plan_digest": planned["plan_digest"],
        "capability": planned["capability"],
    },
)

Do not infer, alter, log, or reuse the capability. It is short-lived and single-use; removal apply is operation-authoritative and carries no `skill_name` or bundle field. Any Skill, plan, runtime, active-org, expiry, capability, or operation mismatch requires a new plan and a new user confirmation. To inspect an interrupted or completed opt-in operation, call the same tool with only its `operation_id` and `confirmation={"schema_version": 1, "action": "reconcile"}`. Reconcile is readback-only: it must not repeat detach, quarantine, or any other mutation.

If a process stopped after a durable verified first effect but before the second effect began, use `{"schema_version":1,"action":"continue", "operation_id"

Read more
@superjj007
Ships withcsswitch

帮你的 Claude Science 一键接入你自己的 API:DeepSeek / 通义千问 / 智谱 GLM / Kimi / MiniMax / 小米 MiMo / 硅基流动 / OpenRouter / 任意 OpenAI·Anthropic 兼容端点

Stars on GitHub

Momentum

stars in total
491
Star history of SuperJJ007/CSSwitch on GitHub, a chart by star-history.com

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills2w309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc2w293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react5d252k
@facebook@facebookInstall Skill

Questions about csswitch-external-skill-tools.

Which coding agents can use csswitch-external-skill-tools?
csswitch-external-skill-tools installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.