glab-issue
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.
What this skill does
# glab issue
Create, view, update, and manage GitLab issues.
## Quick start
```bash
# Create an issue
glab issue create --title "Fix login bug" --label bug
# List open issues
glab issue list --state opened
# View issue details
glab issue view 123
# View or comment on an issue/work item from a GitLab URL
glab issue view https://gitlab.com/group/project/-/work_items/123
glab issue note https://gitlab.com/group/project/-/issues/123 -m "Working on this now"
# Add comment
glab issue note 123 -m "Working on this now"
# Close issue
glab issue close 123
```
## Common workflows
### Issue and work item URL inputs
Issue argument parsing accepts GitLab work item URLs in addition to issue URLs where the `glab issue` subcommand resolves an issue argument. This is URL compatibility for issue-style operations such as `view`, `note`, `update`, `close`, and related commands; use `glab work-items` when you need dedicated work item fields or work-item-specific lifecycle behavior.
```bash
glab issue view https://gitlab.com/group/project/-/work_items/123
glab issue note https://gitlab.com/group/project/-/work_items/123 -m "Follow-up note"
glab issue update https://gitlab.com/group/project/-/work_items/123 --label needs-triage
```
### Bug reporting workflow
1. **Create bug issue:**
```bash
glab issue create \
--title "Login fails with 500 error" \
--label bug \
--label priority::high \
--assignee @dev-lead
```
If your project keeps reusable issue templates in-repo, use `--template` to start from a template file instead of pasting recurring boilerplate:
```bash
glab issue create \
--title "Login fails with 500 error" \
--template .gitlab/issue_templates/bug.md \
--label bug
```
2. **Add reproduction steps:**
```bash
glab issue note 456 -m "Steps to reproduce:
1. Navigate to /login
2. Enter valid credentials
3. Click submit
Expected: Dashboard loads
Actual: 500 error"
```
### Issue triage
1. **List untriaged issues:**
```bash
glab issue list --label needs-triage --state opened
```
2. **Update labels and assignee:**
```bash
glab issue update 789 \
--label backend,priority::medium \
--assignee @backend-team \
--milestone "Sprint 23"
```
3. **Remove triage label:**
```bash
glab issue update 789 --unlabel needs-triage
```
**Batch labeling:**
For applying labels to multiple issues at once:
```bash
scripts/batch-label-issues.sh "priority::high" 100 101 102
scripts/batch-label-issues.sh bug 200 201 202 203
```
### Sprint planning
**View current sprint issues:**
```bash
glab issue list --milestone "Sprint 23" --assignee @me
```
**Add to sprint:**
```bash
glab issue update 456 --milestone "Sprint 23"
```
**Board view:**
```bash
glab issue board view
```
### Linking issues to work
**Create MR for issue:**
```bash
glab mr for 456 # Creates MR that closes issue #456
```
**Automated workflow (create branch + draft MR):**
```bash
scripts/create-mr-from-issue.sh 456 --create-mr
```
This automatically: creates branch from issue title → empty commit → pushes → creates draft MR.
**Close via commit/MR:**
```bash
git commit -m "Fix login bug
Closes #456"
```
## Related Skills
**Creating MRs from issues:**
- See `glab-mr` for merge request operations
- Use `glab mr for <issue-id>` to create MR that closes issue
- Script: `scripts/create-mr-from-issue.sh` automates branch creation + draft MR
**Label management:**
- See `glab-label` for creating and managing labels
- Script: `scripts/batch-label-issues.sh` for bulk labeling operations
**Project planning:**
- See `glab-milestone` for release planning
- See `glab-iteration` for sprint/iteration management
## Command reference
For complete command documentation and all flags, see [references/commands.md](references/commands.md).
**Available commands:**
- `create` - Create new issue
- `list` - List issues with filters
- `view` - Display issue details
- `note` - Add comment to issue
- `update` - Update title, labels, assignees, milestone
- `close` - Close issue
- `reopen` - Reopen closed issue
- `delete` - Delete issue
- `subscribe` / `unsubscribe` - Manage notifications
- `board` - Work with issue boards
Related in Productivity
gitea-workflow
IncludedOrchestrate agile development workflows for Gitea repositories using the tea CLI. Use when working with Gitea-hosted repos and asking to 'run the workflow', 'continue working', 'what's next', 'complete the task cycle', 'start my day', 'end the sprint', 'implement the next task', or wanting guided step-by-step development assistance. Keywords: workflow, orchestrate, agile, task cycle, sprint, daily, implement, review, PR, standup, retrospective, gitea, tea.
microsoft-graph-gateway
IncludedRoute Microsoft Graph work in this workspace. Use when users want to read or write Outlook mail, calendar events, contacts, OneDrive or SharePoint files, Teams, Planner, To Do, users, groups, directory data, or arbitrary Microsoft Graph endpoints from VS Code. Prefer WorkIQ for common read scenarios. Use Microsoft Graph for write actions and gap-read scenarios that need exact Graph properties, filters, permissions, or endpoints.
copilotkit
IncludedUse when building with CopilotKit — setup, development, integrations, debugging, upgrading, or contributing. Routes to the appropriate specialized skill based on the task.
wordly-wisdom
IncludedProvides calibrated decision analysis using Charlie Munger-style multiple mental models, inversion, incentive mapping, circle-of-competence checks, misjudgment audits, second-order effects, and forecast updates. Use when the user asks for an oracle take, a hard call, a decision memo, a premortem, an outside view, a red-team, a sanity-check, what am I missing, think this through, or wants a strategy, hire, investment, plan, product, partnership, or major life choice analysed. Avoid for simple factual lookups or time-sensitive legal, medical, or market questions without fresh evidence.
swain-session
IncludedSession management and project status dashboard. Owns the full session lifecycle (start/work/close/resume), focus lane, bookmarks, worktree detection, and tab naming. Also serves as the project status dashboard — shows active epics, progress, actionable next steps, blocked items, tasks, GitHub issues, and recommendations. Worktree creation is deferred to swain-do task dispatch (SPEC-195). Triggers on: 'session', 'status', 'what's next', 'dashboard', 'overview', 'where are we', 'what should I work on', 'show me priorities', 'bookmark', 'focus on', 'session info'.
gandi
IncludedComprehensive Gandi domain registrar integration for domain and DNS management. Register and manage domains, create/update/delete DNS records (A, AAAA, CNAME, MX, TXT, SRV, and more), configure email forwarding and aliases, check SSL certificate status, create DNS snapshots for safe rollback, bulk update zone files, and monitor domain expiration. Supports multi-domain management, zone file import/export, and automated DNS backups. Includes both read-only and destructive operations with safety controls.