Skip to content
Skillpedia
Deploy & cloud (DevOps)48k · #3138

gitlab-automation

Lets your agent automate project management in GitLab. Helps control issues, merge requests, and pipelines programmatically.

What it does

This tool helps manage projects in GitLab. You can create, update, and list tasks (issues), manage merge requests, monitor CI/CD pipelines, control branches, and administer users.

When to use it

  • ✓When you need to create a new issue in a project.
  • ✓When you want to see all open merge requests.
  • ✓When you need to create a new branch to work on a feature.

Example of what to ask your AI

“Create a new issue in the 'My Project' project with the title 'Fix bug' and describe the problem.”

Want more? Open the sections below.

How to use

The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.

Skill link

https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/gitlab-automation/SKILL.md

Ready-to-paste message

Use this skill to help me: https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/gitlab-automation/SKILL.md Read the SKILL.md file at that link and follow its instructions for my task.
How it works

The tool connects to GitLab using your credentials. It uses specific commands to interact with GitLab, such as fetching projects, creating issues, or listing branches, to perform the actions you request.

Installation

Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.

In the terminal (Claude Code, Codex, Cursor), in your project folder:

npx skills add sickn33/agentic-awesome-skills --skill gitlab-automation

Or download just the file:

curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/gitlab-automation/SKILL.md -o SKILL.md
Technical content (original SKILL.md)

Original text by the author, straight from GitHub.

GitLab Automation via Rube MCP

Automate GitLab operations including project management, issue tracking, merge request workflows, CI/CD pipeline monitoring, branch management, and user administration through Composio's GitLab toolkit.

Prerequisites

  • Rube MCP must be connected (RUBE_SEARCH_TOOLS available)
  • Active GitLab connection via RUBE_MANAGE_CONNECTIONS with toolkit gitlab
  • Always call RUBE_SEARCH_TOOLS first to get current tool schemas

Setup

Get Rube MCP: Add https://rube.app/mcp as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.

  1. Verify Rube MCP is available by confirming RUBE_SEARCH_TOOLS responds
  2. Call RUBE_MANAGE_CONNECTIONS with toolkit gitlab
  3. If connection is not ACTIVE, follow the returned auth link to complete GitLab OAuth
  4. Confirm connection status shows ACTIVE before running any workflows

Core Workflows

1. Manage Issues

When to use: User wants to create, update, list, or search issues in a GitLab project

Tool sequence:

  1. GITLAB_GET_PROJECTS - Find the target project and get its ID [Prerequisite]
  2. GITLAB_LIST_PROJECT_ISSUES - List and filter issues for a project [Required]
  3. GITLAB_CREATE_PROJECT_ISSUE - Create a new issue [Required for create]
  4. GITLAB_UPDATE_PROJECT_ISSUE - Update an existing issue (title, labels, state, assignees) [Required for update]
  5. GITLAB_LIST_PROJECT_USERS - Find user IDs for assignment [Optional]

Key parameters:

  • id: Project ID (integer) or URL-encoded path (e.g., "my-group/my-project")
  • title: Issue title (required for creation)
  • description: Issue body text (max 1,048,576 characters)
  • labels: Comma-separated label names (e.g., "bug,critical")
  • add_labels / remove_labels: Add or remove labels without replacing all
  • state: Filter by "all", "opened", or "closed"
  • state_event: "close" or "reopen" to change issue state
  • assignee_ids: Array of user IDs; use [0] to unassign all
  • issue_iid: Internal issue ID within the project (required for updates)
  • milestone: Filter by milestone title
  • search: Search in title and description
  • scope: "created_by_me", "assigned_to_me", or "all"
  • page / per_page: Pagination (default per_page: 20)

Pitfalls:

  • id accepts either integer project ID or URL-encoded path; wrong IDs yield 4xx errors
  • issue_iid is the project-internal ID (shown as #42), different from the global issue ID
  • Labels in labels field replace ALL existing labels; use add_labels/remove_labels for incremental changes
  • Setting assignee_ids to empty array does NOT unassign; use [0] instead
  • updated_at field requires administrator or project/group owner rights

2. Manage Merge Requests

When to use: User wants to list, filter, or review merge requests in a project

Tool sequence:

  1. GITLAB_GET_PROJECT - Get project details and verify access [Prerequisite]
  2. GITLAB_GET_PROJECT_MERGE_REQUESTS - List and filter merge requests [Required]
  3. GITLAB_GET_REPOSITORY_BRANCHES - Verify source/target branches [Optional]
  4. GITLAB_LIST_ALL_PROJECT_MEMBERS - Find reviewers/assignees [Optional]

Key parameters:

  • id: Project ID or URL-encoded path
  • state: "opened", "closed", "locked", "merged", or "all"
  • scope: "created_by_me" (default), "assigned_to_me", or "all"
  • source_branch / target_branch: Filter by branch names
  • author_id / author_username: Filter by MR author
  • assignee_id: Filter by assignee (use None for unassigned, Any for assigned)
  • reviewer_id / reviewer_username: Filter by reviewer
  • labels: Comma-separated label filter
  • search: Search in title and description
  • wip: "yes" for draft MRs, "no" for non-draft
  • order_by: "created_at" (default), "title", "merged_at", "updated_at"
  • view: "simple" for minimal fields
  • iids[]: Filter by specific MR internal IDs

Pitfalls:

  • Default scope is "created_by_me" which limits results; use "all" for complete listings
  • author_id and author_username are mutually exclusive
  • reviewer_id and reviewer_username are mutually exclusive
  • approved filter requires the mr_approved_filter feature flag (disabled by default)
  • Large MR histories can be noisy; use filters and moderate per_page values

3. Manage Projects and Repositories

…

FAQ

What is Rube MCP?

Rube MCP is a system that allows the AI to connect and control other tools, like GitLab, without needing complicated API setups.

Do I need API keys to use GitLab?

No, you just need to add the Rube MCP address in your client's configuration and follow the GitLab authorization link to connect your account. No API keys are required.

How do I create a branch?

You can ask to create a new branch, specifying the branch name and which branch or commit it should be copied from.

Details

Original description by the author

Automate GitLab project management, issues, merge requests, pipelines, branches, and user operations via Rube MCP (Composio). Always search tools first for current schemas.

repo: sickn33/agentic-awesome-skills

Popularity

GitHub stars
48k
Ranking position
#3138
License
MIT
Updated
10/15/2026

Is this skill useful?

0

Sign in to vote.

Comments

  • …

More skills from this repository

Similar skills