From fgcz-infrastructure
Use this skill for any GitLab operation on gitlab.bfabric.org — FGCZ's self-hosted instance that requires PAT-based authentication (OAuth is unavailable). Essential for resolving gitlab.bfabric.org URLs and work_items links, running glab CLI commands against the correct host, and managing issues, merge requests, CI/CD pipelines, and projects. Without this skill, authentication will fail.
How this skill is triggered — by the user, by Claude, or both
Slash command
/fgcz-infrastructure:fgcz-gitlabThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Use the `glab` CLI to manage issues, merge requests, CI/CD pipelines, and projects on FGCZ's self-hosted GitLab at `gitlab.bfabric.org`.
Use the glab CLI to manage issues, merge requests, CI/CD pipelines, and projects on FGCZ's self-hosted GitLab at gitlab.bfabric.org.
Just run glab commands directly — no upfront check needed. glab auto-detects the correct host from git remotes.
If a command fails with an authentication or host error, run the diagnostic script:
bash SKILL_DIR/scripts/check_glab_setup.sh
Tell the user: brew install glab (macOS) or download from https://gitlab.com/gitlab-org/cli/-/releases
OAuth is not available on this self-hosted instance (it requires a registered GitLab app). Tell the user to run these commands themselves in a terminal — do not run them from Claude Code as they involve secrets:
api, write_repository, read_repository)glab auth login --hostname gitlab.bfabric.org --token glpat-XXXXXStop and wait for the user to confirm they've completed setup before running any glab commands. Never fall back to web fetching or curl — the user needs a working glab setup for ongoing use.
When the user shares a URL like https://gitlab.bfabric.org/group/project/-/issues/42 or https://gitlab.bfabric.org/group/project/-/work_items/30:
glab issue view accepts full URLs directly: glab issue view https://gitlab.bfabric.org/group/project/-/issues/42/-/work_items/N), extract the repo and ID and use: glab issue view N -R group/project-R group/projectThis is the most common workflow — the user shares a gitlab.bfabric.org issue link and asks to fix it.
glab issue view <id> -R group/project --comments
glab repo clone group/project && cd project
git checkout -b fix/issue-<id>-short-description
# ... make changes ...
git push -u origin fix/issue-<id>-short-description
glab mr create --fill --target-branch main
If you need a custom title/description instead of --fill, use a heredoc for multi-line markdown content:
glab mr create \
--target-branch main \
--title "Fix issue #<id>: short description" \
--description "$(cat <<'EOF'
## Summary
Closes #<id>
- First change
- Second change
## Testing
- Ran unit tests
EOF
)"
glab issue list # list open issues
glab issue list --assignee=@me # your issues
glab issue list --label=bug --milestone="v1.0" # filtered
glab issue view <id> # view details
glab issue view <id> --comments # with comments
glab issue create --title "..." --description "..."
glab issue close <id>
glab issue reopen <id>
glab issue note <id> -m "Comment text" # add comment
When not inside the target repo, add -R group/project to any command.
glab mr list # list open MRs
glab mr list --assignee=@me # your MRs
glab mr list --reviewer=@me # MRs to review
glab mr view <id> # view details
glab mr view <id> --comments # with comments/discussions
glab mr diff <id> # view diff
glab mr create --fill --target-branch main # from current branch
glab mr create --fill --draft --target-branch main # draft MR
glab mr create --related-issue <issue-id> --fill # MR linked to issue
glab mr approve <id>
glab mr merge <id>
glab mr note <id> -m "Review comment" # add comment
For multi-comment code reviews on an MR (the natural shape of an AI-assisted review), post each concern as a draft note rather than as immediate glab mr note comments. Draft notes stay pending in the user's review until they submit them via the GitLab UI — so the user can edit, drop, or reorder them first.
Conventions:
**(AI):** so the user can tell which notes came from the agent.samples.csv:17") rather than duplicating content.Critical gotcha: glab api -f "position[base_sha]=..." does not properly nest position[...] form keys — the draft posts with position: null. You must send the body as JSON via stdin. See references/glab-advanced.md ("Draft Notes / Pending Reviews") for the full recipe.
glab ci list # recent pipelines
glab ci status # current pipeline status
glab ci view # view current pipeline
glab ci retry # retry failed pipeline
glab repo view # current repo info
glab repo clone group/project # clone a project
glab repo view group/project --web # open in browser
For label/milestone management, custom API calls, release management, CI triggers, and cross-project search, see references/glab-advanced.md.
Provides behavioral guidelines to reduce common LLM coding mistakes, focusing on simplicity, surgical changes, assumption surfacing, and verifiable success criteria.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
npx claudepluginhub cpanse/skills --plugin fgcz-infrastructure