18 named · 79+ supported · one install
Where these skills run.
Every pack is an Agent Skills bundle — a SKILL.md with
its references beside it — so any agent that reads that standard reads these.
Two get a channel of their own; the rest share one directory.
The named agents
Reads is the path that agent actually looks in — the fact worth having when something does not show up.
| Agent | Channel | Reads | Worth knowing |
|---|---|---|---|
| Claude Code | plugin | ~/.claude/plugins | installed as plugins, never as a plain ~/.claude/skills copy — that copy shadows the plugin and serves its frozen version forever |
| DeepSeek Harness | reads the hub directly | ~/.agents/skills (rank 500) | no plugin to write: the skills subsystem is in the default web profile, and its local provider scans six roots nearest-first — a project-local .dsh/skills or .agents/skills outranks the installed one |
| Cursor | skills CLI | ~/.agents/skills | plus a Cursor rules file the launcher writes for routing |
| Codex | skills CLI | ~/.agents/skills | routing block goes to ~/.codex/AGENTS.md. Codex ALSO keeps a native plugin cache, so a filesystem sweep sees historical cache SKILL.md copies alongside the hub — those are NOT the active provider. A read-only resolver separates installed/enabled/applicable/loaded and counts only the active one; native plugin install/update is passed to a supported host API, and UNSUPPORTED when no such API is present. |
| Gemini CLI | skills CLI | ~/.agents/skills | routing block goes to ~/.gemini/GEMINI.md |
| OpenCode | skills CLI | ~/.agents/skills | — |
| Windsurf | skills CLI | ~/.agents/skills; ~/.codeium/windsurf/skills; ~/.config/devin/skills | Current documentation redirects to Devin Desktop/Cascade; .windsurf remains a legacy project skill path. |
| Zed | skills CLI | ~/.agents/skills | Native Zed Agent discovers direct skill children; embedded external agents use their own loaders. Project skill loading depends on trust. |
| Kilo Code | skills CLI | ~/.agents/skills; ~/.kilo/skills | Current Kilo platform uses .kilo; older .kilocode layouts are not a universal current contract. |
| Kimi CLI | skills CLI | ~/.agents/skills; $KIMI_CODE_HOME/skills (default ~/.kimi-code/skills) | Current Kimi Code 2.x uses .kimi-code; older Python CLI paths are a different generation. Shared storage is native; no duplicate copy is required. |
| Hermes | skills CLI | $HERMES_HOME/skills (default ~/.hermes/skills) | Profile-local installation; ~/.agents/skills requires skills.external_dirs. Project skills require trust; copying a skill does not register native plugins or hooks. |
| OpenClaw | skills CLI | <state-dir>/skills (default ~/.openclaw/skills) | Shared ~/.agents/skills is discovered only with the default state directory; custom profiles must use their native roots. |
| Kiro | skills CLI | ~/.kiro/skills | Native Kiro global root; shared ~/.agents/skills loading is not established by the inspected primary documentation. |
| Goose | skills CLI | ~/.agents/skills | — |
| GitHub Copilot | skills CLI | ~/.agents/skills; ~/.copilot/skills | Current CLI/IDE skill roots vary by surface; native plugin features need their own registration. |
| Cline | skills CLI | ~/.cline/skills | Current documented precedence gives global skills priority; shared ~/.agents/skills loading is not established. |
| Roo Code | skills CLI | ~/.agents/skills; ~/.roo/skills | Mode-specific skill directories participate in discovery; verify the active mode. |
| Amp | skills CLI | ~/.agents/skills; ~/.config/agents/skills; ~/.config/amp/skills | Its documented search order includes global local roots before project roots; do not assume project-first precedence. |
One channel per agent, always. A plain copy beside a plugin, or a project-local copy beside the installed one, wins — and then serves its frozen version forever. The launcher prunes the copies the skills CLI recreates; the project-local case is yours to avoid.
DeepSeek Harness, specifically
Nothing to install beyond the ordinary command, and no plugin to
write — in dsh a plugin is a Cordis module exporting
apply(ctx), and skills are loaded by one.
npx sshlg-skills install
Verified twice on 2026-08-25 rather than read off a page. The subsystem is in the default profile, not an add-on a reader has to enable:
npx @deepseek-ai/dsh --profile web --dump-default-config | grep skill
and the files are where that provider looks:
~/.agents/skills/<name>/SKILL.md, with its references/
and fixtures/ beside it.
Six roots, nearest wins
<projectRoot>/.dsh/skills— rank 100<projectRoot>/.agents/skills— rank 200customSkillDirs— rank 300<dshHome>/skills— rank 400<agentsHome>/skills— rank 500, which is~/.agents/skills- bundled — rank 600
A project-local copy overrides the installed one — the same shadowing trap Claude Code has, with the same remedy.
disable-model-invocation and user-invocable are the two
front-matter keys it reads, both defaulting to true. This family ships
neither, so every skill is model- and user-invocable there without a change.
Any other agent
The vercel skills CLI supports 79+ of them and installs into the
same hub directory. If yours reads SKILL.md, it reads these.
npx skills add ssheleg/sshlg-skills
Questions this page gets asked
Do these skills work in my agent?
If it reads the Agent Skills standard, yes. Every pack is a SKILL.md with its references beside it, and the table above names the path each agent actually reads.
Does DeepSeek Harness need a plugin for these?
No. dsh reads the Agent Skills standard directly and its skills subsystem is in the default profile — a plugin there is a Cordis module, and skills are loaded by one rather than being one.
Why did my skill not show up after installing?
Almost always a path question rather than an install one. A project-local copy outranks the installed one in every host that scans more than one root, and a plain copy beside a Claude Code plugin shadows the plugin and serves its frozen version. Keep one channel per skill.
Do I have to install all of them?
No — every pack installs standalone, as in npx skills add ssheleg/telegram-dev for one of them. The launcher exists because a member updated on its own leaves the set in a combination nobody tested.
Do they send anything anywhere?
No. They are documentation, validators and small standard-library scripts — no services, no telemetry and no API keys, which is checkable in the repository rather than promised here.
The 11 packs
Each one is an entry point an agent can be routed to. The full descriptions are on the front page.