skills/mav-bp-cicd-gitlab/SKILL.md
Monitoring GitLab CI/CD pipelines after pushing. Covers checking pipeline status, diagnosing job failures, and respecting pipeline boundaries. Used as a dependency from workflow skills.
npx skillsauth add thermiteau/maverick mav-bp-cicd-gitlabInstall 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.
After pushing, monitor GitLab CI/CD pipelines and do not declare work complete until CI passes. This skill implements the platform-specific behaviours defined in the mav-bp-cicd skill.
glab) installed and authenticatedcurl with a GitLab personal access token# View pipelines for current branch
glab ci list --branch $(git branch --show-current)
# Watch the latest pipeline in real-time
glab ci view
# View a specific pipeline's jobs
glab ci view <pipeline-id>
# View failed job logs
glab ci trace <job-id>
# Retry a failed job
glab ci retry <job-id>
# Using GitLab API directly
PROJECT_ID="<project-id>"
BRANCH=$(git branch --show-current)
# List pipelines for branch
curl --header "PRIVATE-TOKEN: $GITLAB_TOKEN" \
"https://gitlab.com/api/v4/projects/$PROJECT_ID/pipelines?ref=$BRANCH&per_page=1"
# Get pipeline jobs
curl --header "PRIVATE-TOKEN: $GITLAB_TOKEN" \
"https://gitlab.com/api/v4/projects/$PROJECT_ID/pipelines/<pipeline-id>/jobs"
# Get job log
curl --header "PRIVATE-TOKEN: $GITLAB_TOKEN" \
"https://gitlab.com/api/v4/projects/$PROJECT_ID/jobs/<job-id>/trace"
digraph ci {
"Push to remote" [shape=box];
"Check pipeline status" [shape=box];
"Pipeline passes?" [shape=diamond];
"Work complete" [shape=box];
"Read failed job logs" [shape=box];
"Fix locally" [shape=box];
"Commit and push fix" [shape=box];
"Push to remote" -> "Check pipeline status";
"Check pipeline status" -> "Pipeline passes?";
"Pipeline passes?" -> "Work complete" [label="yes"];
"Pipeline passes?" -> "Read failed job logs" [label="no"];
"Read failed job logs" -> "Fix locally";
"Fix locally" -> "Commit and push fix";
"Commit and push fix" -> "Check pipeline status";
}
glab ci view to monitor the pipelineglab ci viewglab ci trace <job-id>| CI failure | Why it wasn't caught locally | Fix |
| --- | --- | --- |
| Different runtime version | CI uses a specific image version | Check .gitlab-ci.yml for image tags |
| Missing CI/CD variable | CI has different env vars | Check project Settings > CI/CD > Variables |
| Docker-in-Docker issues | Local Docker differs from CI runner | Check services configuration in .gitlab-ci.yml |
| Cache miss/stale cache | CI cache key changed | Check cache key config, clear cache if needed |
| Runner-specific issue | Shared vs dedicated runners | Check runner tags and availability |
| Concept | Description | | ------- | ----------- | | Pipeline | Full CI/CD run triggered by a push or merge request | | Stage | Sequential phase (build, test, deploy) — jobs within a stage run in parallel | | Job | Individual task within a stage | | Runner | Machine that executes jobs (shared or project-specific) | | Artifact | File produced by a job, available to downstream jobs/stages | | Cache | Dependency cache persisted across pipeline runs | | Environment | Deployment target tracked by GitLab | | Merge request pipeline | Pipeline that runs on the merged result of source and target branches |
.gitlab-ci.yml or CI include filesdevelopment
--- name: do-test description: Write or update tests for a code change. Operates in two modes: `unit` (module-scoped, fast, deterministic) and `integration` (crosses module / service / database boundaries). Intended to be invoked once per testable change from inside a do-issue-* or do-epic phase. Mode is required. argument-hint: mode: unit or integration user-invocable: true disable-model-invocation: false --- **Depends on:** mav-bp-unit-testing, mav-bp-integration-testing, mav-local-verificati
development
Implement a focused code change. Use this skill as the wrapper for any implementation work so the Maverick workflow report captures what was done and so the agent applies the project's coding standards before editing. Intended to be invoked once per task from inside a do-issue-* or do-epic phase, not standalone.
testing
How to stack a PR on top of an unmerged sibling branch, and how to retarget it to the repo's default branch once the sibling merges. Prevents orphan-merge incidents when a dependent story is ready before its parent.
development
Claim, lease, heartbeat, and release protocols for when multiple Claude Code instances may act on the same issue or epic concurrently. GitHub labels and marker comments are the coordination surface; local state is a cache.