From gitlab
Monitors GitLab CI/CD pipelines or jobs until completion via polling, reporting real-time status changes, progress, and failures with job logs.
How this skill is triggered — by the user, by Claude, or both
Slash command
/gitlab:monitor-pipelineThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
gitlab:monitor-pipeline - Monitor a pipeline or job until completion with real-time status updates
gitlab:monitor-pipeline - Monitor a pipeline or job until completion with real-time status updates
/monitor-pipeline <project-id> <pipeline-id> [--job <job-id>] [--interval <seconds>]
Continuously monitors a GitLab CI/CD pipeline or specific job until it reaches a terminal state (success, failed, or canceled). Reports status changes as they happen and immediately notifies the user of any failures with detailed error information.
This skill uses a polling approach to monitor pipeline and job statuses:
WHILE pipeline.status IN [pending, running, waiting_for_resource, preparing]
WAIT interval seconds
FETCH current pipeline status
FETCH all job statuses
FOR each job:
IF job.status changed:
REPORT status change
IF job.status == "failed":
FETCH job logs
REPORT failure details immediately
REPORT overall progress summary
REPORT final pipeline result
/monitor-pipeline 456 1234
/monitor-pipeline 456 1234 --job 5678
/monitor-pipeline 456 1234 --interval 30
User: /monitor-pipeline 456 1234
Claude: Starting pipeline monitor for Pipeline #1234 in project 456...
## Pipeline Monitor Started
**Pipeline**: #1234
**Branch**: feature/add-authentication
**Started**: 2025-01-15 10:30:22
**Status**: Running
I'll monitor this pipeline and report status changes as they happen.
---
### Update [10:31:45]
**Stage: build**
- ✓ `compile` completed successfully (1m 18s)
Progress: 1/6 jobs complete
---
### Update [10:32:30]
**Stage: build**
- ✓ `bundle-assets` completed successfully (42s)
Progress: 2/6 jobs complete
---
### Update [10:34:15]
**Stage: test**
- ✓ `unit-tests` completed successfully (1m 45s)
Progress: 3/6 jobs complete
---
### Update [10:36:00]
**Stage: test**
- ✓ `integration-tests` completed successfully (1m 45s)
Progress: 4/6 jobs complete
---
### Update [10:37:30]
**Stage: lint**
- ✓ `eslint-check` completed successfully (1m 30s)
- ✓ `type-check` completed successfully (1m 28s)
Progress: 6/6 jobs complete
---
## Pipeline Complete
**Status**: ✓ Success
**Total Duration**: 7m 08s
**All 6 jobs passed**
The pipeline completed successfully. Your changes are ready for merge.
User: /monitor-pipeline 456 1234
Claude: Starting pipeline monitor for Pipeline #1234...
## Pipeline Monitor Started
**Pipeline**: #1234
**Branch**: feature/database-migration
**Status**: Running
---
### Update [10:31:45]
**Stage: build**
- ✓ `compile` completed successfully (1m 18s)
Progress: 1/6 jobs complete
---
### FAILURE ALERT [10:33:20]
**Job Failed**: `integration-tests` in stage `test`
**Duration**: 1m 35s
**Exit Code**: 1
**Error Log**:
FAILED tests/integration/auth.test.ts
● Authentication API › POST /login › should validate credentials
ConnectionError: Connection to database refused
at PostgresClient.connect (src/db/client.ts:45:12)
at setupTestDB (tests/setup.ts:23:8)
1 test failed, 12 passed
**Likely Causes**:
1. Database service not available in CI environment
2. Missing DATABASE_URL environment variable
3. Network connectivity issues in test container
---
## Pipeline Failed
**Status**: ✗ Failed
**Duration**: 3m 35s
**Failed Jobs**: 1 (integration-tests)
**Passed Jobs**: 2
**Canceled Jobs**: 3
The pipeline failed due to test failures. Review the error above and push a fix.
Would you like me to help debug the database connection issue?
User: /monitor-pipeline 456 1234 --job 5678
Claude: Starting job monitor for Job #5678 (deploy-production)...
## Job Monitor Started
**Job**: deploy-production (#5678)
**Stage**: deploy
**Status**: Running
**Started**: 2025-01-15 14:30:00
---
### Progress [14:31:00]
Deploying to production cluster...
---
### Progress [14:32:30]
---
## Job Complete
**Status**: ✓ Success
**Duration**: 2m 45s
Production deployment successful!
| Argument | Required | Description |
|---|---|---|
project-id | Yes | Numeric project ID or URL-encoded path |
pipeline-id | Yes | Pipeline ID to monitor |
--job | No | Specific job ID to monitor instead of entire pipeline |
--interval | No | Polling interval in seconds (default: 15, min: 5, max: 300) |
The monitor exits when the pipeline/job reaches one of these states:
| State | Description |
|---|---|
success | All jobs completed successfully |
failed | One or more jobs failed |
canceled | Pipeline was manually canceled |
skipped | Pipeline was skipped (rules not met) |
| Icon | Meaning |
|---|---|
| ✓ | Success/Passed |
| ✗ | Failed |
| ⏳ | Running |
| ⏸️ | Pending/Waiting |
| ⏭️ | Skipped |
| ⊘ | Canceled |
/view-pipeline: One-time snapshot of pipeline status/create-mr: Create MR that triggers a pipeline/review-mr: Review MR including pipeline statusnpx claudepluginhub thebushidocollective/han --plugin gitlabViews GitLab CI/CD pipeline status for merge requests or projects, showing jobs by stage, durations, timestamps, and failed job logs.
Waits for CI/CD pipelines (GitHub Actions, GitLab CI, Vercel) to finish after pushing code, then reports results. Useful for push-then-verify workflows.
Monitors GitHub Actions CI runs until completion, reporting pass/fail/timeout verdicts per run. Useful after pushing code or checking PR build status.