Production-grade capability skills for AI agents.
DNS migration, AWS migration, deep research, terminal posters — battle-tested in production.
↑ Generated by Nano Banana Pro via OpenRouter. Prompt: scripts/banner/banner-prompt.txt
5 capability skills, organized by what they do — not by SDLC phase. These are discrete capabilities an agent reaches for when the task fits, not lifecycle steps that fire in sequence.
Looking for the autonomous Orca fleets that used to live here (spec-to-ship, clean-sweep, and the rest)? They moved to their own repo, ravidsrk/orca-fleet, rebuilt as ten outcome-named missions over a three-layer architecture. This repo is capability skills only.
| Skill | What it does | Cost / latency |
|---|---|---|
| ☁️ cloudflare-dns | End-to-end Cloudflare DNS migration and management. Move domains from any registrar, manage records via API, harden with DNSSEC + CAA + Origin CA, roll back cleanly. State persists in ./.dns-state/<domain>/ for reuse + rollback. |
Free + ~5 min/domain |
| 🧾 namecheap-dns | Manage DNS records at Namecheap via the XML API — list, add, update, delete A/AAAA/CNAME/TXT/MX without the dashboard. Handles the two API quirks (IP allowlist, wholesale-replace setHosts) transparently. |
Free + ~30s/change |
| 🚀 fly-to-aws-migration | End-to-end playbook for migrating a Fly.io project to AWS. 7 phases, 5 PRs, full rollback preserved. Postgres → Aurora, Machines → ECS Fargate, static sites → S3+CloudFront, DNS cutover via Cloudflare. Battle-tested with ≤9 min total downtime. | ~6 hours, ~$330–640/mo target spend |
| Skill | What it does | Cost / latency |
|---|---|---|
| 🔬 deep-research | Parallel multi-source research orchestrator. Fans out across 8 sources (X, Reddit, HN, GitHub repos + issues, Polymarket, YouTube with transcripts, Exa neural search) via monid. One auth, one balance, structured + human-readable evidence dumps. | ~$0.10–0.20 + ~60–90s/run |
| Skill | What it does | Cost / latency |
|---|---|---|
| 🎨 terminal-poster | Generates dense, retro-cyberpunk infographic posters in a terminal aesthetic — pixel-bitmap headlines, ASCII box-drawing, monospace fonts. Five reusable templates (Cluster A–E). Cluster A audited at 99% fidelity. | ~$0.002 + ~30s/image |
🟡 Name collision: this repo's deep-research is the monid 8-source orchestrator. Other skill packs (e.g. makerskills) may ship a different skill with the same name, and Claude Code discovers personal skills only under ~/.claude/skills/ — one directory per name, so only one deep-research can be active at a time. Link whichever you use more, and swap the symlink when you need the other.
🟢 Claude Code (recommended)
git clone https://github.com/ravidsrk/agent-skills.git
cd agent-skills
mkdir -p ~/.claude/skills
# Safe default if you already have another deep-research:
for name in cloudflare-dns namecheap-dns fly-to-aws-migration terminal-poster; do
ln -sfn "$(pwd)/skills/$name" "$HOME/.claude/skills/$name"
done
# monid deep-research (overwrites any other skill at this path):
ln -sfn "$(pwd)/skills/deep-research" "$HOME/.claude/skills/deep-research"Symlinks mean git pull in this clone keeps skills up to date.
📖 Full guide: docs/claude-code-setup.md
🟢 Mogra
cd /workspace
git clone https://github.com/ravidsrk/agent-skills.git
mkdir -p /workspace/.mogra/skills
for s in agent-skills/skills/*/; do
name=$(basename "$s")
ln -sf "$(pwd)/$s" "/workspace/.mogra/skills/$name"
doneRestart your Mogra session and the skills appear.
📖 Full guide: docs/mogra-setup.md
🟡 Cursor
Per-project install — copy SKILL.md into .cursor/rules/:
mkdir -p .cursor/rules
cp /path/to/agent-skills/skills/cloudflare-dns/SKILL.md .cursor/rules/cloudflare-dns.md📖 Full guide: docs/cursor-setup.md
🟡 OpenCode
OpenCode reads AGENTS.md and the skills/ directory automatically:
git clone https://github.com/ravidsrk/agent-skills.git ~/.opencode/agent-skills
ln -s ~/.opencode/agent-skills/skills ~/.opencode/skills📖 Full guide: docs/opencode-setup.md
🟡 Codex / GitHub Copilot / any other agent
Skills are plain Markdown — they work with any agent that accepts system prompts or instruction files.
For Copilot, concatenate skills into .github/copilot-instructions.md:
cat skills/cloudflare-dns/SKILL.md \
skills/namecheap-dns/SKILL.md \
> .github/copilot-instructions.md📖 Full guide: docs/generic-setup.md
Each skill needs different secrets. Set them in your shell — never paste into prompts.
# cloudflare-dns
export CLOUDFLARE_API_KEY=cfat_...
export CLOUDFLARE_GLOBAL_API_KEY=... # only for new-zone creation
export CLOUDFLARE_EMAIL=you@example.com
# namecheap-dns
export NAMECHEAP_API_KEY=...
export NAMECHEAP_API_USER=your-account
# fly-to-aws-migration
export AWS_PROFILE=migration
export FLY_API_TOKEN=...
# (also uses CLOUDFLARE_API_KEY for the DNS cutover phase)
# deep-research
export MONID_API_KEY=...
# terminal-poster
export OPENROUTER_API_KEY=...🔴 All skills read env vars at runtime — they're never written to disk. Don't commit .env files.
Skills auto-activate based on the description field in their SKILL.md. Just ask the agent for what you want.
💬 "Move example.com's DNS to Cloudflare" → activates
cloudflare-dns💬 "Add a CNAME for docs.example.com pointing at my Fly app" → activates
namecheap-dns💬 "Migrate my Fly project to AWS" → activates
fly-to-aws-migration💬 "Do a deep dive on AI agent harness engineering" → activates
deep-research(monid)💬 "Generate a terminal-style poster for our deployment pipeline" → activates
terminal-poster
Three real first-generation outputs from terminal-poster. Audit scores + how to reproduce →
Every skill follows the same anatomy:
┌─────────────────────────────────────────────────┐
│ SKILL.md │
│ │
│ ┌─ Frontmatter ─────────────────────────────┐ │
│ │ name: lowercase-hyphen-name │ │
│ │ description: Does X. Use when… │ │
│ │ compatibility: needs $ENV_VAR, bash, curl │ │
│ └───────────────────────────────────────────┘ │
│ │
│ Overview → What this skill does │
│ When to use → Triggering conditions │
│ Setup → Env vars + dependencies │
│ Workflow → Step-by-step process │
│ Gotchas → Known traps + fixes │
└─────────────────────────────────────────────────┘
Key design choices:
- 🟢 Process, not prose. Skills are workflows agents follow, not reference docs they read.
- 🟢 Spec-compliant. Every skill validates against the agentskills.io format.
- 🟢 Battle-tested. These are the actual tools used in production, not theoretical patterns.
- 🟢 Progressive disclosure.
SKILL.mdis the entry point. References load on demand to keep token usage low. - 🟢 Capability-first, not SDLC-first. Unlike skill packs that map to DEFINE → PLAN → BUILD → SHIP, these are discrete tools. Pick what you need.
📖 Full spec: docs/skill-anatomy.md
agent-skills/
├── README.md ← You are here
├── AGENTS.md ← Runtime-agnostic agent guidance
├── CLAUDE.md ← Claude Code session context
├── CONTRIBUTING.md ← How to add a skill
├── LICENSE ← MIT
├── .claude-plugin/plugin.json ← Claude Code plugin manifest
├── assets/
│ └── banner.jpg ← Hero image
├── docs/ ← Per-runtime setup + format spec
│ ├── getting-started.md
│ ├── skill-anatomy.md
│ ├── claude-code-setup.md
│ ├── mogra-setup.md
│ ├── cursor-setup.md
│ ├── opencode-setup.md
│ └── generic-setup.md
├── scripts/
│ ├── banner/ ← Repo hero banner prompt + reproducer
│ └── validate-skills.py ← Validates SKILL.md against the spec
└── skills/
├── cloudflare-dns/ ← 🌐 DNS migration + zone hardening
├── namecheap-dns/ ← 🌐 Namecheap XML API wrapper
├── fly-to-aws-migration/ ← 🌐 Fly → AWS playbook (7 phases)
├── deep-research/ ← 🔍 8-source parallel research
└── terminal-poster/ ← 🎨 Retro-cyberpunk image posters
Each skill folder contains:
SKILL.md— Agent-facing manifest (frontmatter + workflow)README.md— Human install + usage docsscripts/— Runnable helpers (optional)references/— Long-form docs loaded on demand (optional)templates/— Boilerplate users copy into their projects (optional)assets/— Example outputs, fixtures (optional)
CI runs the validator on every push to main and on every pull request. Run it locally before committing:
python3 scripts/validate-skills.pyOutput:
✅ cloudflare-dns
✅ deep-research
✅ fly-to-aws-migration
✅ namecheap-dns
✅ terminal-poster
🟢 All 5 skills valid against agentskills.io spec.
The validator enforces the spec rules (frontmatter shape, name/directory matching, description length). Non-zero exit code if any skill fails — perfect for CI.
Most agent skill packs are shaped like a software lifecycle — DEFINE → PLAN → BUILD → SHIP. That's useful for skills that encode process discipline (writing specs, doing TDD, reviewing code).
This repo is shaped differently. These are capability skills — tools the agent reaches for when the task fits. You don't migrate to AWS as part of a SDLC phase; you migrate when you migrate. You don't run deep research because the workflow says so; you run it when you need evidence.
The two styles are complementary. For SDLC discipline, addyosmani/agent-skills is excellent. For autonomous multi-agent fleets on Orca, ravidsrk/orca-fleet. For real-world infrastructure and content tooling, this repo is what I reach for.
The shared bet: portable, public, spec-compliant skills make agents better.
PRs welcome — new skills, fixes to existing ones, better docs. Quality bar:
- 🟢 Specific: actionable steps, not vague advice
- 🟢 Verifiable: clear exit criteria with evidence requirements
- 🟢 Battle-tested: based on real workflows you've shipped
- 🟢 Minimal: only what's needed to guide the agent
📖 See CONTRIBUTING.md and docs/skill-anatomy.md.
TL;DR: create skills/<your-skill>/SKILL.md + README.md, run python3 scripts/validate-skills.py, update the skills table, open a PR.
- 🏗️ Repo structure — inspired by addyosmani/agent-skills. The plugin manifest pattern, multi-runtime setup docs, expandable installs, and
AGENTS.mdconventions came from there. - 🎨
terminal-poster— visual pattern reverse-engineered from public posts by @shannholmberg on X. The skill makes the look reproducible across topics; Shann designed the look itself. - 🔍
deep-research— originally inspired bymvanhorn/last30days-skill. The 30-day default window came from that upstream; the 8-source fan-out and monid routing were rebuilt from scratch.
If you build something with these skills, I'd love to see it — tag me on X or open an issue.
