Personal Agent Skills by @vdsmon, packaged as a plugin marketplace. Most run on any SKILL.md-native host, and a few are Claude-Code-specific.
Each skill ships as its own plugin so you can install only what you want.
Plugins prefixed with cc- are Claude-Code-specific: they use features (SessionStart hooks, !`cmd` dynamic context injection, ${CLAUDE_SKILL_DIR}, context: fork) that don't exist on other Agent Skills hosts.
Plugins without the cc- prefix are portable. They follow the open Agent Skills format and work on any SKILL.md-native host: Claude Code, OpenAI Codex CLI, Gemini CLI, Cursor, Goose, OpenCode, Copilot, Amp, Roo Code, and many more.
The Plugins table below lists every plugin and its host: Host: CC only is a cc- plugin, Host: any is portable.
Register the marketplace once:
/plugin marketplace add vdsmon/skillsInstall any plugin by name (see the Plugins table for the full list):
/plugin install <name>@vdsmon-skillsOr run /plugins and pick from the interactive browser.
This repo ships a native Codex plugin marketplace (.agents/plugins/marketplace.json), so you install the same way Claude Code does: register once, then pick plugins. Only the portable (non-cc-) plugins are listed, since the cc- plugins rely on Claude-Code-only features and won't run on Codex.
codex plugin marketplace add vdsmon/skillsThen browse and install from the interactive picker:
/plugins
Select a plugin and choose Install plugin (Space toggles enabled state).
Each host discovers skills in its own directory. Clone this repo, then drop the skill folder into the target path.
git clone https://github.com/vdsmon/skills
cd skillsmkdir -p ~/.gemini/skills
cp -r plugins/humanize/skills/humanize ~/.gemini/skills/
# ... etc# Cursor reads skills from its configured skills directory; see Cursor docs.
cp -r plugins/humanize/skills/humanize <cursor-skills-dir>/Same pattern: cp -r plugins/<name>/skills/<name> into the host's skills directory. Per-host paths: agentskills.io/clients.
For one-command multi-host install:
skillport:pip install skillport, targets many hosts via CLI or MCP.openskills:npm i -g openskills.agent-skill-creator: auto-converts SKILL.md to host-specific formats (.mdc,.md rules, etc.) for Cursor/Windsurf/Cline.
Generated from .claude-plugin/marketplace.json (the source of truth) by scripts/sync-codex.sh, so do not hand-edit between the markers. Host: any is portable, Host: CC only needs Claude Code. Run /plugins for the full descriptions and triggers.
| Plugin | Host | What it does |
|---|---|---|
investigate |
any | Investigate a reported error or incident end to end across every reachable system, never inferring past a missing source and instead stopping to raise to the human for access or clarity. |
slack-draft |
any | Draft a Slack message for the user to send: Slack mrkdwn, lead-with-conclusion, backticked identifiers and domain values, ASCII punctuation. |
skill-polish |
any | Post-mortem for any skill: scans a session for friction and applies concrete edits to the responsible skill file. Portable across SKILL.md-native hosts. |
cc-tokenomics |
CC only | Token usage, cache hit rates, and Max plan consumption analyzer. |
cc-cache-keepalive |
CC only | Keeps Claude Code's prompt cache warm on Max plans via a silent cron scheduled at session startup (skips resume/compact, dedup-guarded via CronList). |
cc-usage-guard |
CC only | Pause-at-limit guard for Claude Code. |
prep-compact |
any | Audit in-flight state before any context-compacting step, and produce a copy-paste /compact message plus a queue-able follow-up that chains the next action when compact finishes. |
prep-goal |
any | Interrogate a rough objective into a tight, verifiable /goal completion condition before handing it to an autonomous goal loop. |
humanize |
any | Strip AI-writing tells from text. Detects em-dash overuse, AI vocabulary, inflated significance, rule-of-three, sycophancy, and 20+ more patterns. |
loop-finder |
any | Loop discovery + race + feature-driven iteration. |
brainstorming |
any | Design-before-code gate. Explores intent, proposes 2-3 approaches, presents a design, and gets approval before any implementation. |
systematic-debugging |
any | Four-phase debugging discipline (root-cause investigation, pattern analysis, hypothesis, single-fix implementation). |
skill-smith |
any | Forge for Agent Skills: create, test, evaluate, optimize triggering, and package skills. |
git-cleanup |
any | Clean up stale git branches and worktrees. |
strip-migration-cruft |
any | Scan a repo for transitional / migration / phase / wave / story / legacy-alias cruft comments, bucket into safe-to-strip vs keep-semantic, propose surgical edits and execute after confirmation. |
grilling |
any | Relentless one-question-at-a-time interview that stress-tests a plan or design to convergence: facts get looked up in the codebase, decisions go to the human, and nothing is enacted until shared understanding is confirmed. |
wayfinder |
any | Chart work too big for one agent session as a shared map of investigation tickets on the repo's issue tracker: name the destination, sketch the fog of war, then resolve one ticket per session (grilling, research, prototype, task) until the way is clear. |
teach |
any | Stateful, multi-session teaching workspace: grounds every lesson in a MISSION.md, gathers trusted RESOURCES.md, produces short self-contained HTML lessons in the learner's zone of proximal development, tracks progress via learning-records, and builds storage strength through retrieval, spacing, and interleaving. |
codebase-design |
any | Shared vocabulary for designing deep modules: a lot of behaviour behind a small interface, placed at a clean seam, testable through that interface. |
.claude-plugin/
marketplace.json # Claude Code marketplace (source of truth)
.agents/plugins/
marketplace.json # Codex CLI marketplace (generated, non-cc- only)
mise.toml # Maintainer task runner: mise run sync | bump | verify
scripts/
bump-plugin.sh # Version bump + marketplace sync
sync-codex.sh # Rebuild Codex symlinks + marketplace + README table from the Claude side
plugins/
skill-polish/ # portable
.claude-plugin/plugin.json
.codex-plugin -> .claude-plugin # symlink; Codex reads .codex-plugin/plugin.json
skills/skill-polish/SKILL.md
cc-tokenomics/ # cc- = Claude Code only, NO .codex-plugin symlink
.claude-plugin/plugin.json
skills/cc-tokenomics/
SKILL.md
scripts/token-report.py
reference/{economics,experiments,keepalive}.md
cc-cache-keepalive/ # cc- = Claude Code only, NO .codex-plugin symlink
.claude-plugin/plugin.json # Declares SessionStart hook
hooks/keepalive.sh # Opt-in, flag-gated
scripts/keepalive-noop.sh
humanize/ # portable
.claude-plugin/plugin.json
.codex-plugin -> .claude-plugin
skills/humanize/SKILL.md
Both marketplaces share one source of truth: you author .claude-plugin/*, then run scripts/sync-codex.sh to regenerate the .codex-plugin symlinks, the Codex marketplace, and the Plugins table above. The symlink means each plugin has exactly one plugin.json, so versions never drift between hosts.
MIT. See LICENSE.