Skip to content

Latest commit

 

History

1,742 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OrchestKit - Stop explaining your stack. Start shipping.

105 skills · 36 agents · 171 hooks

Claude Code License GitHub Stars Community Ask DeepWiki

MCP Toplist


Explore the Docs → · OrchestKit Community →
Skill browser, demo gallery, setup wizard


Contents

Quick Start (Claude Code)

/plugin marketplace add yonatangross/orchestkit
/plugin install ork

Then start your personalized onboarding:

/ork:setup

The setup wizard scans your codebase, detects your tech stack, recommends skills for your needs, configures MCP servers, and creates a readiness score — all in one command.


Why OrchestKit?

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

What You Get

One unified plugin, everything included.

Component Details
105 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 →


Key Commands

/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

Configuration

/ork:setup detects your stack, recommends MCP servers, and writes the configuration for you.

Recommended MCP Servers

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.

Customizing skills

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.


What OrchestKit observes

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 30 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.

The sink returns early when the URL or the token is missing, and telemetry-sync.mjs prints No ORCHESTKIT_HOOK_URL or TOKEN configured. Nothing to sync. then exits 0. There is no analytics ping, no crash reporter, and no feature-flag fetch.

What OrchestKit never reads. No OS keychain lookups, no ~/.aws/credentials, no SSH private keys, no browser cookie or login stores, no clipboard. The one place secret-shaped paths appear in the source is plugins/ork/hooks/dist/pretool.mjs, where id_rsa, .pem, .env, and credentials.json form a blocklist that stops Claude writing to them. That code denies access; it does not read those files.

Third-party MCP servers are recommendations, not bundled dependencies. The plugin ships no .mcp.json and declares no mcpServers. The table under Configuration is advisory, and /ork:setup asks before writing anything.


Install

/plugin install ork

No tiering. No version confusion. Just one powerful plugin.

Not on Claude Code? Pull the skills into any agent (Cursor, Codex, OpenCode, …) via skills.sh:

npx skills add yonatangross/orchestkit

Codex

Codex uses its own plugin format, skill picker, and standalone role configuration. Add OrchestKit's Codex marketplace, then install the small portable workflow pack:

codex plugin marketplace add yonatangross/orchestkit --ref main --sparse .agents/plugins --sparse plugins/ork-codex
codex plugin add ork-codex@orchestkit-codex

Restart Codex after installation. Invoke a workflow explicitly with $ork-brainstorm, $ork-explore, $ork-assess, $ork-verify, or $ork-review-pr; their narrow descriptions also let Codex select the relevant workflow automatically.

The plugin intentionally ships roles as templates because Codex loads custom roles from ~/.codex/agents/, not from a plugin manifest. From an OrchestKit checkout, run this one-time, non-overwriting install:

plugins/ork-codex/scripts/install-codex-roles.sh ~/.codex/agents

It installs ork_explorer, ork_implementer, ork_reviewer, and ork_verifier; restart Codex before spawning them.

Documentation lookup (context7)

The plugin ships a context7 MCP server in its own manifest (mcpServers in .codex-plugin/plugin.json, defined in mcp.json), so installing the plugin registers it. Confirm with codex mcp get context7. It is scoped to the only two tools context7 exposes, resolve-library-id and query-docs, and it uses the hosted HTTP transport rather than an npx stdio child, so it costs no extra process per Codex session.

Export a key before starting Codex. The plugin references the variable name and never stores the value, so no token is written to ~/.codex/config.toml:

export CONTEXT7_API_KEY_CODEX="<your-context7-api-key>"

Put that in your shell profile so every Codex session inherits it. Get the key from your own context7 account and keep the value out of the repository. If you store it in a secret manager, substitute your own vault and item names (with the 1Password CLI the reference is op://<vault>/<item>/credential), and cache the resolved value instead of re-reading the vault in every shell: each raw read is a separate unlock prompt.

Two behaviors worth knowing:

  • A server you already define yourself under [mcp_servers.context7] in ~/.codex/config.toml wins, and the plugin's definition is ignored entirely (including its tool scoping). That is intentional: your own configuration is never overridden. Remove your entry if you want the plugin's.
  • Without a valid key the server still connects and still lists its tools. Only a real call fails, with Invalid API key. A successful connection is therefore not proof of authentication.

FAQ

Plugin not found?
/plugin list
/plugin uninstall ork && /plugin install ork
Hooks not firing?

Run /ork:doctor to diagnose.

Claude Code version?

Requires ≥2.1.220 (supported floor; Opus 5 as the default Opus, xhigh effort, dynamic workflows, sandbox.network.strictAllowlist, native binary, hardened Bash(rm:*)/Bash(find:*) rules). Check with claude --version.

Raising this floor is a breaking change and ships as a major release. See STABILITY.md for the full contract, and shared/cc-support.json for the authoritative window.


Development

npm run build      # Build plugins from src/
npm test           # Run all tests

Edit src/ and manifests/, never plugins/ (generated).

See CONTRIBUTING.md for details.


What's New

v10.0.0-alpha.45 · 2026-08-21

  • announce: label-gated alpha announcements plus RSS feed (#3638) (#3639)
  • pricing: Sonnet 5 is $2/$10, and retire retired model IDs (#3647)
  • cc: snapshot 2.1.238, hand-triage, advance latest_known (#3636)

v10.0.0-alpha.44 · 2026-08-21

  • cc-watch: watch the Claude Platform release notes (#3627) (#3635)
  • doctor: read the macOS sandbox violation log, fail closed (#3631)
  • scripts: add gh-api.mjs, a GitHub API client for gh-broken shells (#3633)
  • worktree: adopt .worktreeinclude and pin baseRef plus spawn depth (#3582)
  • cc-triage: tolerate fenced JSON and resolve the umbrella with state=all (#3580)
  • …and 4 more (see CHANGELOG.md)

v10.0.0-alpha.43 · 2026-08-19

  • doctor: report the credential guard that actually exists (#3577)
  • hooks: a file operand means stdin is data, not the script (#3574), closes #3559
  • hooks: size the projected file, not the tool that wrote it (#3560)
  • tests: give every mktemp a template so it honours TMPDIR (#3579)
  • configure: caveat when excludedCommands is inert (#3573)
  • …and 1 more (see CHANGELOG.md)

v10.0.0-alpha.42 · 2026-08-19

  • build: stop a denied scratch file from zeroing the hook subcount (#3567), closes #3564
  • ci: bound the second apt-get, the one outside .github/ (#3561), closes #3557
  • hooks: scope the context7 cap to the session it is named after (#3568), closes #3542
  • configure: add good first issues link to issue template (#3555), closes #3506

v10.0.0-alpha.41 · 2026-08-19

  • ork-codex: ship context7 as a plugin-native MCP server (#3549)

v10.0.0-alpha.40 · 2026-08-18

  • agents: grant context7 deliberately, per agent (#3547)
  • ci: bound and skip system dep installs (#3550), closes #3545
  • tests: read the MCP gate's server list from a tracked manifest (#3546)
  • configure: add staged operator-scope settings (#3553)
  • mcp: document context7 as a prerequisite, Pro tier, hosted transport (#3548)

v10.0.0-alpha.39 · 2026-08-18

  • plugin: move shared fragments out of component trees (#3543)
  • deps-dev: bump js-yaml (#3538)

v10.0.0-alpha.38 · 2026-08-18

  • workflows: default fan-out stages to specialist agentType (#3535)
  • agents: grant the MCP tools 27 agents declare (#3532)
  • hooks: close agent-browser URL-coverage hole in safety hook (#3531)
  • hooks: reclaim the plugin cache the hook never touched (#3523)
  • hooks: stop test fixtures contaminating live spawn telemetry (#3533)
  • …and 6 more (see CHANGELOG.md)

See CHANGELOG.md for the full release history.


Community

Join the Building with AI community for AI dev tips, OrchestKit support, and connecting with other builders:

Room Who it's for Link
Building with AI The umbrella community. One join, every room below. Join
Builders For people already building Join
OrchestKit For OrchestKit users Join
AI for Business For people leading AI adoption Join

Names and audiences match what yonyon.ai renders, so the two surfaces cannot drift. Every link resolves through yonyon.ai/go/*, so a rotated invite never needs a README change and no raw invite is published here.


Who builds this

OrchestKit is built and maintained by Yonatan GrossYonyon AI, an AI consulting practice. It is the toolkit extracted from real client work, not a side project: the patterns here are the ones that survived shipping.

It stays MIT and free. Nothing is gated, and none of the below changes that.

Working out where AI actually fits in your business? The AI readiness audit is a free assessment that maps your workflows and returns a prioritized report — the same diagnostic that opens a consulting engagement.

Want the toolkit running properly in your team? Setup, configuration, and a working agent loop tailored to your stack is something I do as a fixed-scope engagement. Start a discussion or reach out through the community.

Security policy and reporting: SECURITY.md.


Docs · Issues · Discussions · Community

MIT License · @yonatangross

About

The Complete AI Development Toolkit for Claude Code — 105 skills, 36 agents, 217 hooks. Production-ready patterns for full-stack development.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

223 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages