skills/gitlab-issue-creator/SKILL.md
Create GitLab issues from natural-language requirements with preview-first confirmation and safe metadata selection. Use when the user says "GitLab 이슈 만들어줘", "issue 생성해줘", "이 요구사항으로 이슈 등록해줘", or asks to run `glab issue create`. Resolve the target repo explicitly, fetch project labels/users/milestones/templates before drafting, and only create after the user confirms the preview. Do not use when glab auth is unavailable for the target host or when the target is not a GitLab project.
npx skillsauth add gihwan-dev/claude-setup gitlab-issue-creatorInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Create GitLab issues from a requirement brief without guessing repo metadata.
Always preview the final title, body, labels, assignee, and milestone before
running glab issue create.
Run auth and target resolution first.
glab auth status
python3 ${SKILL_DIR}/scripts/project_context.py --repo "<optional repo or GitLab URL>"
Hard rules:
glab auth login --hostname <host>.--repo is omitted, trust only GitLab remotes discovered from git remote -v.
If no GitLab remote exists, stop and ask for group/project or a full GitLab URL.Use the helper output as the source of truth for metadata.
python3 ${SKILL_DIR}/scripts/project_context.py --repo "<optional repo or GitLab URL>" > /tmp/gitlab-issue-context.json
The helper returns:
repo_selector for glab -Rglab userIf the helper fails, surface the blocker instead of guessing.
Create a short, concrete title from the requirement, then search for existing issues before drafting the body.
REPO_SELECTOR="$(python3 - <<'PY'
import json
print(json.load(open('/tmp/gitlab-issue-context.json'))['target']['repo_selector'])
PY
)"
glab issue list -R "$REPO_SELECTOR" --search "<title or tight keyword query>" --in title,description -O json
Template precedence:
Fetch a template when needed:
python3 - <<'PY'
import json
ctx = json.load(open('/tmp/gitlab-issue-context.json'))
print(ctx['target']['host'])
print(ctx['target']['project_path_encoded'])
print(ctx['issue_templates'][0]['key'])
PY
glab api --hostname "<host>" "projects/<encoded_project>/templates/issues/<template_key>"
Fallback body structure:
## Summary
- what should change
## Problem or Goal
- why this is needed
## Scope
- in scope
- out of scope
## Acceptance Criteria
- [ ] concrete user-visible outcomes
## Context
- constraints, links, screenshots, related issues
## Open Questions
- unresolved decisions, or `None`
Use only project metadata returned by the helper.
glab username only when that username exists in the project users list. Otherwise ask.due date, confidential, and weight only when the user supplied them.Before creation, show this preview and wait for confirmation.
Repo: <repo_selector>
Title: <title>
Labels: <comma-separated labels or none>
Assignee: <username or none>
Milestone: <title or none>
Due date: <YYYY-MM-DD or none>
Confidential: <true|false>
Weight: <number or none>
Body:
<full issue body>
Do not run glab issue create until the user confirms.
After confirmation, create the issue with the previewed values only.
BODY="$(cat /tmp/gitlab-issue-body.md)"
glab issue create \
-R "$REPO_SELECTOR" \
-t "$TITLE" \
-d "$BODY" \
-a "$ASSIGNEE" \
-l "$LABEL_ONE" \
-l "$LABEL_TWO" \
-m "$MILESTONE" \
--due-date "$DUE_DATE" \
-w "$WEIGHT" \
--yes
Rules:
--confidential only when the issue should be confidential.tools
GitLab 이슈 우선순위 추천. glab CLI로 할당/미할당 이슈를 수집하고 우선순위 라벨, 마감일, 가중치를 분석하여 작업할 이슈 Top 5를 추천한다. Use when the user says "이슈 추천해줘", "뭐 작업할까", "이슈 골라줘", "gitlab-issue-picker", "$pick", or wants help deciding which issue to work on. Do not use when glab is not installed or not authenticated.
tools
--- name: unknown-proposal description: Handles repeated HyperAgent instruction pattern: 반복 지시가 있었지만 스킬 없이 수행된 작업 --- # unknown-proposal Use when a session matches `반복 지시가 있었지만 스킬 없이 수행된 작업`. ## Workflow 1. Identify whether this repeated instruction pattern is present. 2. Apply the captured checklist before tool execution. 3. Report the exact evidence and stop if the pattern no longer applies. ## Evidence Sessions - faf6eee3-341c-4cb8-b4ce-fd62714b09fd - 019e0130-8884-7683-9885-cf05935e4195
tools
GitLab 이슈 우선순위 추천. glab CLI로 할당/미할당 이슈를 수집하고 우선순위 라벨, 마감일, 가중치를 분석하여 작업할 이슈 Top 5를 추천한다. Use when the user says "이슈 추천해줘", "뭐 작업할까", "이슈 골라줘", "gitlab-issue-picker", "$pick", or wants help deciding which issue to work on. Do not use when glab is not installed or not authenticated.
tools
--- name: unknown-proposal description: Handles repeated HyperAgent instruction pattern: 반복 지시가 재발한 작업 --- # unknown-proposal Use when a session matches `반복 지시가 재발한 작업`. ## Workflow 1. Identify whether this repeated instruction pattern is present. 2. Apply the captured checklist before tool execution. 3. Report the exact evidence and stop if the pattern no longer applies. ## Evidence Sessions - eebe7e0e-8348-4482-a68f-5c4b4486f11b