CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

orbit-gql-migration

Converts and migrates legacy Orbit JSON DSL queries to Orbit GQL, then checks each converted query read-only against the graph. Legacy queries are objects with query_type, nodes, relationships, or aggregations. Use when a repo, runbook, script, doc, or agent skill contains them. Also use when a `glab orbit query --file` envelope or API body has an object `query`. Also use when a legacy JSON query fails with HTTP 400 compile_error. Do not use for writing new GQL queries (use the orbit skill).

Quality

94%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Low

Low-risk findings worth noting

SKILL.md
Quality
Evals
Security

Quality

Content

88%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A high-quality, highly actionable migration guide: copy-paste-ready commands, an exact construct-to-GQL mapping, worked examples, and an unusually rigorous validation workflow with control queries and cross-source comparison. The only weaknesses are minor — a few duplicated points across the Traps, Mapping, and Rejected constructs sections, and a single-file layout that is starting to outgrow SKILL.md.

Suggestions

Consolidate the duplicated guidance: reserved-word alias renaming appears in both Traps and the `nodes[].id` mapping row, and the postfix `NOT IN` rewrite and `direction: both` behavior each appear in both the Mapping and Rejected constructs tables — state each once and cross-reference it.

If the skill grows further, move the Mapping table and worked examples into a one-level-deep reference file (e.g. references/mapping.md) and keep SKILL.md as the workflow and validation overview.

DimensionReasoningScore

Conciseness

The body is dense and purposeful — no explanations of concepts Claude already knows, and the mapping table is core reference rather than padding — but a few points are stated twice: reserved-word alias renaming appears in both the Traps section and the Mapping rows, and postfix `NOT IN` plus `direction: both` each appear in both the Mapping and Rejected constructs tables. These minor duplications could be consolidated, which fits 'efficient; minor instances that could be trimmed' better than the fully lean anchor.

4 / 5

Actionability

Everything is executable: `rg -l '"query_type"\s*:'` for discovery, `glab orbit query --response-format raw` with jq pipelines for validation, a REST cross-check command, exact GQL syntax for every legacy construct in the mapping table, and two complete worked examples pairing full legacy JSON with full GQL. Nothing is pseudocode or abstract.

5 / 5

Workflow Clarity

The workflow has explicit sequencing with strong validation checkpoints and feedback loops: Step 0 branches on version/auth/network errors, the validation section runs the query, compares against old output or the REST API/`X-Total` header, checks pagination, runs a nonsense-value control query, and probes empty results with a known row, with 'Fix it and rerun' closing the compile-error loop. All steps are explicitly read-only, so the destructive/batch cap does not apply.

5 / 5

Progressive Disclosure

Sections are well-organized with clear headers and inlined core content that is defensible for a temporary migration aid, but at roughly 190 lines it exceeds the under-50-line simple-skill exception: the mapping table and worked examples could be split into a one-level-deep reference file if the skill grows. 'Good structure; most content appropriately placed; minor organization gaps' is the best fit.

4 / 5

Total

18

/

20

Passed

Description

100%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

An exemplary description: it states concrete actions in third-person voice, defines the target artifact structurally, gives multiple explicit natural-language and error-code triggers, and closes with a clear negative boundary against the sibling orbit skill. No changes needed.

DimensionReasoningScore

Specificity

The description lists multiple concrete actions — 'Converts and migrates legacy Orbit JSON DSL queries to Orbit GQL', 'checks each converted query read-only against the graph' — and defines legacy queries structurally ('objects with query_type, nodes, relationships, or aggregations'), giving comprehensive, fully concrete coverage rather than minor-gap coverage.

5 / 5

Completeness

It explicitly answers both questions: the 'what' (convert/migrate legacy queries to GQL, then check each one read-only) and the 'when' via multiple explicit 'Use when' clauses with concrete trigger phrases, plus a negative boundary ('Do not use for writing new GQL queries').

5 / 5

Trigger Term Quality

Triggers cover the natural strings a user would actually encounter: 'a repo, runbook, script, doc, or agent skill contains them', 'a `glab orbit query --file` envelope or API body has an object `query`', and 'a legacy JSON query fails with HTTP 400 compile_error', plus the DSL field names. Coverage is comprehensive with concrete synonyms and exact identifiers.

5 / 5

Distinctiveness Conflict Risk

The niche is unambiguous (deprecated legacy JSON DSL migration only) and it explicitly disambiguates from the closely related sibling skill with 'Do not use for writing new GQL queries (use the orbit skill)', minimizing conflict risk.

5 / 5

Total

20

/

20

Passed

Validation

87%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_version

'metadata.version' is missing

Warning

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

14

/

16

Passed

Repository

gitlabhq/orbit-knowledge-graph

Path

skills/orbit-gql-migration/SKILL.md

Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.