From gitlab-issues
Use this skill when the user mentions "gitlab issues", "list issues", "show issues", "my issues", "milestone", "sprint", "create issue", "update issue", "assign issue", or wants to manage GitLab issues.
How this skill is triggered — by the user, by Claude, or both
Slash command
/gitlab-issues:gitlab-issuesThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Manage GitLab issues using bash scripts. Create issues, create sub-issues, list issues, read comments, post updates, assign people, and create merge requests from issues.
Manage GitLab issues using bash scripts. Create issues, create sub-issues, list issues, read comments, post updates, assign people, and create merge requests from issues.
Call bash scripts directly via the Bash tool. No MCP server required.
Scripts location: ~/.claude/plugins/cache/awesome-agent-toolkit/gitlab-issues/1.2.1/core/scripts/
IMPORTANT: Environment variables must be set. Check with:
echo $GITLAB_HOST_URL $GITLAB_TOKEN $GITLAB_PROJECT_ID
If empty, add them to ~/.claude/settings.json under env:
{
"env": {
"GITLAB_HOST_URL": "https://gitlab.com",
"GITLAB_TOKEN": "glpat-xxxxxxxxxxxx",
"GITLAB_PROJECT_ID": "12345678"
}
}
Set PLUGIN_DIR=~/.claude/plugins/cache/awesome-agent-toolkit/gitlab-issues/1.2.1
# Create a simple issue (title only)
bash $PLUGIN_DIR/core/scripts/create-issue.sh '{"title": "Fix login bug"}'
# Create issue with description and labels
bash $PLUGIN_DIR/core/scripts/create-issue.sh '{"title": "Add dark mode", "description": "Implement dark mode toggle in settings", "labels": "feature,ui"}'
# Create issue with full details
bash $PLUGIN_DIR/core/scripts/create-issue.sh '{"title": "API rate limiting", "description": "Add rate limiting to public endpoints", "labels": "backend,security", "assignee_ids": [12], "milestone_id": 8, "due_date": "2025-03-01", "weight": 3}'
# Create a confidential issue
bash $PLUGIN_DIR/core/scripts/create-issue.sh '{"title": "Security vulnerability", "description": "Details...", "confidential": true}'
Returns created issue details including IID, URL, assignees, and labels.
# Create a sub-issue linked to parent issue #45
bash $PLUGIN_DIR/core/scripts/create-sub-issue.sh 45 '{"title": "Implement login form validation"}'
# Create sub-issue with description and labels
bash $PLUGIN_DIR/core/scripts/create-sub-issue.sh 45 '{"title": "Add unit tests for auth", "description": "Cover edge cases", "labels": "testing"}'
# Create sub-issue with assignee
bash $PLUGIN_DIR/core/scripts/create-sub-issue.sh 45 '{"title": "Update API docs", "assignee_ids": [15], "labels": "docs"}'
Creates a new issue and links it as a child of the parent issue. On GitLab Premium 16.0+ uses native parent/child hierarchy; otherwise falls back to a "relates_to" link.
# List open issues (default)
bash $PLUGIN_DIR/core/scripts/list-issues.sh
# List closed issues
bash $PLUGIN_DIR/core/scripts/list-issues.sh closed
# List all issues
bash $PLUGIN_DIR/core/scripts/list-issues.sh all
# List issues from a specific milestone
bash $PLUGIN_DIR/core/scripts/list-issues.sh opened "Sprint 23"
bash $PLUGIN_DIR/core/scripts/get-issue-details.sh 45
Returns full issue details including description, assignees, labels, milestone.
bash $PLUGIN_DIR/core/scripts/get-issue-comments.sh 45
bash $PLUGIN_DIR/core/scripts/post-issue-comment.sh 45 "Your comment here"
# Update description
bash $PLUGIN_DIR/core/scripts/update-issue.sh 45 --description "New description"
# Assign users (by user ID)
bash $PLUGIN_DIR/core/scripts/update-issue.sh 45 --assignee-ids "12,15"
# Set milestone (by milestone ID)
bash $PLUGIN_DIR/core/scripts/update-issue.sh 45 --milestone-id 8
# Add labels
bash $PLUGIN_DIR/core/scripts/update-issue.sh 45 --labels "bug,urgent"
# Close issue
bash $PLUGIN_DIR/core/scripts/update-issue.sh 45 --state-event close
bash $PLUGIN_DIR/core/scripts/list-milestones.sh
Use this to find milestone IDs for filtering or assigning.
bash $PLUGIN_DIR/core/scripts/list-project-members.sh
Use this to find user IDs for assigning issues.
bash $PLUGIN_DIR/core/scripts/create-mr-from-issue.sh 45 feature/my-branch
Creates a merge request linked to the issue. Merging will auto-close the issue.
When user asks "show issues in Sprint 23":
bash $PLUGIN_DIR/core/scripts/list-milestones.sh to find milestonebash $PLUGIN_DIR/core/scripts/list-issues.sh opened "Sprint 23"When user asks about a specific issue:
bash $PLUGIN_DIR/core/scripts/get-issue-details.sh <iid>bash $PLUGIN_DIR/core/scripts/post-issue-comment.sh <iid> "comment"When user asks to assign an issue:
bash $PLUGIN_DIR/core/scripts/list-project-members.sh to find user IDbash $PLUGIN_DIR/core/scripts/update-issue.sh <iid> --assignee-ids "<user_id>"When user asks to create and assign an issue:
bash $PLUGIN_DIR/core/scripts/list-project-members.sh to find user IDbash $PLUGIN_DIR/core/scripts/list-milestones.sh to find milestone ID (if needed)bash $PLUGIN_DIR/core/scripts/create-issue.sh '{"title": "...", "assignee_ids": [<user_id>], "milestone_id": <milestone_id>}'When user asks to split an issue into tasks:
bash $PLUGIN_DIR/core/scripts/get-issue-details.sh <parent_iid> to understand the parentbash $PLUGIN_DIR/core/scripts/create-sub-issue.sh <parent_iid> '{"title": "Sub-task title", "description": "..."}'bash $PLUGIN_DIR/core/scripts/get-issue-details.sh <parent_iid> to see linked issuesPresent issues as a table:
| IID | Title | State | Assignees | Labels | Milestone |
|---|---|---|---|---|---|
| #45 | Fix login timeout | opened | @alice | bug, urgent | Sprint 23 |
npx claudepluginhub covayurt/awesome-agent-toolkit --plugin gitlab-issuesManages full GitHub issue lifecycle: create with conventional commit titles, sub-issues, cross-repo links, edit/view/list, dump trees to markdown/YAML, push from files, comment/label/close.
Automates GitLab project management, issues, merge requests, pipelines, branches, and user operations via Rube MCP (Composio). Always searches tools first for current schemas.
Automates GitLab projects, issues, merge requests, pipelines, branches, and users via Composio toolkit over Rube MCP. Use for managing repos, CI/CD, and workflows after connecting GitLab OAuth.