The Complete AI Development Toolkit for Claude Code. 106 skills, 36 agents, 171 hooks. Install `ork` for stable (v9.x), or `ork-alpha` for the v10 line, which ships daily.
> /plugin marketplace add yonatangross/orchestkit
Repo: yonatangross/orchestkit
What's inside
107 skills · 36 agents · 171 hooks
Pick the host you actually use. Claude Code is the full plugin (skills + agents + hooks). Cursor gets the same ork plugin minus Claude hook scripts. skills.sh is skills only — start with the 12 below, not the whole catalog.
Measured 2026-09-08 on pi 0.85, Codex CLI and cursor-agent. Details, commands and the lane model: OrchestKit on pi, Codex and Cursor. Antigravity measured 2026-09-18 on agy 1.2.6; full evidence in docs/audits/agy-host-support-2026-09-18.md.
| Surface | Claude Code | Cursor | Codex | pi | Devin | Antigravity |
|---|---|---|---|---|---|---|
| Skills (SKILL.md) | all | all, via the ork plugin | 6 (ork-codex pack) | all via pi install, 78 auto-listed | 76 of 107, GH-4146 | all via workspace .agents/skills (skills.sh); ork:<name> via agy plugin install |
| Agents | all | all | 4 role templates | none | not reported by info | 36 via agy plugin install (validated); none via .agents/skills |
| Hooks | all | none | none | none | none | none of ork's; agy hooks.json is a different schema |
| Rules | repo convention | 14, plugin rules key | AGENTS.md | none | AGENTS.md, always on | AGENTS.md, per-directory |
| Commands | /ork:<skill> | 36 wrappers | $ork-<skill> | /skill:<name> | /ork:<skill> | /<skill-name>; ork:<skill> via plugin install |
| MCP config | .mcp.json | .cursor/mcp.json | plugin mcp.json | .pi/mcp.json | mcp.json / .mcp.json | ~/.gemini/config/mcp_config.json or plugin mcp_config.json; repo .mcp.json not read |
| Status | shipped | shipped | shipped | shipped | skills only, GH-4146 | skills only, measured agy 1.2.6 |
/plugin marketplace add yonatangross/orchestkit
/plugin install ork
Then /ork:setup. The wizard scans the repo, recommends skills, and writes MCP config.
CLI equivalent: claude plugin marketplace add yonatangross/orchestkit && claude plugin install ork@orchestkit.
Settings → Plugins / marketplaces → add yonatangross/orchestkit → enable ork → open a new chat. Same plugin Claude Code installs, not a five-skill fork. See Install → Cursor.
Starter 12 — doctor, setup, explore, implement, verify, review-pr, commit, expect, assess, brainstorm, create-pr, remember:
npx skills add yonatangross/orchestkit -s doctor -s setup -s explore -s implement -s verify -s review-pr -s commit -s expect -s assess -s brainstorm -s create-pr -s remember
The skill named implement is the implement workflow (/ork:implement in Claude Code). There is no ork-implement on the Claude plugin; Codex uses $ork-implement after the Codex pack is installed. Full catalog: npx skills add yonatangross/orchestkit (hundreds of SKILL.md files — do not treat that as unique users).
Every Claude Code session starts from zero. You explain your stack, patterns, preferences—again and again.
OrchestKit gives Claude persistent knowledge of production patterns that work automatically:
| Without | With OrchestKit |
|---|---|
| "Use FastAPI with async SQLAlchemy 2.0..." | "Create an API endpoint" → Done right |
| "Remember cursor pagination, not offset..." | Agents know your patterns |
| "Don't commit to main branch..." | Hooks block bad commits |
| "Run tests before committing..." | /ork:commit runs tests for you |
One unified plugin, everything included.
| Component | Details |
|---|---|
| 107 Skills | RAG patterns, FastAPI, React 19, testing, security, database design, ML integration — loaded on-demand, zero overhead |
| 36 Agents | Specialized personas (backend-architect, frontend-dev, security-auditor) — route tasks to the right expert |
| 171 Hooks | Pre-commit checks, git protection, quality gates, browser safety — ship with confidence |
All available in a single /plugin install ork. Skills load on-demand. Hooks work automatically.
Browse everything in the Docs →
/ork:auto # Front door: describe a goal, it routes to the right skill
/ork:setup # Personalized onboarding wizard
/ork:implement # Full-stack implementation with parallel agents
/ork:expect # Diff-aware AI browser testing
/ork:review-pr # PR review with parallel agents
/ork:verify # Multi-agent validation
/ork:commit # Conventional commit with pre-checks
/ork:explore # Analyze unfamiliar codebase
/ork:remember # Save to persistent memory
/ork:doctor # Health check
/ork:setup detects your stack, recommends MCP servers, and writes the configuration for you.
| Server | Purpose | Required? |
|---|---|---|
| Context7 | Up-to-date library docs | Prerequisite (22 of 36 agents grant its tools) |
| Memory | Knowledge graph persistence | Recommended |
| Sequential Thinking | Structured reasoning for subagents | Recommended |
| Tavily | Web search and extraction | Optional |
Set "alwaysLoad": true on the first three in your .mcp.json. It skips the per-skill tool probe and shaves ~150ms off cold starts.
Context7 is a prerequisite, and ork does not ship it. 22 agents grant
mcp__context7__* in their frontmatter, but .mcp.json is user-owned and project-scoped,
so the grant refers to a server you add. Skip it and those agents answer from training
data with no error raised. The recommended entry is the hosted HTTP server, which costs
no local process:
"context7": {
"type": "http",
"url": "https://mcp.context7.com/mcp"
}
Free tier: 1,000 requests, public repos, no account. Context7 Pro ($10 per seat per
month) raises that to 5,000 per seat and parses private repos; add
"headers": { "Authorization": "Bearer ${CONTEXT7_API_KEY}" } and export the ctx7sk-
key. Add the header only once the variable is exported: with it unset the unexpanded
literal is sent as the token and every query fails, and it does not fall back to the
anonymous free tier, so the keyless entry above is strictly better than a header with no
key behind it. The legacy stdio transport (npx -y @upstash/context7-mcp@4.0.2) is the fallback
when the hosted endpoint is unreachable, but it spawns one child process per Claude Code
session, so the fan-out scales with how many sessions you keep open.
Skills install as files on your disk, but don't hand-edit the installed copy — it gets overwritten on update and silently diverges from the canonical playbook. The supported ways to extend (user-level skills, project skills, upstream PRs, or disabling a bundled skill) are in docs/extending-skills.md.
OrchestKit is a quality-gate plugin, so its hooks are the product rather than an add-on. This section states plainly what they see, where it goes, and how to turn each piece off.
Scope: broad and intentional. OrchestKit registers 171 hooks across 32
lifecycle events, including SessionStart, UserPromptSubmit, PreToolUse,
PostToolUse, and Stop. They are not gated to a particular framework or
project type, because the gates they enforce (secret-write blocking, protected-file
guards, git safety, file-size limits, agent status protocol) apply to any codebase.
If you only want gates on some projects, enable the plugin per-project rather than
globally.
Where data goes: a local file on your own disk.
| What | Destination | Notes |
|---|---|---|
| Lifecycle events (session end, PR merged, goal converged, chain phase) | ~/.local/state/orchestkit/events.jsonl | Written unconditionally, rotated at 10 MB. ORK_EVENTS_LOG redirects the path (used by the test suite) |
| Hook metrics: event name, tool name, payload size, duration | same local file | Size-capped metrics only |
| Prompt text and file contents | Never recorded | Hooks read them to make an allow/deny decision, then discard |
| Remote sync | Off | No endpoint is compiled in; see below |
There is deliberately no global kill switch for the local write, because the
gates depend on that state (the git-safety and chain-staleness hooks read their
own prior events). To stop it entirely, disable the plugin. Individual noisy hooks
have their own opt-outs: ORK_DISABLE_DEBT_TRACKER, ORK_DISABLE_WORKTREE_VERIFIER,
ORK_DISABLE_COORDINATION_METRICS, ORK_NO_NOTIFY, ORK_NO_STALE_SWEEP, and
ORCHESTKIT_SKIP_SLOW_HOOKS among others.
Network access is opt-in and unset by default. There is no hardcoded remote
host anywhere in the shipped hook bundles (grep -o 'https\?://' plugins/ork/hooks/dist/*.mjs
returns nothing). An outbound call happens only if you configure a destination
yourself, via one of:
ORCHESTKIT_HOOK_URL + ORCHESTKIT_HOOK_TOKEN, which enable the manual
hooks/bin/telemetry-sync.mjs CLI. It POSTs your local JSONL to your own
endpoint. No hook ever invokes it; you run it by hand.ORK_HQ_TELEMETRY_URL, which points the telemetry HTTP sink at your own collector.ORK_HQ_TELEMETRY_USE_HQ_API=1 together with HQ_API_URL, the same sink aimed
at a self-hosted HQ API.ORK_SESSION_CATEGORY_PROVIDER=jev (or shadow) together with the TypeSafe
key variable ORK_TYPESAFE_API_KEY, a second classifier for the session work
category. The session-identity hook already asks a local claude -p --model haiku
process for a title and a category; with both variables set it also asks
TypeSafe's Jev model (api.typesafe.ai, model pinned to jev-1.13.0) one typed
Choice over the same eight categories and the same criteria text. This is the
one exception to the "no hardcoded host" note above, and it is dormant unless
both variables are set. What leaves your machine: the git branch name and theShowing a partial view of a very large repo.
FAQ
orchestkit is a Claude Code plugin with 113 hand-picked skills for development work, indexed on Flowy. Install it with the command on its page. It includes ork-assess, ork-brainstorm, ork-explore. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.
Is this plugin yours?
Claim it with GitHubSubmit a pluginPromote it