Integrations · opencode
Give opencode an architecture to build from
Design a system in SkeletIQ, release it, and connect opencode over MCP. Your agent writes SkeletIQ's brief into AGENTS.md, which opencode loads as project instructions, and reports what it built so you can see what drifted.
Mint a token
Design a system in SkeletIQ and release it. Then mint a token under Settings → Agent access — shown once, stored hashed, revocable instantly.
A token grants only what you tick
- Read designs — Projects, designs, briefs, build order, readiness, gaps.
- Run generations — Generations, which spend credits. Payload critique, which is free.
- Report build progress — Drift checks; never changes the design. Grant it with Read designs — a drift check looks the design up first.
Add the server
Put this in opencode.json at the root of your project. opencode reads the server from that file.
{
"mcp": {
"skeletiq": {
"type": "local",
"command": [
"npx",
"-y",
"@skeletiq/mcp"
],
"environment": {
"SKELETIQ_API_KEY": "{env:SKELETIQ_API_KEY}"
},
"timeout": 600000
}
}
}opencode's default timeout kills a healthy generation. Keep this one. The token is not in the file: export it as SKELETIQ_API_KEY in your shell, and opencode reads it from there through {env:SKELETIQ_API_KEY}.
Runs on your machine over stdio. MIT-licensed.
What your agent does
Ask opencode to build from your SkeletIQ design by name. The server tells your agent to run a session in this order.
- Step 01
Orient
list_projectsget_design · briefYour agent names the project and writes the brief into AGENTS.md as a managed block. A refresh replaces it whole.
- Step 02
Ask, don't guess
get_design · gapsWhat the design left undecided comes back as questions for you. The agent cannot answer them through the server.
- Step 03
Build in order
get_design · build_orderget_design · componentStores first, then queues, services and the edge — each component read as it is reached.
- Step 04
Report drift
check_driftThe agent reports what it built and hears what is missing, half done, or not in the design. It never writes back — you revise and release again.
The brief it writes
Your agent writes SkeletIQ's brief into AGENTS.md as a managed block between two HTML-comment fences. opencode loads AGENTS.md as project instructions, so a fresh session starts from the design. Never edit inside the block: a refresh replaces the whole block.
See a full example briefCheck what drifted
check_driftWhen a piece is built, your agent calls check_drift with the components it covered. The answer is a set difference against the released design: what is missing, what is half done, and what was built that the design never named.
Drift is what the agent reports it built. The server never looks at your code and never writes back to the design. To change the plan, revise it in SkeletIQ and release it again; the next refresh replaces the brief in AGENTS.md.
Component ids belong to one version. After a regeneration, check_drift answers an unknown id with suggestions. Put those to a person rather than assuming the mapping.