Portable agent skills for specialized tasks — image generation, SEO, research, content, engineering workflow. Works with any skills-compatible coding agent: Claude Code, OpenAI Codex, Cursor, Windsurf, opencode, and others.
Skills extend your agent automatically based on context. Describe what you need; the agent picks the right skill.
Python-based skills use uv for inline-dependency scripts.
# macOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
# Windows
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
# Or via Homebrew
brew install uvnpx ships with Node — install Node 18+ from nodejs.org or via brew install node if you don't already have it.
Use npx skills (by Vercel Labs) to install from this repo.
npx skills add nc9/skills --list# one skill
npx skills add nc9/skills --skill generate-image
# multiple skills
npx skills add nc9/skills --skill generate-image --skill remove-background --skill google-searchnpx skills add nc9/skills --skill generate-image -gnpx skills auto-detects installed agents, or use -a to pick explicitly:
# Claude Code + Codex + Cursor in one shot
npx skills add nc9/skills --skill generate-image -a claude-code -a codex -a cursornpx skills add nc9/skills --all -g -ynpx skills list # show installed
npx skills update # pull latest
npx skills remove generate-image # uninstall
npx skills find <keyword> # searchInstall a single skill from a subpath URL:
npx skills add https://github.com/nc9/skills/tree/main/generate-image| Skill | Description | API |
|---|---|---|
| generate-image | Image generation & editing (OpenAI gpt-image-2 default, Gemini 3.1 Flash alt) | OpenAI + OpenRouter |
| remove-background | AI background removal using BiRefNet | None (local) |
| optimize-image-web | WebP conversion, favicons, social cards, thumbnails | None (local) |
| generate-favicon | Favicon / icon set generation | None (local) |
| Skill | Description | API |
|---|---|---|
| google-search | Google search — web, news, images, videos, places, shopping, scholar, patents | Serper |
| parallel-web-search | Agentic web search with citations | Parallel AI |
| parallel-deep-research | Deep research reports with multi-source synthesis | Parallel AI |
| wayback | Search & fetch archived web pages | Wayback Machine (free) |
| browserbase | Fetch pages through proxy + captcha solving | Browserbase |
| Skill | Description | API |
|---|---|---|
| keyword-research | Keyword ideas, volume, CPC, competition | DataForSEO |
| google-indexing | Submit / remove / check URL indexing | Google Cloud (free) |
| google-search-console | Search analytics, URL inspection, sitemaps | Google Cloud (free) |
| Skill | Description | API |
|---|---|---|
| write-content | Blog posts, articles, content pieces with research + humanization | — |
| humanizer | Remove signs of AI writing — 65 patterns, narrative-first strategy | None (local) |
| ai-writing-detector | Detect AI-generated text / plagiarism | Pangram |
| Skill | Description | API |
|---|---|---|
| commit | Pre-commit workflow — test, lint, format, type-check, atomic commits | None (local) |
| review | Structured code review via OpenAI Codex MCP — 0-5 score, prioritized issues with file:line citations, verification pass; context from GitHub/Linear/Sentry + plans + conversation | OpenAI (Codex MCP or CLI) |
| web-ui | Principles for building great web app interfaces | None (local) |
Skills requiring API keys read from .env or environment variables. Set them per project or globally:
# generate-image (OpenAI SDK direct for gpt-image-2)
OPENAI_API_KEY=sk-...
OPENROUTER_API_KEY=sk-or-... # only if using Gemini via OpenRouter
# google-search
SERPER_API_KEY=...
# parallel-web-search, parallel-deep-research
PARALLEL_API_KEY=...
# keyword-research
DATAFORSEO_USERNAME=your_email
DATAFORSEO_PASSWORD=your_api_password
# google-indexing, google-search-console
GOOGLE_INDEXING_KEY_FILE=/path/to/service-account-key.json
# ai-writing-detector
PANGRAM_API_KEY=...
# browserbase
BROWSERBASE_API_KEY=...
BROWSERBASE_PROJECT_ID=...
# review
OPENAI_API_KEY=sk-... # shared with generate-imageSee each skill's SKILL.md for detailed setup.
After install, describe what you need:
- "Generate an app icon for my SaaS, purple corner badge"
- "Remove the background from this photo"
- "Find keyword ideas for 'python tutorial'"
- "Search Google for recent AI regulation news"
- "Research the competitive landscape of cloud providers"
- "Fetch the archived version of example.com from 2023"
- "Submit these URLs to Google for indexing"
- "Show top search queries for my site"
- "Write a blog post about WebGPU, humanize the output"
- "Review my changes before I commit"
The agent picks the right skill automatically.
Cloning this repo to hack on skills? Use the Makefile instead of npx skills — it symlinks every skill with a SKILL.md into ~/.agents/skills/ (generic) and ~/.claude/skills/ (Claude Code), so edits are picked up live with no reinstall:
git clone https://github.com/nc9/skills.git && cd skills
make linkThe target auto-discovers skills via find, so new skills are linked automatically on the next make link. To add a new skill, create a directory with a SKILL.md manifest (see the spec) and run make link again.