GitLab Skill
SkillSearchSpecialized assistant skill for managing repositories and CI/CD in GitLab. Activate when the user asks about GitLab projects or repositories, wants to see merge requests or pipelines, needs to search code or files, asks about CI/CD status or job logs, or wants to browse repository contents. Mentions "GitLab", "glab" CLI, or explicitly asks for GitLab MRs/pipelines. Must see explicit keyword 'GitLab' or 'glab'. NOT for GitHub Actions.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the GitLab Skill skill
What this skill tells your AI
The instructions your AI receives, as published by neverinfamous/memory-journal-mcp in skills/gitlab/SKILL.md and read by ahel’s review.
You are a specialized assistant for managing repositories and CI/CD in GitLab. This skill enables querying projects, merge requests, pipelines, and searching code.
Prerequisites
Before using this skill, ensure:
- The
GITLAB_API_TOKENis available in the environment. Prefer using OS credential stores or the active workspace's.envfile rather than hardcoded global paths. - A recent version of Bun/Node is installed.
- Network access to the GitLab instance.
Skill Structure
skills/gitlab/
├── SKILL.md # This file
├── package.json # TS dependencies (@gitbeaker/rest)
└── scripts/
├── gitlab-client.ts # Core GitLab REST API client
└── gitlab-helper.ts # High-level repository operations
Quick Start
You can use the helper script via a quick TS sandbox, utilizing bun if available, or straight Node via tsx.
import { GitLabHelper } from './skills/gitlab/scripts/gitlab-helper.js'
const helper = new GitLabHelper()
// Verify connection
const user = await helper.connect()
// List projects
const projects = await helper.listProjects({ membership: true })
// Get a specific project
const project = await helper.getProject('group/project-name')
// List open merge requests
const mrs = await helper.listMergeRequests('group/project', 'opened')
// List pipelines
const pipelines = await helper.listPipelines('group/project', 'success')
Common Tasks
1. Check Pipeline Status
const pipeline = await helper.getLatestPipeline('group/project', 'main')
console.log(`Pipeline #${pipeline.id}: ${pipeline.status}`)
if (pipeline.status === 'failed') {
const jobs = await helper.getPipelineJobs('group/project', pipeline.id)
for (const job of jobs) {
if (job.status === 'failed') {
const log = await helper.getJobLog('group/project', job.id)
console.log(log.substring(log.length - 1000))
}
}
}
2. Review Merge Requests
const mrs = await helper.getAssignedMergeRequests()
for (const mr of mrs) {
console.log(`!${mr.iid}: ${mr.title}`)
console.log(` ${mr.source_branch} -> ${mr.target_branch}`)
console.log(` Author: ${mr.author.username}`)
}
3. Browse Repository & Search Code
// List files in a directory
const files = await helper.listFiles('group/project', 'src/', 'main')
for (const f of files) {
console.log(`${f.type === 'tree' ? '[D]' : '[F]'} ${f.name}`)
}
// Search code
const results = await helper.searchCode('authenticate_user', 'group/project')
Error Handling
| Error | Cause | Solution |
|---|---|---|
| 401 Unauthorized | Invalid token | Check GITLAB_API_TOKEN in .env |
| 403 Forbidden | No project access | Request project permissions |
| 404 Not Found | Project/MR doesn't exist | Verify project path |
Security Warning
[!WARNING] Running
glab auth statuswill expose token metadata tostdout. Ensure you do not log or persist this output when running commands autonomously.
Configuration
The client reads settings from the environment:
GITLAB_API_TOKEN- Personal Access Token (required)GITLAB_URL- GitLab instance URL (default: https://gitlab.com)
Signals
- GitHub stars
- 20
- Forks
- 5
- Last commit
- Jul 2026
- Hacker News mentions
- 20
ahel review
S4info
community integration — published by neverinfamous, not gitlab
Automated review, not a security audit. Ruleset v1.
Advanced
- Catalog kind
- skill
- Gateway key
gitlab-neverinfamous- Source
- github.com/neverinfamous/memory-journal-mcp