MCPInstall

glab-quick-actions

Use GitLab quick actions — text-based slash commands in comments, descriptions, and MR/issue bodies — via glab CLI. Quick actions execute automatically when saved. Multiple commands can be combined in one comment, making them powerful for batching state changes in a single API call. Triggers on quick actions, slash commands, batch update, /assign, /label, /merge, /approve, /close, /estimate.

Installs
101
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/vince-winkintel/gitlab-cli-skills --skill glab-quick-actions
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads glab-quick-actions automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

glab quick-actions

Use GitLab quick actions (slash commands) via the glab CLI to batch multiple state changes in a single API call.

Quick start

# Post a single quick action on an issue
glab issue note 123 -m "/assign @alice"

# Batch multiple quick actions in one comment
glab issue note 123 -m "/assign @alice
/label ~bug ~priority::high
/milestone %\"Sprint 5\""

# Post quick actions on a merge request
glab mr note 456 -m "/assign_reviewer @bob
/label ~needs-review
/estimate 2h"

Key concept: batching via CLI

While glab has native commands for many individual operations (glab issue update, glab mr update, etc.), posting quick actions via glab issue note or glab mr note lets you batch multiple state changes atomically in a single API call.

# Native commands — 3 separate API calls
glab issue update 123 --assignee @alice
glab issue update 123 --label bug,priority::high
glab issue update 123 --milestone "Sprint 5"

# Quick actions — 1 API call, same result
glab issue note 123 -m "/assign @alice
/label ~bug ~priority::high
/milestone %\"Sprint 5\""

When batching is the right choice:

  • Applying 3+ changes to a single issue/MR
  • Scripting triage workflows across multiple items
  • Triggering actions not exposed by glab update flags (e.g., /spend, /epic, /promote_to)

Syntax rules

RuleDetail
PrefixEvery quick action starts with /
CaseCase-insensitive (/Assign = /assign)
PlacementOne command per line; can appear anywhere in a comment/description
ParametersSeparated by space after the command name
LabelsPrefix with ~ (e.g., ~bug, ~"priority::high")
MilestonesPrefix with % (e.g., %"Sprint 5")
UsersPrefix with @ (e.g., @alice, @me)
MR/Issue refsPrefix with # for same-project, group/project#IID for cross-project
EpicsPrefix with & (e.g., &42)
QuotingUse quotes for multi-word values: ~"priority::high", %"Sprint 5"
Ignored textNon-quick-action lines are posted as normal comment text

Issue quick actions

Assignment

CommandParametersDescription
/assign@user [@user2 ...]Assign one or more users
/unassign@user [@user2 ...] or noneRemove specific assignees or clear all
/reassign@user [@user2 ...]Replace all assignees with given users
glab issue note 123 -m "/assign @alice @bob"
glab issue note 123 -m "/reassign @charlie"
glab issue note 123 -m "/unassign"

Labels

CommandParametersDescription
/label~label1 ~label2 ...Add labels
/unlabel~label1 ... or noneRemove specific labels or clear all
/relabel~label1 ...Replace all labels with given ones
glab issue note 123 -m "/label ~bug ~\"priority::high\""
glab issue note 123 -m "/relabel ~\"type::feature\""
glab issue note 123 -m "/unlabel ~needs-triage"

Milestone & scheduling

CommandParametersDescription
/milestone%milestoneSet milestone
/remove_milestone—Remove milestone
/due<date>Set due date (YYYY-MM-DD, tomorrow, next week)
/remove_due_date—Remove due date
glab issue note 123 -m "/milestone %\"Sprint 5\""
glab issue note 123 -m "/due 2024-03-31"
glab issue note 123 -m "/due next week"

Time tracking

CommandParametersDescription
/estimate<time>Set time estimate (e.g., 1h30m, 3d)
/remove_estimate—Remove time estimate
/spend<time> [<date>]Log time spent (e.g., 2h, -30m to subtract)
/remove_time_spent—Remove all time spent
glab issue note 123 -m "/estimate 4h"
glab issue note 123 -m "/spend 1h30m 2024-03-15"
glab issue note 123 -m "/spend -30m"

State changes

CommandParametersDescription
/close—Close the issue
/reopen—Reopen a closed issue
/confidential—Make issue confidential
/done—Mark as done (for todos)
/todo—Add to your to-do list
glab issue note 123 -m "/close"
glab issue note 123 -m "/reopen"

Relations

CommandParametersDescription
/duplicate#issueMark as duplicate of another issue
/relate#issue [#issue2 ...]Add related issue links
/blocks#issue [#issue2 ...]This issue blocks others
/blocked_by#issue [#issue2 ...]This issue is blocked by others
/unrelate#issueRemove relation to another issue
glab issue note 123 -m "/duplicate #456"
glab issue note 123 -m "/relate #789 #790"
glab issue note 123 -m "/blocks #800"

Planning & hierarchy

CommandParametersDescription
/epic&epic or group&epicAdd to epic
/remove_epic—Remove from epic
/iteration*iteration:"name"Set iteration/sprint
/remove_iteration—Remove iteration
/weight<number>Set issue weight
/clear_weight—Clear issue weight
/health_statuson_track, needs_attention, at_riskSet health status
/clear_health_status—Remove health status
/board_move~list-labelMove issue to board list
glab issue note 123 -m "/epic &42"
glab issue note 123 -m "/iteration *iteration:\"Sprint 7\""
glab issue note 123 -m "/weight 3"
glab issue note 123 -m "/health_status on_track"

Advanced

CommandParametersDescription
/copy_metadata#issue or !mrCopy labels and milestone from another item
/clone[path/to/project]Clone issue to another project
/movepath/to/projectMove issue to another project
/create_merge_request[branch-name]Create MR from this issue
/promote_toincident or epicPromote issue to another type
glab issue note 123 -m "/copy_metadata #456"
glab issue note 123 -m "/move group/other-project"
glab issue note 123 -m "/create_merge_request 123-my-feature"
glab issue note 123 -m "/promote_to incident"

MR quick actions

Approval

CommandParametersDescription
/approve—Approve the MR
/unapprove—Remove your approval
glab mr note 456 -m "/approve"

Assignment

CommandParametersDescription
/assign@user [@user2 ...]Assign MR to one or more users
/unassign@user ... or noneRemove assignees
/reassign@user ...Replace all assignees
/assign_reviewer@user [@user2 ...]Add reviewer(s)
/unassign_reviewer@user ... or noneRemove reviewer(s)
/reassign_reviewer@user ...Replace all reviewers
/request_review@user [@user2 ...]Request review from user(s)
glab mr note 456 -m "/assign_reviewer @alice @bob
/label ~needs-review"

Labels & milestone

CommandParametersDescription
/label~label1 ...Add labels
/unlabel~label1 ... or noneRemove labels
/relabel~label1 ...Replace all labels
/milestone%milestoneSet milestone
/remove_milestone—Remove milestone

Time tracking

CommandParametersDescription
/estimate<time>Set time estimate
/remove_estimate—Remove time estimate
/spend<time> [<date>]Log time spent
/remove_time_spent—Remove all time spent

Merge control

CommandParametersDescription
/merge—Merge when pipeline succeeds
/draft—Mark MR as draft
/ready—Mark MR as ready for review
/rebase—Rebase source branch on target
/squash—Enable squash on merge
/target_branch<branch>Change target branch
glab mr note 456 -m "/approve
/merge"

glab mr note 456 -m "/draft"
glab mr note 456 -m "/ready
/assign_reviewer @lead"

State & other

CommandParametersDescription
/close—Close the MR
/reopen—Reopen a closed MR
/copy_metadata#issue or !mrCopy labels and milestone from another item
/react:emoji:Add emoji reaction
/title<new title>Change MR title
/todo—Add to your to-do list
/done—Mark todo as done
/subscribe—Subscribe to MR notifications
/unsubscribe—Unsubscribe from MR notifications
/relate#issue [#issue2 ...]Add related issue links
/blocks#issue [#issue2 ...]This MR blocks issues
/blocked_by#issue [#issue2 ...]This MR is blocked by issues

When to use quick actions vs native glab commands

ScenarioRecommended approach
Single field updateglab issue update / glab mr update (explicit flags)
3+ changes at onceQuick actions batch in one comment
Action not in update flagsQuick actions (e.g., /spend, /epic, /promote_to, /rebase)
Scripting triage of many itemsLoop with glab issue note quick actions
Need flag autocompleteNative glab update commands
Audit trail via commentQuick actions (visible in activity feed)
Approve + merge atomically/approve then /merge in same comment

Decision guide

Do you need to update a single field?
├─ Yes → Use native glab command (e.g., glab issue update --label)
│
├─ No, multiple fields at once?
│   ├─ 2-3 fields supported by --flags → native glab update
│   └─ 3+ fields OR unsupported fields → quick actions batch
│
└─ Is the action not available in glab update?
    └─ Yes → Quick actions only (e.g., /spend, /epic, /promote_to, /rebase, /merge)

Automation examples

Triage script: label + assign + milestone in one pass

#!/usr/bin/env bash
# triage-issues.sh — apply triage metadata to a list of issue IDs
# Usage: ./triage-issues.sh 123 456 789

ASSIGNEE="${ASSIGNEE:-@me}"
LABEL="${LABEL:-~needs-triage}"
MILESTONE="${MILESTONE:-%\"Sprint 5\"}"

for IID in "$@"; do
  glab issue note "$IID" -m "/assign $ASSIGNEE
/label $LABEL
/milestone $MILESTONE"
  echo "Triaged #$IID"
done

Bulk close stale issues

#!/usr/bin/env bash
# close-stale.sh — close all issues with label ~stale
glab issue list --label stale --state opened --output json \
  | jq -r '.[].iid' \
  | while read -r IID; do
      glab issue note "$IID" -m "/close
/unlabel ~stale"
      echo "Closed #$IID"
    done

MR ready for review + assign reviewer

#!/usr/bin/env bash
# ready-for-review.sh — mark current branch MR ready and request review
MR_IID=$(glab mr list --source-branch "$(git branch --show-current)" --output json | jq -r '.[0].iid')

glab mr note "$MR_IID" -m "/ready
/assign_reviewer @team-lead
/label ~needs-review"
echo "MR !$MR_IID marked ready"

Time tracking: log spent time from CLI

#!/usr/bin/env bash
# log-time.sh — log time spent on an issue
# Usage: ./log-time.sh 123 2h30m "2024-03-15"
IID="$1"
TIME="$2"
DATE="${3:-}"

if [[ -n "$DATE" ]]; then
  glab issue note "$IID" -m "/spend $TIME $DATE"
else
  glab issue note "$IID" -m "/spend $TIME"
fi
echo "Logged $TIME on #$IID"

Sprint rotation: move issues to next milestone

#!/usr/bin/env bash
# rotate-sprint.sh — move open issues from one milestone to the next
OLD_MILESTONE="Sprint 5"
NEW_MILESTONE="Sprint 6"

glab issue list --milestone "$OLD_MILESTONE" --state opened --output json \
  | jq -r '.[].iid' \
  | while read -r IID; do
      glab issue note "$IID" -m "/milestone %\"$NEW_MILESTONE\""
      echo "Moved #$IID to $NEW_MILESTONE"
    done

Approve and queue merge

# Approve an MR and queue it to merge when pipeline passes
glab mr note 456 -m "/approve
/merge"

Notes & limitations

  • Quick actions that require specific permissions (e.g., /merge, /approve) will silently fail if you lack the role.
  • /merge queues the MR to merge when the pipeline succeeds — it does not force-merge immediately.
  • Quick actions in issue/MR descriptions are processed on creation and on edit.
  • Some quick actions are only available on specific GitLab tiers (e.g., /epic, /iteration, /weight, /health_status require GitLab Premium or Ultimate).
  • Quick actions posted as comments are not editable after the fact — post a corrective comment if needed.
  • The glab CLI does not validate quick action syntax before posting — check for typos in user/label names.

Related sub-skills

  • glab-issue — native issue create/update/close commands
  • glab-mr — native MR create/update/approve/merge commands
  • glab-label — manage labels before using /label
  • glab-milestone — manage milestones before using /milestone
  • glab-iteration — manage iterations before using /iteration

References

FAQ

What does the glab-quick-actions skill do?

Use GitLab quick actions — text-based slash commands in comments, descriptions, and MR/issue bodies — via glab CLI. Quick actions execute automatically when saved. Multiple commands can be combined in one comment, making them powerful for batching state changes in a single API call. Triggers on quick actions, slash commands, batch update, /assign, /label, /merge, /approve, /close, /estimate.

How do I install glab-quick-actions?

Run npx skills add https://github.com/vince-winkintel/gitlab-cli-skills --skill glab-quick-actions in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/glab-quick-actions/ (personal) or .claude/skills/glab-quick-actions/ (project).

Which AI agents can use glab-quick-actions?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is glab-quick-actions safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains glab-quick-actions?

It is published by vince-winkintel in vince-winkintel/gitlab-cli-skills. It has 101 recorded installs.

More from vince-winkintel/gitlab-cli-skills

View all →

gitlab-cli-skills

vince-winkintel/gitlab-cli-skills

Comprehensive GitLab CLI (glab) command reference and workflows for all GitLab operations via terminal. Use when user mentions GitLab CLI, glab commands, GitLab automation, MR/issue management via CLI, CI/CD pipeline commands, Artifact Registry token exchange, repo operations, authentication setup, or any GitLab terminal operations. Routes to specialized sub-skills for auth, CI, MRs, issues, releases, repos, and 30+ other glab commands. Triggers on glab, GitLab CLI, GitLab commands, GitLab terminal, GitLab automation.

DevOps & Cloud1.9K installs

glab-mr

vince-winkintel/gitlab-cli-skills

Create, view, manage, approve, and merge GitLab merge requests. Use when working with MRs: creating from branches/issues, reviewing, approving, adding comments, resolving discussion threads, checking out locally, viewing diffs, rebasing, merging, or managing state. Triggers on merge request, MR, pull request, PR, review, approve, merge, resolve thread.

glab-ci

vince-winkintel/gitlab-cli-skills

Open the skill to read its SKILL.md instructions.

DevOps & Cloud145 installs

glab-api

vince-winkintel/gitlab-cli-skills

Make direct GitLab REST API calls for advanced queries and operations not covered by other glab commands. Use when accessing GitLab API endpoints directly, making custom API requests, or fetching data in JSON format. Triggers on API call, REST API, GitLab API, JSON query, advanced query.

Backend & APIs143 installs

glab-auth

vince-winkintel/gitlab-cli-skills

Open the skill to read its SKILL.md instructions.

Backend & APIs131 installs

glab-issue

vince-winkintel/gitlab-cli-skills

Create, view, update, and manage GitLab issues. Use when working with issue tracking, bug reports, feature requests, or task management. Operations include creating issues, listing with filters, viewing details, adding comments/notes, updating labels/assignees/milestones, closing/reopening, and board management. Triggers on issue, bug, task, ticket, feature request, list issues, create issue.

Popular backend & apis skills

View category →

find-skills

vercel-labs/skills

Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.

OfficialBackend & APIs4.1M installs

entra-app-registration

microsoft/azure-skills

Guides Microsoft Entra ID app registration, OAuth 2.0 authentication, and MSAL integration. USE FOR: create app registration, register Azure AD app, configure OAuth, set up authentication, add API permissions, generate service principal, MSAL example, console app auth, Entra ID setup, Azure AD authentication. DO NOT USE FOR: Key Vault secrets (use azure-keyvault-expiration-audit), general Azure resource security guidance.

OfficialBackend & APIs566.7K installs

This skill should be used when the user wants to "write agent code", "build an agent with ADK", "add a tool", "create a callback", "define an agent", "use state management" — in a project that needs ADK (Agent Development Kit) API patterns and code examples. It provides a quick reference for agent types, tool definitions, orchestration patterns, callbacks, state management, the graph Workflow API, and reference recipes to study. Do NOT use for scaffolding (use google-agents-cli-scaffold) or deployment (use google-agents-cli-deploy).

Backend & APIs514.8K installs

embedded-captions

heygen-com/hyperframes

Add captions or subtitles to an existing single-subject talking-head video without editing the footage. Use for plain verbatim captions, cinematic captions embedded behind the subject, VFX captions, “炸/特效/酷炫字幕,” or a named identity from the 35-style catalog. Route by visual identity, not by backend engine. The quiet anchor rail is the default; embed every word only when the user explicitly wants a fully cinematic treatment. The workflow runs locally end to end, including transcription and subject matting; split multi-shot footage before applying it.

Backend & APIs453.3K installs

entra-agent-id

microsoft/azure-skills

Provision Microsoft Entra Agent Identity Blueprints, BlueprintPrincipals, and per-instance Agent Identities via Microsoft Graph, and configure OAuth 2.0 token exchange (fmipath, OBO, cross-tenant) including the Microsoft Entra SDK for AgentID sidecar. USE FOR: Agent Identity Blueprint, BlueprintPrincipal, agent OAuth, fmipath token exchange, agent OBO, Workload Identity Federation for agents, polyglot agent auth, Microsoft.Identity.Web.AgentIdentities. DO NOT USE FOR: standard Entra app registration (use entra-app-registration), Microsoft Foundry agent authoring (use microsoft-foundry).

OfficialBackend & APIs336.6K installs

neon

neondatabase/agent-skills

Overview of Neon, a complete set of cloud backend primitives around Lakebase Postgres: Auth, Object Storage, Functions, the AI Gateway, and Realtime. Start here to choose Neon for undecided login, files, APIs, and LLM calls, set up the CLI or MCP server, and follow the branch-first workflow. Use when building an app or backend on Neon, or when "Neon" or "Lakebase Postgres" is mentioned. Child skill neon-postgres wins for an existing DATABASEURL, SQL, schema, inspect, or search. Child skill neon-auth wins for login, users, sessions, identity routing, and Managed Better Auth setup. Child skill neon-realtime wins for live queries in reactive apps and agents. Also use for object storage, S3, buckets, serverless functions, function triggers, cron, AI gateway, LLM calls, realtime, logs, Loki, Grafana, observability, postgres, database, backend, Claimable Neon, neon.new, or a no-signup database.

Backend & APIs237.1K installs