Too many choices
Skill repos are scattered everywhere, no map. Finding the ones that fit your project takes an afternoon.
Open source · MIT · Zero dependencies
Repotify finds the agent skills developers publish on GitHub, vets each one for risk, and installs the best picks for your project — in Claude Code, Cursor, Codex or Gemini CLI.
npx -y @repotify/repotify@latest
Run it in your project folder
repotify 2.0.0 ~/my-saas next.js · react · typescript · stripe set up repotify for this project ● Read the project (manifests only) └ web app · tests: playwright, vitest ● Picked for this repo ✓ react-best-practices next.js + react ✓ webapp-testing playwright tests ✓ test-driven-development core ✓ differential-review security review ○ repotify-guard you switch it on ✕ react-native-skills no mobile target ✕ pptx no slides here ● 12 skills installed · pinned · re-scanned
Skill repos are scattered everywhere, no map. Finding the ones that fit your project takes an afternoon.
A skill is instructions your agent obeys. A malicious one can steal secrets or run commands on your machine.
Every skill takes room in your agent's context. Useless ones slow it down and distract it.
The whole flow costs your agent about 3,000 tokens.
A local scan of manifests and file names. Your code is never read or sent.
At most three questions, and only what the project does not already answer.
One best item per job, chosen by evidence, platform and coverage, within a context budget.
Pinned commits, SHA-256 checks and a local re-scan. Hooks and MCP servers only when you switch them on.
A decision model reads each skill and tells its main job, its language and whether it pays off once. Picks rest on what a skill does, not on its one-line description.
Each skill is mapped to the job it does: one item per job, and what you already have keeps its place.
repotify audit flags a codebase map or onboarding skill once it has done its job, and shows what every skill costs in tokens.
Django, FastAPI, Go, Rust, Java, Swift, Flutter, Laravel, Rails, .NET and more get an expert for their stack, and only theirs.
A rule-based scanner decides trust. The LLM jury can add suspicion, never remove it.
verifiedNo known risky pattern. Recommended.cautionA finding worth a look. Installed only with your consent.quarantinedHigh risk. Held until a human reviews that exact commit.rejectedCritical risk. Kept out of the catalog.The catalog is built to grow around the clock: a research lab finds new skills, the security gate checks them and a person approves each one.
repotifyInstalls the repotify skill for your agent and prints the project fingerprintrepotify recommendConflict-free candidate table within your context budgetrepotify install <ids> --yesInstalls the skills you picked: pinned, hash-checked, re-scannedrepotify enable <ids>Switches on a hook or MCP server after showing you the changerepotify auditJudges installed skills: keep, consider removing or remove, with the reasonrepotify suggestOffers your own skill to the catalog; nothing is sentrepotify scan <dir>Runs the security scanner on any skill folderinstall writes only skill folders; enable writes only what it showed you first.recommend, audit, suggest and scan write nothing in your project.No. It reads manifests (package.json, pyproject.toml, go.mod…) and file names on your machine, and sends nothing about your project anywhere.
You do. repotify install never writes them. repotify enable shows the change and asks you in a terminal, and the skill tells agents to hand you the command instead of running it.
Claude Code, Cursor, Codex, Gemini CLI and any agent that reads .agents/skills.
Yes. Repotify is open source under the MIT license. Catalog items keep their own licenses.
Run repotify suggest in its repository. It scans it locally and gives you a pre-filled form; the catalog's security gate and LLM jury review it.
It is built to learn from anonymous signals, but the collection endpoint is not configured, so nothing is sent. Opt out any time with REPOTIFY_TELEMETRY=0.
One command in your project folder. Everything it installs, you can see and undo.
npx -y @repotify/repotify@latest