A Claude Code skill that gives Claude a
self-contained, expert-level reference for GitLab: code repositories, issues and the Work Items
model (epics, tasks, OKRs), labels and scoped labels, milestones, iterations, issue and epic boards,
roadmaps, the glab CLI, and the GitLab REST v4 + GraphQL APIs.
Distilled from the official documentation at docs.gitlab.com (the CLI manual, the REST and GraphQL
API references, the user guide, and the Work Items migration guide), crawled 2026-07-22. The glab
command surface was validated against glab 1.109.0 on 2026-07-24. Statements the docs do not make
are flagged as inferences rather than asserted. GitLab ships changes continuously, so spot-check
anything load-bearing against the live docs or a live glab --help.
GitLab and GitHub look similar but differ in ways that quietly break assumptions: GitLab inserts an
arbitrarily deep group tree between the account and the repo, planning objects live at two
altitudes (project and group), epics are now Work Items (the old Epics REST API is deprecated),
and the API has its own traps (%2F-encoded project paths, iid vs id, a flat requests-per-minute
rate limit). This skill captures those differences so they do not have to be rediscovered. GitHub
equivalents are noted throughout as an onboarding aid for readers coming from GitHub, but the skill
stands on its own.
SKILL.md is the always-loaded quick layer: the projects/groups/subgroups mental model, a
GitHub-to-GitLab translation table, glab and API quick references, the epics-to-Work-Items summary,
and the working rules that matter most (confirm the tier before promising a feature; decide the
project-vs-group altitude before acting; prefer glab over hand-rolled curl).
The reference/ directory holds the deep-dive files, read on demand:
| File | Covers |
|---|---|
reference/01-model-and-hierarchy.md |
Projects vs groups vs subgroups, where every planning object lives, issues and their fields, labels and scoped labels, milestones, iterations and cadences, epics and Work Items, boards, roadmap, weight/health/time, and the Free-tier reality (seat limits, the trial cliff, paid-to-Free substitutions) |
reference/02-glab-cli.md |
The glab CLI: install, auth, the full command surface, issue / mr / ci / api, gh-to-glab mappings, and gotchas |
reference/03-api.md |
REST v4 and GraphQL: endpoints, the project-path encoding trap, iid vs id, pagination, tokens and scopes, rate limits, and runnable curl examples |
As a user-level skill (available in every project):
git clone https://github.com/Corvalon/skill-gitlab.git ~/.claude/skills/skill_gitlabOr as a project-level skill (scoped to one repository):
git clone https://github.com/Corvalon/skill-gitlab.git <your-project>/.claude/skills/skill_gitlabClaude Code auto-loads the skill when a task matches its trigger keywords (GitLab, glab, merge
request, epic, Work Item, scoped label, %2F path encoding, and so on). No configuration is required.
- Tier gating is real. Many planning features (iterations, weight, scoped labels, blocking issue links, multiple assignees, epics, roadmaps) are Premium or Ultimate. On Free they do not exist. The reference marks the tier on each feature; confirm it before designing a workflow around one.
- Version-dated facts. A few details reflect recent GitLab releases (for example, epics becoming a
Work Item type, and the unified
/-/work_items/URLs). These are cited from GitLab's own version history; verify against your instance's version if it matters. - The CLI is the authority for flags. The command surface is validated against glab 1.109.0, but a
live
glab <command> --helpis always the byte-exact source for the version you have installed.
MIT. See LICENSE.