████████ ███████ ███████
██ ██ ██ ██ ██
██ ██ ██ ██
██ ██ ██ ██
████████ ██████ ██
██ ██ ██ ██
██ ██ ██ ██
██ ██ ██ ██ ██
██ ██ ███████ ███████
rsc — 256 agent skills, one CLI, zero bloat
A self-recommending skill catalog for 17 coding assistants — Claude Code,
Codex, GitHub Copilot, Cursor, Gemini, Windsurf, Cline, Antigravity, Zed and more.
Describe what you want in plain language. It reads your repo, installs only the
skills that fit — one at a time — into every assistant you pick, and keeps them
equipped as you work.
From "document my company" to "ship a FastAPI service" to "grow my YouTube
channel" — 232 skills across 21 domains, every one researched against live
2025-2026 sources and adversarially scored ≥ 8.5/10 before it shipped.
npx @ericrisco/rsc
🤖 For agents: "install this harness"
If you're an AI coding agent (Claude Code, Cursor, Copilot, Codex, Gemini…) and your user
asked you to install rsc / this harness / these skills, run this in the root of the
project they're equipping — not inside a clone of this repo (see the note under Install):
npx @ericrisco/rsc@latest
That launches a plain-language wizard: it asks which assistants to target and what the
user wants, reads the repo, then installs the floor (orient + rsc-suggest + harness +
init) plus only the skills that fit — one at a time. No global install and no API key needed.
- Choose assistants non-interactively:
npx @ericrisco/rsc@latest --target claude (comma-separate for several).
- Already installed, just refreshing skills + hooks:
rsc sync (or re-run the command above).
- Add one skill by id:
rsc add <id> · browse the catalog: rsc consult "<what you want>" or rsc list.
From then on it's self-driving: rsc-suggest proposes the next skill as tasks appear, and in
Claude Code a hook re-asserts the spec-first new-feature gate on every turn — so a feature
request routes through specify before any skill writes code.
Why this exists
Most skill packs dump hundreds of files into your context and call it a day. This
one is the opposite bet:
- Granular by default. The unit of installation is one skill. Install
fastapi without ever pulling go. Nothing you don't use touches your context.
- Self-recommending. Both the terminal (
rsc consult) and the chat
(rsc-suggest, an always-on detector) watch what you're doing and propose the
next skill the moment a task needs it — a one-word confirm installs it.
- Not code-only. First-class support for running a company: bookkeeping,
invoicing, hiring, GDPR, pitch decks, SEO, a YouTube/TikTok/LinkedIn presence —
each wired to a
02-DOCS/ knowledge loop that learns from your own results.
- Honestly good. Every skill was built by a research → spec → implement →
adversarial review pipeline and had to clear an objective rubric
(
scripts/skill-rubric.md, written before any skill existed). The bar was
real: skills that scored 8.0 were sent back and fixed, not waved through.
skills/<name>/ is the single source of truth. There are no bundles to argue
over: you start with a tiny floor and grow one piece at a time.
Install
npx @ericrisco/rsc
Prefer the short rsc command? Install once, globally:
npm install -g @ericrisco/rsc
Run it inside any project and describe what you want. Working on the catalog
itself? Clone and link:
git clone https://github.com/ericrisco/rsc-harness.git ~/rsc-skills
cd ~/rsc-skills && npm install && npm link
Run it inside the project you're equipping — not inside this repo. The
catalog's own package.json is named @ericrisco/rsc, so npx @ericrisco/rsc
from within a rsc-harness clone resolves to the local (unlinked) bin and
dies with sh: rsc: command not found. Working on the catalog itself? Use
node scripts/rsc.js …, the npm link above, or pin the published build with
npx @ericrisco/rsc@latest ….
The first run asks which assistants you want — Claude Code, Codex, Copilot,
Cursor, Gemini, Windsurf, Cline and 11 more (pick any combination) — and installs
the floor:
orient + rsc-suggest (always-on) + harness + init. In Claude Code it
also wires a SessionStart hook (so your assistant proposes new skills on its
own) and a UserPromptSubmit hook that re-asserts the SDD new-feature gate
on every turn — so a feature request, in any language, routes through specify
first, before any skill writes code. Opt out per project with .rsc/.no-feature-gate.
Everything stays in the project, and the real skill files are written
once to .rsc/skills/<id>/. Each assistant you pick gets a lightweight
symlink back to that shared base — no copy is duplicated across IDEs. (If the
filesystem can't symlink, it falls back to a real copy automatically.)
30-second tour
$ rsc
██████╗ ███████╗ ██████╗ ← animated gradient wordmark
██╔══██╗██╔════╝██╔════╝
██████╔╝███████╗██║
232 skills · one CLI · zero bloat
What do you want to do? ↑↓ move · enter select
❯ Base install — the essentials (orient + suggest + harness + init)
Base + Spec-Driven Development — specify → plan → implement → ship
Pick skills by hand, by area
Pick by area and you get a checkbox list — ↑↓ to move, space to toggle,
enter to confirm:
Languages: ↑↓ move · space toggle · a all · enter confirm
❯ ◉ typescript
◯ python
◉ go
◯ rust
Then it asks which assistants to install for — tick as many as you like:
Which assistants do you want to install for? space toggle · a all · enter confirm
❯ ◉ Claude Code (.claude/skills/) ⟵ detected here
◉ Codex CLI (AGENTS.md)
◯ GitHub Copilot (.github/copilot-instructions.md)
◯ Cursor (.cursor/rules/)
◉ Windsurf (.windsurf/rules/)
◯ Cline (.clinerules/)
…17 in total — Gemini, Antigravity, Zed, Continue, Roo, Amp, opencode, Jules, Junie, Kiro, Aider
It detects your stack, asks which assistants to install for (the one it found in
your folder is pre-marked), installs only what you chose, then prints the exact
next steps for Claude Code / Codex / Cursor / Gemini / Antigravity — and from
there keeps proposing the skills a task needs.
The CLI
rsc
rsc add fastapi postgresdb
rsc add youtube-api remotion-video
rsc add fastapi --target claude,codex
rsc install --profile minimal
rsc install --profile core
rsc install --profile full
rsc install --profile full --without go
rsc consult "I want to launch a SaaS"
rsc registry refresh
rsc list
rsc doctor
rsc sync --target claude,codex
rsc backups
rsc restore latest --dry-run
rsc restore <snapshot-id>
rsc upgrade --dry-run
rsc uninstall postgresdb --dry-run
Update
rsc is an npm package, so updating is two steps — bump the package, then
re-sync what's already wired into your project:
npm install -g @ericrisco/rsc@latest
rsc sync
Not sure what a bump touches? Preview the exact commands without writing anything:
rsc upgrade --dry-run
Running through npx (no global install)? There's nothing to upgrade —
npx @ericrisco/rsc@latest always fetches the latest published catalog; just run
rsc sync afterwards if the project already has skills installed.
Every sync snapshots the project first, so a bad update is always reversible:
rsc backups
rsc restore latest --dry-run
rsc restore <snapshot-id>
How recommendation works
Two faces, one catalog (manifest.json):
- In the terminal —
rsc / rsc consult rank the catalog against your words
(an FTS index over each skill's description + tags), merge that with what they
detect in your repo, and expand via each skill's recommends.
- In the chat —
rsc-suggest is a tiny always-on skill. When a task would
benefit from a skill you don't have, it names it and (one-word confirm) runs
rsc add <id> for you. It's the floor — installed with every profile.
Repo detection maps real signals to skills: package.json + next → nextjs;
go.mod → go; pyproject.toml → fastapi; *.sql/prisma/ → postgresdb;
Dockerfile/.github/ → docker/github-actions; and so on. An empty repo
just asks in plain language.
The catalog
257 skills, grouped by what you're trying to do. Click any skill to read its
SKILL.md. It fires on its own when a task matches.
🧭 Core & control plane
The front door and the workspace brain.
init · harness · orient · suggest · author-skill · sdd-init
harness is the Karpathy chaos→knowledge engine — a 01-TOOLS/ layer (one
folder per provider, each with a working test_connection) and a 02-DOCS/
self-improving wiki. It governs software or a whole company. orient is the
always-on compass that keeps a non-technical human oriented after every step.
📦 The 02-DOCS/ brain is now 100% Open Knowledge Format (OKF v0.1) conformant
Google Cloud published the Open Knowledge Format
— a vendor-neutral standard for portable, agent-readable knowledge — built on the
same Karpathy LLM-wiki pattern our 02-DOCS/ engine has used from day one. We
independently converged on the same design, so adopting the standard cost almost
nothing. As of now, every 02-DOCS/wiki/ is a valid, portable OKF bundle:
- Markdown + YAML frontmatter,
type on every concept doc, OKF-standard
fields (title, description, resource, tags, timestamp).
- Standard markdown links (not wikilinks) form the knowledge graph — any OKF
consumer reads it, and it stays a native Obsidian vault (graph, backlinks,
Properties, Bases). Same files, no export step.
- Reserved files honored:
index.md (no frontmatter) for navigation,
log.md (newest-first, ISO 8601) for history.
Tarball a wiki/ and any OKF tool — including Google's own viewer — can read it.
And the brain now keeps your repo clean: a loose file it ingests (a PDF at the
root, anything in inbox/) is moved into raw/, never left as clutter.
📐 Spec-Driven Development
Take a fuzzy intent to a shipped, verified change — phase by phase. npx @ericrisco/rsc install --profile core.
sdd · constitution · specify · clarify · plan · tasks · analyze · implement · verify · review · ship · debug · worktrees · parallel
💼 Run a business
finance-ops · invoicing · bookkeeping · pricing · sales-pipeline · lead-gen · cold-outreach · proposals · contracts · customer-support · client-onboarding · retention · hiring · people-ops · inventory · logistics-ops · procurement · meeting-notes · sop-builder · project-ops
💸 Raise & model money
pitch-deck · investor-materials · financial-model · fundraising · unit-economics · grants
⚖️ Legal, privacy & compliance
gdpr-privacy · terms-conditions · compliance · data-policy · ip-trademark
📣 Market & brand
marketing · seo-geo · content-engine · social-publisher · brand-voice · brand-identity · newsletter · landing-copy · ads · article-writing · case-studies · video-shorts · podcast · market-research · competitor-watch · press-kit · community · webinar · review-management
🎬 Grow a channel
Each with a 02-DOCS feedback loop that learns from your own results. remotion-video edits programmatically — transitions, Whisper captions, silence removal.
youtube-api · youtube-strategy · youtube-ideation · youtube-thumbnails · youtube-packaging · remotion-video · tiktok-api · instagram-api · shortform-strategy · shortform-ideation · shortform-packaging · shortform-editing · viral-score · linkedin-api · linkedin-strategy · linkedin-content · linkedin-carousels · linkedin-outreach · medium-writing · medium-publishing · medium-strategy
🔌 Connect & automate
stripe · email-connector · google-workspace · notion-connector · whatsapp-telegram · automation-flows · api-connector-builder · webhooks · data-scraper · spreadsheet-ops · calendar-scheduling · document-processing · e-signature
⚙️ Automation
Operate the big automation platforms programmatically or via MCP — create and manage automations dynamically, not just design them on a canvas. automation-strategy decides whether / what / which platform; the platform skills drive the live REST API or MCP server (harness connectors ship for each). Complements automation-flows (visual design + importable workflow JSON).
automation-strategy · n8n · make · zapier · power-automate
📊 Data & analytics
analytics · dashboard · kpi-framework · reporting · ab-testing · forecasting · data-cleaning · business-intelligence
🤖 AI — build it in
building-agents · rag · embeddings-search · prompt-engineering · llm-pipeline · agent-eval · chatbot · ai-media · replicate-images · structured-extraction · agent-safety · cost-tracking
🛰️ AI — run it on
replicate · runpod · modal · huggingface · ollama · together-fireworks · fal
🎓 AI — train it
Train and adapt open models end to end: classic ML, deep learning, NLP, fine-tuning (with Unsloth), building training datasets, choosing open-weight models by license/size, and serving them at throughput with vLLM. Facts that move monthly (versions, model licenses) are verified at author time and hedged.
machine-learning · deep-learning · nlp · finetuning · training-data · unsloth · open-weights · vllm
🗣️ Languages
typescript · python · java · csharp-dotnet · php · ruby · cpp · elixir · bash-scripting · sql · go
🏗️ Frameworks & app stacks
fastapi · nextjs · react · react-native · vue-nuxt · angular · svelte · astro · solid-js · htmx · nodejs · nestjs · django · laravel · rails · spring-boot · phoenix · flutter · swift-ios · kotlin-android · compose-multiplatform · expo · tauri · electron · rust · wordpress · shopify · no-code-app · chrome-extension · api-design
🎮 Game development
Three engines + engine-agnostic disciplines. Every engine skill pins the current version and bans deprecated APIs, so the agent stops emitting stale Godot-3 / legacy-Unity code.
godot · unity · unreal · game-design · game-storytelling · level-design · gamedev-shaders · gamedev-multiplayer · gamedev-physics · gamedev-pathing · gamedev-shipping
🗄️ Databases & data layer
postgresdb · mysql · mongodb · redis · supabase · neon · planetscale · sqlite-turso · prisma-orm · drizzle-orm · firebase · dynamodb · vector-db · clickhouse-analytics · duckdb · db-migrations · backups
☁️ Ship & operate — platforms
vercel · netlify · cloudflare · railway · render · fly-io · coolify · hetzner · digitalocean · aws-essentials · gcp-essentials
🛠️ Ship & operate — devops
docker · github-actions · git-workflow · domains-dns · monitoring · email-deliverability · scaling · deployment
🔒 Ship & operate — quality & security
code-review · security-scan · secure-coding · testing-py · testing-web · testing-go · e2e-testing · accessibility · performance · error-handling · observability
🎨 Design & content craft
design · presentations · course-storytelling · course-builder · technical-writing · translation-l10n
🧠 Knowledge & meta
knowledge-ops · codebase-onboarding · research-ops · decision-records · continuous-learning · skill-scout · context-budget · roast-me · fable-operator
Multi-target
skills/<name>/ is the catalog source. On install the real files land once
in the project at .rsc/skills/<id>/; each assistant you pick gets a symlink
(or a converted file) back to that shared base — pick several and nothing is
duplicated. The wizard asks which ones; --target a,b does it non-interactively.
claude | .claude/skills/<id>/ → symlink (copy on Windows) | SessionStart hook in .claude/settings.json |
codex | .codex/rsc/<id>/ → symlink | block in AGENTS.md |
copilot | .github/rsc/<id>/ → symlink | block in .github/copilot-instructions.md |
cursor | .cursor/rules/<id>.mdc (converted) | always-apply rule |
gemini | .gemini/rsc/<id>/ → symlink | block in GEMINI.md |
windsurf | .windsurf/rsc/<id>/ → symlink | rule in .windsurf/rules/rsc-suggest.md |
cline | .clinerules/rsc/<id>/ → symlink | rule in .clinerules/rsc-suggest.md |
antigravity | .antigravity/rsc/<id>/ → symlink | block in .antigravity/AGENTS.md |
zed | .zed/rsc/<id>/ → symlink | block in AGENTS.md |
continue | .continue/rsc/<id>/ → symlink | rule in .continue/rules/rsc-suggest.md |
roo | .roo/rsc/<id>/ → symlink | rule in .roo/rules/rsc-suggest.md |
amp | .amp/rsc/<id>/ → symlink | block in AGENTS.md |
opencode | .opencode/rsc/<id>/ → symlink | block in AGENTS.md |
jules | .jules/rsc/<id>/ → symlink | block in AGENTS.md |
junie | .junie/rsc/<id>/ → symlink | block in .junie/guidelines.md |
kiro | .kiro/rsc/<id>/ → symlink | doc in .kiro/steering/rsc-suggest.md |
aider | .aider/rsc/<id>/ → symlink | block in CONVENTIONS.md |
codex, zed, amp, opencode and jules all share the one root
AGENTS.md; the block is idempotent, so picking several writes it once.
Skill format
Each skill is a directory under skills/<name>/ whose SKILL.md frontmatter
drives both triggering and the installer's recommendations:
---
name: my-skill
description: Use when [specific triggers]… Triggers: 'phrase', 'frase'. NOT x (that is sibling).
tags: [keyword, keyword]
recommends: [sibling-skill]
profiles: [core, full]
origin: risco
---
The full agent-skill spec lives at
agentskills.io/specification.
Repo layout & contributing
skills/<name>/ is the single source of truth — every skill is authored
there, once. After editing any skill:
npm run manifest
npm run validate
npm test
bash scripts/eval-lint.sh
manifest.json is generated, never hand-edited; CI runs npm run manifest:check
and fails if it's stale or the skill count drifts. Adding a skill is: create
skills/<id>/SKILL.md with tags + recommends, run npm run manifest, done —
the rubric to hold it to is scripts/skill-rubric.md.
This is a personal catalog. Bug reports welcome via GitHub issues; PRs fixing
detector patterns, provider endpoints, or typos are appreciated.
License
MIT. See LICENSE.