mcpField
G
gitlab-issue

gitlab-issue

github.com/grandcamelDevelopment4103 installsUpdated 40w ago
Repository

About gitlab-issue

gitlab-issue is a skill for managing GitLab issues with the `glab` CLI. It supports issue review, creation, updates, discussion, and status changes for project work tracking.

Key features

  1. 01List and inspect issues
  2. 02Create and update issue details
  3. 03Close or reopen issues
  4. 04Add comments and manage subscriptions

Use cases

  1. 01Triage unassigned issues
  2. 02Create a detailed bug report
  3. 03Update assignees, labels, or milestones
  4. 04Comment on an issue’s progress

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/grandcamel/gitlab-assistant-skills --skill gitlab-issue

After installing, type/gitlab-issuein Claude Code to confirm it loaded.

Details

From the project README

Issue Skill

Issue operations for GitLab using the glab CLI.

Quick Reference

OperationCommandRisk
List issuesglab issue list-
View issueglab issue view <id>-
Create issueglab issue create⚠️
Update issueglab issue update <id>⚠️
Close issueglab issue close <id>⚠️
Reopen issueglab issue reopen <id>⚠️
Delete issueglab issue delete <id>⚠️⚠️
Add noteglab issue note <id>⚠️

Risk Legend: - Safe | ⚠️ Caution | ⚠️⚠️ Warning | ⚠️⚠️⚠️ Danger

When to Use This Skill

ALWAYS use when:

  • User wants to work with issues
  • User mentions "issue", "bug", "task", "ticket" or related terms
  • User wants to track or manage work items

NEVER use when:

  • User wants bulk operations on 10+ issues (use gitlab-bulk instead)
  • User is only searching/filtering issues (use gitlab-search instead)

Available Commands

List Issues
glab issue list [options]

Options:

FlagDescription
-a, --assignee=<user>Filter by assignee (use @me for yourself)
--author=<user>Filter by author
-l, --label=<labels>Filter by comma-separated labels
-m, --milestone=<milestone>Filter by milestone
-s, --state=<state>Filter by state: opened, closed, all (default: opened)
-c, --closedGet only closed issues
--allGet all issues
-P, --per-page=<n>Number of items per page
--confidentialFilter to only confidential issues
--search=<query>Search issues by title/description

Examples:

# List all open issues
glab issue list

# List issues assigned to you
glab issue list --assignee=@me

# List closed issues
glab issue list --closed

# List issues with specific label
glab issue list --label=bug

# List issues in a milestone
glab issue list --milestone="Release 1.0"

# Search issues
glab issue list --search="login bug"

# Get all issues (paginated)
glab issue list --all
View Issue Details
glab issue view <id> [options]

Options:

FlagDescription
-w, --webOpen issue in browser
-c, --commentsShow issue comments
-s, --system-logsShow system activities

Examples:

# View issue in terminal
glab issue view 42

# Open issue in browser
glab issue view 42 --web

# View with comments
glab issue view 42 --comments
Create Issue
glab issue create [options]

Options:

FlagDescription
-t, --title=<title>Issue title
-d, --description=<desc>Issue description
-a, --assignee=<users>Comma-separated assignees
-l, --label=<labels>Comma-separated labels
-m, --milestone=<milestone>Milestone title
--confidentialCreate as confidential
--weight=<n>Issue weight (0-9)
-w, --webOpen in browser after creation
-y, --yesSkip confirmation prompts

Examples:

# Create issue with title
glab issue create -t "Fix login bug"

# Create issue with full details
glab issue create -t "Add dark mode" -d "Implement dark mode toggle" -l "enhancement,ui"

# Create issue with milestone and assignee
glab issue create -t "Release prep" -m "Release 2.0" -a "@me"

# Create confidential issue
glab issue create -t "Security vulnerability" --confidential

# Create and open in browser
glab issue create -t "New feature" --web
Update Issue
glab issue update <id> [options]

Options:

FlagDescription
-t, --title=<title>Update title
-d, --description=<desc>Update description
-a, --assignee=<users>Update assignees
--unassignRemove all assignees
-l, --label=<labels>Add labels
--unlabel=<labels>Remove labels
-m, --milestone=<milestone>Set milestone
--confidentialMark as confidential
--publicMark as public
--lock-discussionLock discussion
--unlock-discussionUnlock discussion

Examples:

# Update title
glab issue update 42 -t "Updated title"

# Add labels
glab issue update 42 -l "priority,reviewed"

# Remove labels
glab issue update 42 --unlabel="needs-review"

# Change assignee
glab issue update 42 -a "username"

# Add to milestone
glab issue update 42 -m "Sprint 5"
Close/Reopen Issue
# Close issue
glab issue close <id>

# Reopen issue
glab issue reopen <id>
Delete Issue
glab issue delete <id>

Warning: This permanently deletes the issue. Use with caution.

Add Note/Comment
glab issue note <id> -m "<message>"

Examples:

# Add comment
glab issue note 42 -m "Working on this now"

# Add closing comment
glab issue note 42 -m "Fixed in !123"
Subscribe/Unsubscribe
# Subscribe to issue notifications
glab issue subscribe <id>

# Unsubscribe
glab issue unsubscribe <id>

Common Workflows

Workflow 1: Triage Issues
# 1. List unassigned issues
glab issue list --assignee=""

# 2. View issue details
glab issue view 42

# 3. Assign and label
glab issue update 42 -a "developer" -l "bug,priority"
Workflow 2: Work on Issue
# 1. Find assigned issues
glab issue list --assignee=@me

# 2. View details
glab issue view 42

# 3. Create branch and work
git checkout -b fix/issue-42

# 4. Add progress note
glab issue note 42 -m "Started work on this"

# 5. Close when MR is merged
glab issue close 42
Workflow 3: Quick Bug Report
# Create issue with all details
glab issue create \
  -t "Login fails with special characters" \
  -d "Steps to reproduce:
1. Enter username with @ symbol
2. Click login
3. Error: 500

Expected: Login succeeds" \
  -l "bug,login"

Troubleshooting

IssueCauseSolution
Authentication failedInvalid/expired tokenRun glab auth login
Issue not foundInvalid ID or no accessVerify ID with glab issue list
Permission deniedInsufficient rightsCheck project permissions
Cannot closeIssue is lockedRequest unlock from maintainer

Related Documentation

Comments

Markdown supported