| `skills/orbit/` | Agent skill for Knowledge Graph queries. `SKILL.md`, `references/recipes.md`, `references/troubleshooting.md` are hand-written and need updates when API behavior or response shape changes. `references/query_language.md` is byte-equal-synced from `docs/source/queries/` (CI-enforced via `orbit-skill-docs-sync`, no manual action needed). |
## Gathering context
@@ -44,6 +45,7 @@ Use `glab` to check epics, issues, and MRs for context on what shipped recently.
- Crate renames, splits, or new crates not reflected in `CLAUDE.md`
- People or epic changes not in `README.md`
- Stale config references in `docs/dev/runbooks/server_configuration.md`
- New orbit API endpoints, query types, response-format changes, or user-visible features (e.g. indexing progress added in !1015) not reflected in `skills/orbit/SKILL.md`, `references/recipes.md`, or `references/troubleshooting.md`. CI only enforces byte-equal sync of `query_language.md` — the rest of the skill's hand-written prose (discovery workflow, recipes, gotchas, agent guidelines) won't flag itself as stale.
## Fixing
@@ -52,6 +54,7 @@ Use `glab` to check epics, issues, and MRs for context on what shipped recently.
3. Edit the doc to match
4. Run `mise run lint:docs` to validate
5. If you touched CLAUDE.md, mirror the change to AGENTS.md
6. If your change alters orbit API behavior (new endpoint, new query type, new response field, new user-visible feature), update `skills/orbit/SKILL.md` and `skills/orbit/references/` (especially `recipes.md` and `troubleshooting.md`) to reflect it. CI only catches byte-equal drift of `query_language.md`; everything else in the skill is manual.
@@ -36,6 +36,7 @@ Use `AGENTS.md` "Where to find things" as your index. Examples of drift to watch
- MR adds a new crate → `AGENTS.md` crate map and `README.md` architecture section need updating
- MR changes the query DSL or proto definitions → `docs/design-documents/querying/` may describe old behavior
- MR adds/changes public API surface or user-visible features → `skills/orbit/SKILL.md`, `skills/orbit/references/recipes.md`, `skills/orbit/references/troubleshooting.md` may need new content. CI only enforces byte-equal sync of `query_language.md`; the rest of the hand-written skill prose (discovery workflow, recipes, gotchas, agent guidelines) won't flag itself as stale. Example: indexing progress added in !1015.
- MR modifies auth or redaction logic → `docs/design-documents/security.md` may be stale
- MR adds a CI job or changes enforcement → `AGENTS.md` "What CI enforces" list is incomplete
- MR changes Helm charts or infra → `README.md` Helm Charts table and `docs/dev/runbooks/server_configuration.md` may drift
@@ -51,6 +52,7 @@ Only flag real drift. Skip cosmetic issues, formatting, and things markdownlint/
-**SSOT desync**: `README.md` tables (repos, epics, infra, people, helm charts) don't reflect structural changes in the MR
-**AGENTS.md desync**: crate map, CI enforcement list, or "where to find things" table is outdated after the MR
-**New undocumented surface**: new gRPC endpoint, server mode, config option, or ontology node/edge type with no doc coverage
-**Stale agent skill**: hand-written parts of `skills/orbit/` (SKILL.md, recipes.md, troubleshooting.md) don't reflect new API behavior. Byte-equal `query_language.md` is CI-enforced separately; this bullet is for the prose that isn't.
description:Query the GitLab Knowledge Graph (Orbit) via the /api/v4/orbit REST endpoints using `glab api`. Use for code-structure questions (who calls this function, where is this symbol defined), cross-project dependency and blast-radius analysis, merge-request and contributor queries, and any question answerable by traversing GitLab's unified entity graph (projects, users, MRs, issues, pipelines, files, definitions, vulnerabilities).
version:0.1.0
license:MIT
metadata:
audience:developers
keywords:orbit, knowledge-graph, gkg, graph, query, glab, api
workflow:ai
---
# Orbit (GitLab Knowledge Graph) skill
Query the GitLab Knowledge Graph (product name **Orbit**) from the CLI using `glab api`.
The API is **self-describing** — always call `orbit/schema` or `orbit/tools` first to discover the
authoritative ontology and query DSL before writing queries.
## Prerequisites
-`glab auth login` against an instance that has the `knowledge_graph` feature flag enabled
for your user. FF off → every `/api/v4/orbit/*` endpoint returns `404`.
- The instance must have Orbit turned on for at least one top-level group you belong to.
Otherwise `orbit/query` returns `403 No Knowledge Graph enabled namespaces available`.
## Endpoints
All endpoints live under `/api/v4/orbit/*` and are **user-scoped**, not project-scoped.