Skip to main content

gitlab-mcp-verification

Authoritative verification for @zereight/mcp-gitlab — mock GitLab, stdio MCP tool calls, npm test harness. Use when proving the MCP server works, after tool/auth/transport changes, or before claiming a GitLab MCP fix is done. Triggers on verify gitlab mcp, health_check proof, mock drive, or maintainer behavioral verify. Read references/ before driving.

Source facts

Repository
zereight/skill
Last source activity
October 6, 2026 at 23:26
Detected SKILL.md language
English
Stars
0
Forks
0

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

File Explorer
10 files

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
gitlab-mcp-verification
description
Authoritative verification for @zereight/mcp-gitlab — mock GitLab, stdio MCP tool calls, npm test harness. Use when proving the MCP server works, after tool/auth/transport changes, or before claiming a GitLab MCP fix is done. Triggers on verify gitlab mcp, health_check proof, mock drive, or maintainer behavioral verify. Read references/ before driving.
license
MIT
metadata
{"version":"1.1.0","target":"zereight/gitlab-mcp","style":"launch-doctor-drive-evidence"}
disable-model-invocation
true
# GitLab MCP Verification Agent-oriented verification for **zereight/gitlab-mcp**. The "user" is an MCP client calling tools; proof is JSON tool results, exit codes, and test logs — not a browser. **Feature recipes:** `references/` next to this file This skill is **global** — it lives outside the repo and verifies whatever clone the working directory points at. Nothing in the repo needs to reference it. ## Repo resolution Every script resolves the target clone the same way: 1. `GITLAB_MCP_REPO_ROOT` when set. 2. Otherwise `git rev-parse --show-toplevel` from the current directory. 3. Otherwise the current directory. Doctor fails fast when the resolved root has no `@zereight/mcp-gitlab` `package.json`, so a wrong root never looks like a product failure. ```bash SKILL="$HOME/.agents/skills/gitlab-mcp-verification" cd ~/Documents/gitlab-mcp # any clone works ``` ## Launch 1. Match Node: `nvm use` (see `.nvmrc`, currently Node 22.x). 2. Build once per verification run (or when `build/index.js` is stale): ```bash npm run build ``` 3. **Mock-backed drives** start their own `MockGitLabServer` on an ephemeral port (`findMockServerPort()`). No long-lived MCP server is required for the default recipes; each drive spawns `node build/index.js` for stdio JSON-RPC (see `test/test-health-check.ts`). 4. **Live GitLab drives** (optional, destructive/read-only per tool) need `GITLAB_TOKEN_TEST` or `GITLAB_TOKEN` and `TEST_PROJECT_ID` — only when a reference file explicitly says `live`. Prefer mock recipes first. **Ready signal:** `doctor` exits 0. For tool drives, mock server log line `Mock GitLab API listening` then JSON `status: "ok"` for `health_check`. **Teardown:** Mock drives call `mockGitLab.stop()` in `finally`. Never `pkill zereight-mcp-gitlab` or kill by binary name — only stop processes this run spawned (mock HTTP server PID, short-lived stdio child). ## Doctor Read-only preflight. Run from the repo clone: ```bash bash "$SKILL/scripts/doctor.sh" ``` Requires: - resolved root is a `@zereight/mcp-gitlab` clone - `node` satisfies `engines.node` in `package.json` - `build/index.js` exists (script prints `npm run build` hint if missing) - `tsx` available via devDependencies (`npm install` done) - No write to GitLab If doctor fails, fix build/install before any drive. ## Drive Default harness: **stdio MCP** + **mock GitLab** (same pattern as `test/test-health-check.ts`, `test/clients/stdio-client.ts`). Before driving: 1. Run **doctor**. 2. Open `references/README.md` and pick the feature ID. 3. Set a disposable run id: ```bash export GITLAB_MCP_VERIFY_RUN_ID="${GITLAB_MCP_VERIFY_RUN_ID:-$(date +%s)}" export GITLAB_MCP_VERIFY_ARTIFACTS="${GITLAB_MCP_VERIFY_ARTIFACTS:-$HOME/.agents/verify-artifacts/gitlab-mcp-verification/${GITLAB_MCP_VERIFY_RUN_ID}}" mkdir -p "$GITLAB_MCP_VERIFY_ARTIFACTS" ``` **Bundled drives** (repo clone = CWD): | Feature ID | Command | |------------|---------| | `health-check-mock` | `bash "$SKILL/scripts/drive-health-check-mock.sh"` | | `mock-suite-smoke` | `npm run test:mock` (full mock/unit suite; slower) | Prefer **one reference file** per proof unless the user asked for full CI parity. Stable handles: - Tool names: exact registry strings (`health_check`, `list_issues`, …) - Mock token: `glpat-mock-token-12345` (see `test/test-health-check.ts`) - Env: `GITLAB_API_URL`, `GITLAB_PERSONAL_ACCESS_TOKEN`, `GITLAB_TOOLSETS` Do not drive a shared developer stdio session while verification runs; mock ports are per-run. ## Evidence Artifacts default **outside the repo** at `~/.agents/verify-artifacts/gitlab-mcp-verification/<run-id>/` so a clone stays clean. Point `GITLAB_MCP_VERIFY_ARTIFACTS` at the repo only when a PR wants in-repo proof (then ignore that path locally). | Artifact | Contents | |----------|----------| | `doctor.log` | doctor stdout/stderr | | `health-check.json` | Parsed `health_check` tool payload | | `health-check.meta.json` | run id, git HEAD, package version | **Proof standards** - Exercise the **real tool path** (`tools/call` over stdio), not internal helpers only. - Capture **request + structured result** (JSON), not only "exit 0". - Mock drives must show **`authenticated: true`** and **`mcp_server_version`** matching `package.json`. - `npm run test:mock` proves breadth; a single mapped feature proves the user path named in the reference file. - Live GitLab: read-only tools unless the reference explicitly allows mutation; never verify destructive tools against production without explicit user consent. ## Cleanup After each drive (including failed attempts): ```bash bash "$SKILL/scripts/cleanup-run.sh" ``` - Stops mock servers started by drive scripts (PID file under artifacts dir). - Does **not** delete `$GITLAB_MCP_VERIFY_ARTIFACTS` — proof survives cleanup. - Does not remove `build/`. Confirm evidence still exists: ```bash test -f "$GITLAB_MCP_VERIFY_ARTIFACTS/health-check.json" && echo ok ``` ## Helpers `$SKILL` resolves through the SSOT symlink; scripts run from any CWD. ```bash bash "$SKILL/scripts/doctor.sh" GITLAB_MCP_VERIFY_RUN_ID=manual bash "$SKILL/scripts/drive-health-check-mock.sh" bash "$SKILL/scripts/cleanup-run.sh" ``` `drive-health-check-mock.sh` invokes `tsx` on `$SKILL/scripts/drive-health-check-mock.ts`. ## Maintenance When tools, auth env vars, or mock layout change, update the matching file under `references/` and re-run doctor + one drive before merging doc-only skill changes. This skill is global: SSOT link `~/.agents/skills/gitlab-mcp-verification` → `~/Documents/skill/.agents/skills/gitlab-mcp-verification` (repo `zereight/skill`), fanned out to `~/.cursor/skills`, `~/.codex/skills`, `~/.claude/skills`, `~/.pi/skills`. After editing, run `bash ~/.agents/skills/zereight-skill-ssot-sync/scripts/sync.sh --sync`. For broader "did we ship it?" checks, maintainer skill `gitlab-mcp-maintainer` phase 3 still applies; this skill is **behavioral drive**, not PR checklist replacement.
View on GitHub