Install
skills CLI discovers every skill
in the repo and installs the set into your agent’s skills directory. --skill '*' takes all six in one pass; drop it and the installer opens an interactive
picker instead. Take all six either way — pome routes into the other five, so
a partial install routes into nothing.
Then connect the control MCP, so the tool calls the skills make resolve: add
https://mcp.pome.sh/mcp to your coding agent as a remote HTTP MCP server.
There is no API key to paste — auth is OAuth, and the consent screen opens on
the first tool call.
Connect to the MCP has the wiring for each client: the
one-line CLI form, the mcpServers JSON block, and what to do for a headless or
managed agent. That page is where per-client configuration lives.
If you have done the graded capstone, both of these
are already done — that page’s first two steps are this install and this
connection.
The six skills
The journey is register → author → verify → run, and you enter wherever you
already are;
pome works that out rather than making you pick.
Each skill’s full instructions live beside it in
pome-sh/digital-twins/skills,
which is the canonical copy — it versions with the CLI and the twins, so the
skill you installed and the product it drives move together.
Which door registers your agent
There is one concept — register an agent — reached through two doors that are not interchangeable. Which one is right is decided by whether a local repo is in play, and picking the wrong one leaves a run that cannot start.-
Your agent lives in a repo you run yourself → the CLI:
Only the CLI does both halves. It resolves the hosted identity and writes the local wiring: the canonical
agent.slugintopome.json, and theagt_…id into gitignored.pome/link.json. That local wiring is whatpome runandpome doctorread to find the agent and its transport. See Your own agent for the whole path. -
No local repo — a Claude managed agent, or a hosted registration with
nothing on disk to link → the MCP tool
register_agent.pome-intaketakes this door for a managed agent, throughintake_clone_scope.
.pome/link.json
and leaves the transport wrong, and a second pome register agent is then needed
to repair both — so do not substitute one for the other on the grounds that it is
the same registration. If a paste-prompt spells out the CLI command, let the
coach run it verbatim.
Adding twins later is the exception: on an agent that is already registered,
register_agent with a twins list merges the allowlist rather than
re-registering, and is the right call from either door.
Where the skills sit
The skills are one way in, not the only one, and nothing is exclusive to them. Same loop, same run row, wherever you drive it from: the CLI for local loops and CI, the MCP for any client that speaks tool calls, and the dashboard for reading what happened afterwards. A skill-driven run and apome run produce the same
evidence.
Next
Your own agent
Point Pome at your repo — register it and write the
pome.json every run reads.Write a task
The file’s shape,
[code] vs [model], and the checks each twin declares.Evaluate an agent over MCP
The same coach loop the skills drive, call by call.
Dashboard
Where agents, sandboxes, runs, and handoffs land: app.pome.sh.