AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Gitlab

skill-microsoft-hve-core-gitlab · by microsoft

Manage GitLab merge requests and pipelines with a Python CLI

No reviews yet
0 installs
22 views
0.0% view→install

Install

$ agentstack add skill-microsoft-hve-core-gitlab

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-microsoft-hve-core-gitlab)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
1mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Gitlab? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

GitLab Skill

Overview

Use this skill to inspect and update GitLab merge requests, notes, pipelines, and job logs against GitLab.com or self-managed GitLab instances.

This skill is the repository-local Python workflow for GitLab tasks. It is not the official GitLab MCP server integration surface.

This first hve-core implementation is Python-only. Run the CLI through python scripts/gitlab.py and prefer --fields for read operations to keep output concise.

Prerequisites

The skill requires Python 3.11 or later.

Set these environment variables before running any command:

| Variable | Required | Example | Purpose | |------------------|----------|----------------------|-----------------------------------------------| | GITLAB_URL | Yes | https://gitlab.com | GitLab instance URL | | GITLAB_TOKEN | Yes | glpat-... | Personal access token sent as PRIVATE-TOKEN | | GITLAB_PROJECT | No | group/project | Project path or numeric project ID |

If GITLAB_PROJECT is not set, the script attempts to detect the project from git remote get-url origin. Set the variable explicitly when you are not in a git repository or when you want to target a different project.

Quick Start

Export your environment variables, then run a read command with --fields.

export GITLAB_URL="https://gitlab.com"
export GITLAB_TOKEN="glpat-..."
export GITLAB_PROJECT="group/project"

python scripts/gitlab.py mr-list opened --fields iid,title,author.name

Read pipeline jobs for a known pipeline:

python scripts/gitlab.py pipeline-jobs 12345 --fields id,name,status,stage

Parameters Reference

Common Option

| Parameter | Applies To | Example | Description | |------------|------------------------------------------------------------------|----------------------------|-----------------------------------------------------------------------------------------| | --fields | mr-list, mr-get, mr-notes, pipeline-get, pipeline-jobs | --fields iid,title,state | Extract specific fields with dot notation and print concise tabular or key-value output |

Commands

| Command | Arguments | Description | |-----------------|----------------------------|------------------------------------------------------------------------| | mr-list | [state] [max] | List merge requests, defaulting to all states and 20 results | | mr-get | ` | Get one merge request by project-scoped IID | | mr-create | or stdin | Create a merge request from a JSON payload | | mr-update | or stdin | Update merge request fields from a JSON payload | | mr-comment | or stdin | Add a comment to a merge request | | mr-notes | [max] | List merge request notes, excluding system notes when using --fields | | pipeline-get | | Get one pipeline by numeric ID | | pipeline-run | | Trigger a pipeline for a branch or tag | | pipeline-jobs | | List jobs for a pipeline | | job-log | ` | Print raw log output for a job |

Script Reference

List recent open merge requests:

python scripts/gitlab.py mr-list opened --fields iid,title,author.name,user_notes_count

Get one merge request:

python scripts/gitlab.py mr-get 42 --fields iid,title,state,source_branch,target_branch

Create a merge request from inline JSON:

python scripts/gitlab.py mr-create '{
  "source_branch": "feature/add-auth",
  "target_branch": "main",
  "title": "feat(auth): add OAuth login"
}'

Add a merge request comment from standard input:

echo "CI passed. Ready for review." | python scripts/gitlab.py mr-comment 42

Inspect a failed pipeline:

python scripts/gitlab.py pipeline-get 12345 --fields id,status,web_url
python scripts/gitlab.py pipeline-jobs 12345 --fields id,name,status,stage
python scripts/gitlab.py job-log 67890

Troubleshooting

| Symptom | Cause | Resolution | |--------------------------------------------------|-----------------------------------------------|-------------------------------------------------------------| | GITLAB_URL is not set | Required environment variable missing | Export GITLAB_URL before running the script | | GITLAB_TOKEN is not set | Missing personal access token | Create a token with API access and export GITLAB_TOKEN | | cannot parse git remote URL | Project autodetection failed | Set GITLAB_PROJECT explicitly | | HTTP 401 or HTTP 403 | Token is invalid or lacks access | Verify token scope and project permissions | | HTTP 404 | Wrong project, MR IID, pipeline ID, or job ID | Verify GITLAB_PROJECT and confirm the numeric identifiers | | expected numeric ID | Non-numeric value passed to an ID argument | Use project MR IID values and numeric pipeline or job IDs | | python3 is required or syntax errors on launch | Unsupported interpreter | Run the script with Python 3.11 or later |

GitLab uses MR IIDs such as !42 inside a project. This skill expects the numeric IID, not the global merge request ID.

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.