skegv1.0.0-rc2 · Apron · beta live
skeg (n.) the fin that keeps a hull tracking straight

The AI wrote it.
Now prove it’s right.

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

Nothing is broken. Everything is unaccounted for.

Not the agent's fault. It did what you asked, at a speed the process around it was never built for.

“Is this what we asked for?”

No spec existed, so nobody can say.

What went out in that prompt?

A key, a customer record, a production DSN. Nobody was watching the wire.

The agent ran rm -rf

You found out afterwards. A gateway sees none of it.

How it works

One loop your agents run inside

Skeg wraps the tools you already use. Not a new IDE, not another agent, not another gateway.

Every change answers to a spec

One page with acceptance criteria. Your agent reads the same spec, from CLAUDE.md and .cursorrules generated from one source.

Governed on the wire and the machine

Secrets stripped before they leave, approved models, per-seat budgets — plus hooks that stop what a gateway cannot see.

Context that outlives the chat

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.

Quickstart, admin app, hardening, team setup →

Who it is for

Four people, one tool

Each gets what they need, not four tabs of one dashboard.

Developer

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.

$ skeg context # into any model
$ skeg try # 2 min, undoable
$ skeg mcp install # your agent asks Skeg

Product lead

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.

$ skeg brief --html brief.html

CTO / platform owner

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.

$ skeg admin # the nine screens
$ skeg harden # 14 controls, honestly

Auditor / security review

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.

$ skeg evidence export

What is and is not done yet →

Access

Private, by request.

Not published publicly — no repository, no registry package, no open download. Deliberate, while it goes into a few organisations first.

1. You askteam size, your agents, what you want working in week one
2. We senda signed build, its checksums, and the terms in writing
3. You run itone command, in a repo you already have

Step 3, with the build we send:

$ sh install.sh
$ cd your-repo && skeg try
You getspecs, gates, agent rules, and a security scan of your code and git history
You risk nothingskeg undo removes exactly what it added
You need nobodyno gateway, no login, no account, no data leaving your machine
Why there is no one-liner here. A public curl | 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

Free, and not on a clock.

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.

Free forever

Ten builders, one product, one team, one login provider. No card, no expiry — the binary enforces exactly these numbers.

Design partners

Ten teams. The whole product free for twelve months, hands-on setup, a call every fortnight.

Later

A platform fee plus seats for builders. Reviewers free. Never per PR, per prompt or per commit.

Feedback

Tell us what to fix

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

Request access

The three steps above, in writing. We reply within one business day.

Open core

Built in the open, with its own gates

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.

Start with a stack pack

Go, Rust, Ruby, PHP, Elixir, Swift. One folder: lint, test, build, CI job, agent rules. No Go required, and useful immediately.

Or a redaction pattern

Found something the gate lets through? Add the pattern and a canary case; a release-blocking test protects everyone.

Your PR is low-risk

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

Do I have to change my IDE, agent or model?

No. Any IDE, any coding agent, and any OpenAI- or Anthropic-style endpoint — hosted, in your cloud, or a model you run yourself.

Can Skeg see our code or prompts?

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.

We already have an AI gateway. Does Skeg replace it?

No, it works with yours. Skeg adds the spec and PR gates, the endpoint hooks that see what agents do, and the knowledge base.

Does it work with my coding agent directly?

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.

How does a new developer learn what to build?

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.

Is there a UI, or is it all terminal?

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.

Can a developer bypass it?

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.

Why “Skeg”?

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.