monitor-pipeline
Monitor a GitLab pipeline or job until completion, reporting status changes and failures in real-time
What this skill does
# Monitor GitLab Pipeline
## Name
gitlab:monitor-pipeline - Monitor a pipeline or job until completion with real-time status updates
## Synopsis
```
/monitor-pipeline <project-id> <pipeline-id> [--job <job-id>] [--interval <seconds>]
```
## Description
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.
## Implementation
This skill uses a polling approach to monitor pipeline and job statuses:
1. **Initial Status Check**: Fetch current pipeline/job state
2. **Polling Loop**: Check status at regular intervals (default: 15 seconds)
3. **Change Detection**: Compare current state with previous state
4. **Real-time Reporting**: Output updates when jobs transition states
5. **Failure Notification**: Immediately report failures with job logs
6. **Completion**: Exit when pipeline reaches terminal state
### Monitoring Algorithm
```
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
```
## Usage
### Monitor a Pipeline
```
/monitor-pipeline 456 1234
```
### Monitor a Specific Job
```
/monitor-pipeline 456 1234 --job 5678
```
### Custom Polling Interval
```
/monitor-pipeline 456 1234 --interval 30
```
## What This Skill Does
1. **Fetches initial pipeline state** using GitLab API
2. **Tracks job transitions** from pending -> running -> success/failed
3. **Reports immediately** when any job fails
4. **Fetches failure logs** automatically for failed jobs
5. **Provides progress updates** showing completed vs remaining jobs
6. **Exits cleanly** when pipeline completes or is canceled
## Prerequisites
- GitLab MCP server must be configured
- Access to the target project
- Valid pipeline ID (can be obtained from MR or project pipelines list)
## Example Interaction
### Successful Pipeline Monitoring
```
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.
```
### Pipeline with Failure
```
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?
```
### Monitoring a Specific Job
```
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...
- Pulling latest images... done
- Running database migrations... done
- Starting new containers...
```
---
### Progress [14:32:30]
```
- Health checks passing (3/3 replicas)
- Draining old instances...
- Deployment complete!
```
---
## Job Complete
**Status**: ✓ Success
**Duration**: 2m 45s
Production deployment successful!
```
## Arguments
| 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) |
## Terminal States
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) |
## Status Indicators
| Icon | Meaning |
|------|---------|
| ✓ | Success/Passed |
| ✗ | Failed |
| ⏳ | Running |
| ⏸️ | Pending/Waiting |
| ⏭️ | Skipped |
| ⊘ | Canceled |
## Tips
- Use shorter intervals (5-10s) for quick pipelines
- Use longer intervals (30-60s) for long-running deployments
- Monitor specific jobs when you only care about one stage
- The skill automatically fetches logs for failed jobs
- Cancel monitoring with Ctrl+C if needed
## Error Handling
- **API Errors**: Retries with exponential backoff
- **Network Issues**: Reports connection problems, continues monitoring
- **Invalid IDs**: Exits immediately with helpful error message
- **Permission Denied**: Reports access issue, suggests checking permissions
## Related Commands
- `/view-pipeline`: One-time snapshot of pipeline status
- `/create-mr`: Create MR that triggers a pipeline
- `/review-mr`: Review MR including pipeline status
Related in Data & Analytics
clawarr-suite
IncludedComprehensive management for self-hosted media stacks (Sonarr, Radarr, Lidarr, Readarr, Prowlarr, Bazarr, Overseerr, Plex, Tautulli, SABnzbd, Recyclarr, Unpackerr, Notifiarr, Maintainerr, Kometa, FlareSolverr). Deep library exploration, analytics, dashboard generation, content management, request handling, subtitle management, indexer control, download monitoring, quality profile sync, library cleanup automation, notification routing, collection/overlay management, and media tracker integration (Trakt, Letterboxd, Simkl).
querying-soql
IncludedSOQL query generation, optimization, and analysis with 100-point scoring. Use this skill when the user needs SOQL/SOSL authoring or optimization: natural-language-to-query generation, relationship queries, aggregates, query-plan analysis, and performance or safety improvements for Salesforce queries. TRIGGER when: user writes, optimizes, or debugs SOQL/SOSL queries, touches .soql files, or asks about relationship queries, aggregates, or query performance. DO NOT TRIGGER when: bulk data operations (use handling-sf-data), Apex DML logic (use generating-apex), or report/dashboard queries.
app-store-optimization
IncludedApp Store Optimization (ASO) toolkit for researching keywords, analyzing competitor rankings, generating metadata suggestions, and improving app visibility on Apple App Store and Google Play Store. Use when the user asks about ASO, app store rankings, app metadata, app titles and descriptions, app store listings, app visibility, or mobile app marketing on iOS or Android. Supports keyword research and scoring, competitor keyword analysis, metadata optimization, A/B test planning, launch checklists, and tracking ranking changes.
habit-flow
IncludedAI-powered atomic habit tracker with natural language logging, streak tracking, smart reminders, and coaching. Use for creating habits, logging completions naturally ("I meditated today"), viewing progress, and getting personalized coaching.
app-store-optimization
IncludedApp Store Optimization (ASO) toolkit for researching keywords, analyzing competitor rankings, generating metadata suggestions, and improving app visibility on Apple App Store and Google Play Store. Use when the user asks about ASO, app store rankings, app metadata, app titles and descriptions, app store listings, app visibility, or mobile app marketing on iOS or Android. Supports keyword research and scoring, competitor keyword analysis, metadata optimization, A/B test planning, launch checklists, and tracking ranking changes.
visualizing-data
IncludedBuilds dashboards, reports, and data-driven interfaces requiring charts, graphs, or visual analytics. Provides systematic framework for selecting appropriate visualizations based on data characteristics and analytical purpose. Includes 24+ visualization types organized by purpose (trends, comparisons, distributions, relationships, flows, hierarchies, geospatial), accessibility patterns (WCAG 2.1 AA compliance), colorblind-safe palettes, and performance optimization strategies. Use when creating visualizations, choosing chart types, displaying data graphically, or designing data interfaces.