Skein

The human orchestration layer for teams running coding agents.

It settles what the team has already decided, and sends the rest to the one person who should decide.

A blocker's life

Agent Should a missing permission return 403 or 404?

The team's API guidelines and two past PR reviews say 404, to avoid leaking that a resource exists. API conventions are inside the team's boundary. Skein answers 404, cites the guideline and the reviews, and logs it.

Nobody was interrupted.

Agent The v1 endpoint has three callers left. Remove it in this PR?

Nothing in the record covers removing a public endpoint, and deprecations are outside the boundary. Skein sends it to the API's owner, not the channel, with the agent's context and the deprecation policy. The owner answers in one line. Skein unblocks the agent and records the decision.

The next removal question cites it.

Works with the agents you already run

Claude Code, Cursor, anything that speaks MCP. An agent that is stuck calls one tool, ask_skein, and gets back an answer with a citation, or the answer of the one person who owns the question.

Install in three steps

  1. Run one server for the team

    Put your team's decisions, the boundary of what Skein may settle alone, and who owns what in three plain files in your repo. skein init drafts them from your docs, CODEOWNERS and past PR reviews; your team corrects the draft. Connect Slack, then start the server.

  2. Commit one config file

    Add .mcp.json to your repo, pointing at the server. It holds no secrets.

  3. Each developer sets one secret

    No keys, no tokens, no install on their machine. Their agents can ask Skein from the next session.