Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add sergeyklay/.agents --skill monitor-cigit clone --depth 1 https://github.com/sergeyklay/.agentsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/sergeyklay/.agents/monitor-ci)<a href="https://agentmods.dev/skills/sergeyklay/.agents/monitor-ci"><img src="https://agentmods.dev/badge/skills/sergeyklay/.agents/monitor-ci/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/sergeyklay/.agents/monitor-ci"><img src="https://agentmods.dev/badge/skills/sergeyklay/.agents/monitor-ci.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00181 | $0.01709 |
| Opus 5 | $0.00090 | $0.00855 |
| Sonnet 5 | $0.00036 | $0.00342 |
| Haiku 4.5 | $0.00018 | $0.00171 |
Grade A, and why
monitor-ci scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 6d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 100 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Babysit a CI Run
Waiting on a pipeline looks like a one-line job and is not. Three things go wrong, and each one produces a confident but wrong report: the wrong run gets watched, the waiting strategy exhausts the session before the run finishes, or the run's outcome is read off a summary that hides a suppressed failure.
This skill is the mechanics of getting from "it is running" to "here is what actually happened". Whether the green that comes out is evidence is a separate question, and it belongs to prove-checks.
Trigger
- A run must reach a conclusion before the next step can start.
- The task says wait for, watch, babysit, or monitor a build, release, deploy or pipeline.
- A failed run must be restarted, possibly more than once.
- Another party is blocked on the answer "did it go green?"
Procedure
1. Confirm the run is the one you were asked about
A run URL or id identifies a run, not an intent. Before waiting on it, read back what it actually is and check it against the request:
gh api repos/<owner>/<repo>/actions/runs/<run-id> \
--jq '{name, event, status, conclusion, head_branch, head_sha, attempt: .run_attempt}'
Watch for a run that is a previous attempt, that is on an unexpected branch, or whose event is not what the task described. When the run was dispatched with inputs that matter — a version, an environment, a dry-run flag — those inputs are not in this payload. They appear in the dispatching step's logs, which are unavailable until the run completes (see step 3), so verify them against the artifact the run produces rather than assuming.
2. Wait in bounded blocks, not one open-ended call
A blocking watcher is the obvious tool and the one that fails: gh run watch does not return until the run ends, so on a long run it outlives whatever timeout wraps it and the wrapper kills it with nothing to show. Budget explicitly instead.
- Wrap any blocking watch in a timeout comfortably shorter than the tool call's own limit, and treat a timeout as "not finished yet" rather than an error:
timeout 580 gh run watch <run-id> --exit-status. - Re-issue it, or fall back to polling
--jq .statuson an interval, untilstatusreadscompleted. - Keep a detached poller writing to a log file when the wait may span several turns. It costs nothing and survives the foreground call being cut short.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 6d ago First seen · 100 lines · 181 tokens per session scan A b8ddbed8853c
monitor-ci is a skill published in the GitHub repository sergeyklay/.agents (5 stars, last pushed today), licensed Apache-2.0. It adds 181 tokens to every session and 1,709 once invoked, about $0.0009 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.
Other skills, from other repositories
dpf-local-merge-ci-before-push
Use before pushing or opening a DPF PR when a branch needs local merged-code verification.
pdlc-ship
A software release workflow that runs tests, updates the version and change log, creates a Git tag, and starts CI/CD, the automated build and deployment process.
loop-on-ci
Monitor PR checks and fix failures until green. Uses gh pr checks as the source of truth for PR-attached checks.
glab
Expert guidance for using the GitLab CLI (glab) to manage GitLab issues, merge requests, CI/CD pipelines, repositories, and other GitLab operations from the command line. Use this skill when the user needs to interact with GitLab resources or perform GitLab workflows.
turborepo-caching
Configure Turborepo for efficient monorepo builds with local and remote caching. Use when setting up Turborepo, optimizing build pipelines, or implementing distributed caching.
release
CONTRIBUTOR TOOL - Cut a plugin release: bump plugin.json version, finalize CHANGELOG, update README if needed, gate on make ci, commit, tag vX.Y.Z, and create the GitHub release. Use when shipping a new plugin version. NOT distributed.