Your agents ship code faster than anyone can review it. Skeg gives that code a spec to answer to, a review before you push, and a gate it must pass — without changing your IDE, your agent or your model.
any IDE · any agent · any model · self-hosted · free for up to ten builders
$ skeg review comparing 14 files against specs/guest-checkout.md in scope guest session, payment intent, tests out of scope adds a redis dependency (not in the spec) risk card number logged at handler.ts:88 not evidenced "declines show a retry" — no test
Why
Not the agent's fault. It did what you asked, at a speed the process around it was never built for.
No spec existed, so nobody can say.
A key, a customer record, a production DSN. Nobody was watching the wire.
rm -rfYou found out afterwards. A gateway sees none of it.
How it works
Skeg wraps the tools you already use. Not a new IDE, not another agent, not another gateway.
One page with acceptance criteria. Your agent reads the same spec, from CLAUDE.md and .cursorrules generated from one source.
Secrets stripped before they leave, approved models, per-seat budgets — plus hooks that stop what a gateway cannot see.
Architecture, decisions and incidents as markdown in the repo. skeg context hands the relevant parts to your next agent session, and names what is still unwritten.
Who it is for
Each gets what they need, not four tabs of one dashboard.
Stop re-explaining the codebase to every new agent session. One command prints what it needs: the spec, what is out of scope, the decisions that apply, and where this code broke before. Plus the CI verdict before you push.
One page you open or print — no terminal, no login, no server. What shipped, which specs are waiting on you, whether anything is exposed, and one decision for the week. Run it Mondays and the ritual keeps itself.
Nine screens where every click is a git commit, so configuration is reviewable and revertible. Plus an audit of whether you are actually hardened — which reports UNKNOWN, never PASS, for the five controls that live on hosts Skeg cannot see.
A dated pack that reads as sentences, names the organisation, and maps evidence to SOC 2, ISO 27001/42001, NIST AI RMF and the EU AI Act. Tamper-evident logs you verify yourself. It states what it has not assessed.
Access
Not published publicly — no repository, no registry package, no open download. Deliberate, while it goes into a few organisations first.
Step 3, with the build we send:
skeg undo removes exactly what it addedcurl | sh is the obvious thing for this page, and it would fail for everyone who tried it, because no binaries are published. Both installers verify downloads against signed checksums and work the moment you have a build. Request access — same day. Air-gapped and from-source in the docs.Pricing
There is no payment system yet, deliberately. Small teams stay free permanently; design partners get everything free for twelve months and help set the price.
Ten builders, one product, one team, one login provider. No card, no expiry — the binary enforces exactly these numbers.
Ten teams. The whole product free for twelve months, hands-on setup, a call every fortnight.
A platform fee plus seats for builders. Reviewers free. Never per PR, per prompt or per commit.
Feedback
One command, from the terminal where the annoyance happened. It shows you what would be sent before anything goes, and never includes your code, paths or prompts.
$ skeg feedback bug "pr guessed the wrong ticket" $ skeg feedback suggestion "let me skip the size cap"
Or in writing
The three steps above, in writing. We reply within one business day.
Open core
Open core, with the boundaries written down rather than implied. Every change here goes through Skeg's own spec, size cap, scan and review, so if the tool is irritating, contributors feel it before customers do.
Three licences, by what you touch. Code you run daily: Apache-2.0 — fork it, sell it. The data plane: BSL 1.1 — readable, free to self-host, Apache-2.0 in four years. The handbook: CC BY-NC-ND — follow it free forever, don't republish it as your own. Full boundaries in the repository's LICENSE.
Go, Rust, Ruby, PHP, Elixir, Swift. One folder: lint, test, build, CI job, agent rules. No Go required, and useful immediately.
Found something the gate lets through? Add the pattern and a canary case; a release-blocking test protects everyone.
A regression suite, an end-to-end suite and a claims audit that fails the build if this page claims something the binary cannot do.
Standard library only, no third-party Go dependencies, and no vendor model default — a CI guard enforces both. What gets merged, and what gets pushed back →
Questions
No. Any IDE, any coding agent, and any OpenAI- or Anthropic-style endpoint — hosted, in your cloud, or a model you run yourself.
No. Everything runs in your network. We receive nothing, so we cannot lose it or train on it. Detail, including what is not done yet, on the trust page.
No, it works with yours. Skeg adds the spec and PR gates, the endpoint hooks that see what agents do, and the knowledge base.
Yes — skeg mcp install adds Skeg to Claude Code, Cursor or Windsurf as an MCP server, so your agent reads the spec and checks its own work while it writes, not at pull-request time. Six read-only tools: it cannot approve a spec, change policy or disable enforcement, because an agent that can switch off its own governor is not governed.
Adding a repo writes PROJECT.md: the project, every gate that will stop a pull request, what the hooks block, and plainly what is not watched. Then skeg status shows your ticket, the acceptance criteria that define done, what is out of scope, and the limits that apply. Both are generated from the files that enforce the rules, so neither can drift.
Both, and nobody is forced either way. Developers get skeg ui — a local window running the same commands as buttons. Whoever runs the platform gets an eight-screen admin app plus dashboards in your own network. Product leads get a page they can open or print. How each one works.
Locally, yes — and we say so rather than pretending otherwise. The controls that hold are server-side: branch protection, CI gates, and an egress firewall that only lets the gate reach providers. skeg harden tells you which are actually in place and reports UNKNOWN, never PASS, for the ones it cannot see.
A skeg is the fin aft of the keel. It keeps a heavy hull tracking straight instead of wandering off the line it was pointed at.