Manage Agent Skills
Toggle skills across major coding agents
Yingze Han
@yunze7373
Install
$ openclaw skills install @yunze7373/manage-agent-skillsManage Agent Skills
Use the bundled scripts/skillctl.py for deterministic, on-demand management.
Never start a daemon or watcher. Discover current skills again on every invocation.
Workflow
- Run
doctororstatusbefore changing anything. - Use
searchto resolve exact skill names. - Preview mutations with
--dry-run. - Apply the requested mutation.
- Report the platform, affected skills, config or native command used, backup path, and whether a new agent session is required.
Choose the Python launcher available on the current operating system (python
on Windows, commonly python3 on macOS/Linux) and resolve the skill directory
before running the script.
Windows PowerShell:
$skillctl = "<skill-directory>\scripts\skillctl.py"
python "$skillctl" doctor
python "$skillctl" --platform codex status
python "$skillctl" --platform all search azure
macOS/Linux:
skillctl="<skill-directory>/scripts/skillctl.py"
python3 "$skillctl" doctor
python3 "$skillctl" --platform codex status
python3 "$skillctl" --platform all search azure
Mutation commands use the same arguments on every operating system:
<python> <skillctl> --platform claude disable deploy --dry-run
<python> <skillctl> --platform claude disable deploy
<python> <skillctl> --platform copilot enable my-skill --dry-run
<python> <skillctl> --platform openclaw disable browser-tools --dry-run
<python> <skillctl> --platform hermes --hermes-scope telegram disable shell-tools --dry-run
For automation, pass --json either before or after the command. Use the
format that keeps the caller's command template readable:
<python> <skillctl> --platform all --json status
<python> <skillctl> --platform all status --json
Mutations require an explicit --platform codex, --platform claude, or
--platform copilot, --platform openclaw, or --platform hermes. Selectors
are exact names, group:<name>, path:<path>, or all; partial names are
intentionally rejected. Hermes defaults to global scope; pass
--hermes-scope <platform> for a platform-specific disable.
A selector matches either the display name or the identifier the host's own
configuration keys on. When they differ, search prints the identifier as
(key=...); prefer that value.
Groups are discovery sources only (shared, claude-user, a plugin name).
No skill is grouped by name unless the user supplies a taxonomy:
<python> <skillctl> --platform codex --groups my-groups.json disable group:azure --dry-run
The file is {"version": 1, "groups": {"azure": ["azure-*"]}}; patterns are
fnmatch style. Never assume a group exists — confirm it with search first.
Claude Code visibility states
Claude Code has four states rather than two. Use set to reach the middle
ones, and prefer name-only when the goal is to cut idle context while
keeping the skill discoverable:
<python> <skillctl> --platform claude set name-only legacy-context
<python> <skillctl> --platform claude set user-invocable-only deploy
<python> <skillctl> --platform claude set off legacy-context --dry-run
| State | Listed to Claude | In / menu |
|---|---|---|
on | Name and description | Yes |
name-only | Name only | Yes |
user-invocable-only | Hidden | Yes |
off | Hidden | Hidden |
enable and disable remain shorthand for on and off. The other
platforms accept only enable and disable.
Claude Code keys personal and project skills by directory name; the
frontmatter name is only the label shown in listings. The manager writes the
directory name and reports display_name_differs when the two disagree.
For path: selectors, use the native absolute path printed by search, and
quote the entire selector when it contains spaces:
Windows: path:C:\skills\demo\SKILL.md
macOS: path:/Users/alice/.agents/skills/demo/SKILL.md
Linux: path:/home/alice/.agents/skills/demo/SKILL.md
Do not translate paths between operating systems; matching uses the path rules
of the system running skillctl.py.
Presets
Use a JSON preset file matching references/presets.md:
<python> <skillctl> --platform codex preset lean --file skill-presets.json --dry-run
<python> <skillctl> --platform codex preset lean --file skill-presets.json
Safety
- Do not delete, relocate, or rewrite any installed
SKILL.md. - Keep changes scoped to native platform controls.
- Codex edits only its marked TOML block.
- Claude Code edits only
skillOverridesin its settings JSON. The manager currently reads and writes the user-level file only; a project or local settings file can still override the result. - Copilot writes the documented
disabledSkillssetting and usescopilot skill list --jsonfor native discovery when available. - OpenClaw delegates mutations to
openclaw config setso its JSON5 config is not normalized or hand-edited. Agent allowlists may still restrict a skill. - Hermes writes only
skills.disabledorskills.platform_disabled.<scope>inconfig.yaml. PyYAML may normalize formatting and comments, so the backup is the lossless recovery copy. - Create a sibling
.manage-agent-skills.bakbefore changing a config file. - Protect
manage-agent-skills,skill-creator, andplugin-creatorfrom disable-all unless the user explicitly requests--force. - Explain that Codex, Claude Code, OpenClaw, and Hermes changes may require a new session or gateway restart; Copilot follows its native command behavior.
Read references/platforms.md when platform semantics or support boundaries
matter. Read references/presets.md only when creating or applying presets.
Top skills in this category
self-improving agent
@pskoettCaptures learnings, errors, and corrections to enable continuous improvement. Use when: (1) A command or operation fails unexpectedly, (2) User corrects Claude ('No, that's wrong...', 'Actually...'), (3) User requests a capability that doesn't exist, (4) An external API or tool fails, (5) Claude rea
Skill Vetter
@spclaudehomeSecurity-first skill vetting for AI agents. Use before installing any skill from ClawdHub, GitHub, or other sources. Checks for red flags, permission scope, and suspicious patterns.
Self-Improving + Proactive Agent
@ivangdavilaSelf-reflection + Self-criticism + Self-learning + Self-organizing memory. Agent evaluates its own work, catches mistakes, and improves permanently. Use when...
Proactive Agent
@halthelobsterTransform AI agents from task-followers into proactive partners that anticipate needs and continuously improve. Now with WAL Protocol, Working Buffer, Autonomous Crons, and battle-tested patterns. Part of the Hal Stack 🦞
Agent Browser
@matrixyHeadless browser automation CLI optimized for AI agents with accessibility tree snapshots and ref-based element selection