abedshaaban/skills
A small library of agent skills — reusable capabilities you drop into a project so an AI coding agent (Claude Code, Cursor, Copilot, and 20+ others) picks them up automatically.
A skill is just a directory with a SKILL.md. Its front matter (name +
description) tells the agent when to reach for it; the body and any bundled
scripts load only when it actually runs — so a skill costs almost nothing in
context until it fires.
Install
npx skills@latest add abedshaaban/skills
Run bare, it opens an interactive picker — tick just the skills you want and the
agent to target; the CLI copies editable copies into your project
(.claude/skills/, .agents/skills/, .cursor/skills/, … depending on the
agent).
Install one skill only — skip the picker with --skill (repeat for several):
npx skills@latest add abedshaaban/skills --skill trello
npx skills@latest add abedshaaban/skills --skill un-mcp --skill trello
npx skills@latest add abedshaaban/skills --skill google-search-console
Preview what's available first with --list:
npx skills@latest add abedshaaban/skills --list
Claude Code plugin (managed, read-only) as an alternative:
/plugin marketplace add abedshaaban/skills
/plugin install abed-skills
Or copy a skill by hand — a skill is only files:
cp -R skills/trello ~/code/myapp/.agents/skills/
After any install, open the skill's SETUP.md and fill your project-root .env
with the credentials it needs — the scripts auto-source that .env (gitignored),
so there's no manual export.
Skills
| Skill | What it does |
|---|---|
un-mcp | API → Skill converter. Turns an MCP server, a REST API, API docs, an endpoint list, or your own wrapper into a lightweight skill backed by direct curl scripts — so nothing stays loaded in context the way a live MCP does. |
trello | Trello over direct REST. Read/write boards, lists, cards, comments, checklists, attachments, custom fields, and activity through one curl dispatcher instead of the mcp-server-trello MCP. |
google-search-console | Search Console analytics and indexing diagnostics. Query properties, performance, and sitemaps; inspect individual URLs, URL files, or sitemaps; and check live page indexing signals through one read-only dispatcher. |
trello and google-search-console were generated by un-mcp from their
underlying APIs. trello is the compact MCP-conversion example; the Search
Console skill also demonstrates service-account OAuth and bounded batch audits.
Why not just run the MCP?
An MCP server re-injects its tool schemas into the model's context every turn,
used or not. A skill backed by a curl script costs zero context until it
runs, and a small node summariser trims each response before it reaches the
model. Same operations, far cheaper.
Add a new skill
Fastest path: let un-mcp build it — point it at an MCP, an API doc, an endpoint
list, or your own wrapper and ask for a skill. It writes a SKILL.md, a curl
dispatcher, and a SETUP.md following the templates in
skills/un-mcp/assets/.
By hand, add a directory under skills/ with at least:
skills/<skill-name>/
├── SKILL.md # required — front matter (name, description) + instructions
├── SETUP.md # credentials + where to get them (if any)
└── scripts/ # executable helpers (chmod +x them)
The npx skills CLI discovers any skills/<name>/SKILL.md automatically — no
registration step.
Layout
.
├── README.md
├── .claude-plugin/ # plugin + marketplace manifests (Claude Code plugin install)
│ ├── marketplace.json
│ └── plugin.json
├── skills/
│ ├── un-mcp/ # the API → skill converter (assets/, references/)
│ ├── trello/ # example skill produced by un-mcp
│ └── google-search-console/ # GSC analytics + indexing diagnostics
└── .gitignore # keeps .env and local settings out of the repo