Skip to main content
Connecting an editor to Orbit’s MCP server gives an agent fifty-odd tools and no account of which one answers which question. It will find orbit_list_reviews on its own. It will not guess that a crash group often already carries an analysis somebody paid for, that the reason it writes when dismissing a finding becomes a project rule, that AGENTS.md is generated and must not be hand-edited, or that a paid tool has to be priced before it runs. A skill carries that. Orbit ships one, in three shapes, so an agent does not learn a different Orbit depending on the editor it runs in.
A skill is instructions, not access. What an agent can actually read or change is decided by its credential and its scopes, described in MCP and agents. Installing the skill into a repository that has no token connected changes nothing.

Install them with the CLI

The orbit CLI carries all three and copies them in. It makes no network call, so it needs no token.
Every run prints one line per destination:
Run it again and it writes nothing: a destination that already holds what the binary ships is reported unchanged, and its modification time does not move.

What it will not overwrite

The Claude Code skill and the Cursor rule exist for this and nothing else, so the CLI owns them whole, and it records the digest of what it wrote to each in .orbit/skills.json. That is what lets it tell a skill it installed from one you have since rewritten: So upgrading the CLI upgrades the skill, and a copy you have tuned yourself survives until you ask for the shipped one back. .orbit/ is local state, so gitignore it; the skill files themselves are meant to be committed. AGENTS.md is your document, not Orbit’s, so the section is written between two HTML comment markers and nothing outside them is touched:
A later install rewrites what is between the markers and leaves the rest of the file alone. A file with no markers keeps everything it had and gains the block at the end.
If AGENTS.md was generated by orbit memory pull it carries a header saying so, and the next pull overwrites it. Install refuses to write into it, with that as the reason. Put the section in Orbit Memory as a memory of kind instruction instead, then pull: every agent in every checkout gets it that way, not only the repository you installed into.

The files

Copy whichever you need, or let orbit skills install write them. All three cover the same ground.
Save as .claude/skills/orbit/SKILL.md. Claude Code discovers it by its description, so it is loaded when a task is about a review, a crash or the project’s own decisions, and not otherwise.
.claude/skills/orbit/SKILL.md

What the skill actually teaches

Five things, in the order an agent needs them.
memory_search with the question in whole sentences rather than keywords, because the search reads meaning as well as text. A decision or a convention that already covers the question is the difference between a suggestion that fits this codebase and one that reads as generic. memory_instructions is the compiled instruction bundle, and orbit_list_learnings is the reviewer’s own rules for the project, worth reading before disagreeing with a finding.
A short table: reviews through orbit_list_reviews then orbit_get_review, crashes through orbit_list_crash_groups then orbit_get_crash_group, hangs through orbit_list_issues and orbit_get_profile, sessions and people, tests and builds, screens through orbit_atlas_map, anything at all by file path or symbol through orbit_search. Plus the shape of an answer: lists default to 20 rows and cap at 100, timelines page with next_offset, and nothing over 64 KB comes back at once.
The queue carries a merge-confidence score and a zone; the review itself carries the walkthrough, the checks that ran, and every finding with its file and line, severity, rationale and suggested patch. Work highest severity first. Either change the code and say which finding the change answers, or record the decision with orbit_set_finding_state, remembering that the reason on an accepted or dismissed finding becomes a project rule unless teach is false. And that two actions leave the working tree: orbit_apply_suggestion commits to the pull request’s branch, orbit_send_finding_to_agent hands the finding to the Parsaa app. Both wait for a person.
Weigh a group by its reports and by how many devices and app versions carry it, not by how recent it is. Read the group before paying for an analysis, because one may already be there. Then widen: the session for what the person was doing, the screen, the vitals and the fleet for which version and which devices. Answer three things before touching code, which is what the crash is (the first frame in first-party code, not the top frame in a system library), what reproduces it, and which version introduced it. Unsymbolicated frames mean the debug symbols never arrived, so upload the dSYM rather than reading addresses.
There is one orbit upload command and the kind is inferred from the path, so an agent stops inventing a subcommand per artifact. An .xcresult, an .xcactivitylog and a .trace carry no git of their own, so the commit has to be named or the run links to nothing. On the memory side: pull writes the generated files and push imports what the repository has, idempotent by slug, and a write through memory_write is durable facts only, never transient task state, never a secret, always with a source.

Keeping them in step

The skills name tools and orders of operations. They deliberately leave argument shapes to the schemas, because each tool carries its own description and arguments at call time, generated from Orbit’s OpenAPI document. So the reference cannot drift from the server, and the skill only has to stay right about the map. When Orbit ships new copy, orbit skills install picks it up: a destination still holding what it installed is upgraded in place, one you have edited is skipped until you pass --force, and the AGENTS.md section is replaced between its markers with the rest of the file left alone. Running it after every CLI upgrade is safe, and prints nothing but unchanged when there is nothing to do.

MCP and agents

The endpoint, the two credentials, scopes, and every tool group.

The orbit CLI

orbit skills install, uploads, the stdio MCP bridge and memory sync.