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 s977043/PlanGate --skill pr-watchgit clone --depth 1 https://github.com/s977043/PlanGateWrote 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/s977043/plangate/pr-watch)<a href="https://agentmods.dev/skills/s977043/plangate/pr-watch"><img src="https://agentmods.dev/badge/skills/s977043/plangate/pr-watch/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/s977043/plangate/pr-watch"><img src="https://agentmods.dev/badge/skills/s977043/plangate/pr-watch.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.00054 | $0.02048 |
| Opus 5 | $0.00027 | $0.01024 |
| Sonnet 5 | $0.00011 | $0.00410 |
| Haiku 4.5 | $0.00005 | $0.00205 |
Grade A, and why
pr-watch 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 7d 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 — 147 lines — stays where its author put it; the contents beside it link to each section on GitHub.
PR Watch
PR 作成後、マージまたは close されるまで監視し、CI エラー・レビューコメント・ コンフリクトの 3 点セットに対応する再利用単位の定型。
1. 監視 3 点セット
| 観点 | 検知方法 | 対応 |
|---|---|---|
| CI エラー | gh pr checks <PR番号> に fail |
§3 CI FAIL 対応 |
| レビューコメント | gh api repos/<owner>/<repo>/pulls/<PR番号>/comments の ID 差分(inline review comments。gh pr view --json comments は issue コメントのみでボット指摘を取りこぼす) |
§3 レビューコメント対応 |
| コンフリクト | gh pr view <PR番号> --json mergeable が CONFLICTING |
§3 CONFLICTING 対応 |
3 点いずれも未検知かつ state が MERGED / CLOSED になった時点で監視終了。
2. Monitor スクリプト定型
<PR番号> は実行時に対象 PR 番号へ置換する。60 秒間隔でポーリングし、
コメントは seen_file に既知 ID を保存して差分検知する。
#!/usr/bin/env bash
set -euo pipefail
PR_NUMBER="<PR番号>"
SEEN_FILE="/tmp/pr-watch-${PR_NUMBER}-seen-comments.txt"
touch "${SEEN_FILE}"
CURRENT_FILE="/tmp/pr-watch-${PR_NUMBER}-current.txt"
while true; do
# 一時的な gh 失敗(ネットワーク・レート制限)でクラッシュさせない
state=$(gh pr view "${PR_NUMBER}" --json state --jq .state 2>/dev/null || echo "")
if [ "${state}" = "MERGED" ] || [ "${state}" = "CLOSED" ]; then
echo "PR #${PR_NUMBER} is ${state}. Stop watching."
exit 0
fi
if [ -z "${state}" ]; then
sleep 60
continue
fi
# (1) コンフリクト検知
mergeable=$(gh pr view "${PR_NUMBER}" --json mergeable --jq .mergeable 2>/dev/null || echo "")
if [ "${mergeable}" = "CONFLICTING" ]; then
echo "CONFLICTING detected on PR #${PR_NUMBER}"
fi
# (2) CI FAIL検知
if gh pr checks "${PR_NUMBER}" 2>/dev/null | grep -qi "fail"; then
echo "CI FAIL detected on PR #${PR_NUMBER}"
fi
# (3) 新規レビューコメント検知(inline review comments = ボット指摘を含む)
# 取得成功時のみ SEEN_FILE を更新する(失敗時に空で上書きすると
# 次回成功時に既読コメントを全件「新規」と誤検知するため)
if gh api --paginate "repos/<owner>/<repo>/pulls/${PR_NUMBER}/comments" \
--jq '.[].id' > "${CURRENT_FILE}" 2>/dev/null; then
new_ids=$(comm -13 <(sort "${SEEN_FILE}") <(sort "${CURRENT_FILE}"))
if [ -n "${new_ids}" ]; then
echo "New review comments: ${new_ids}"
fi
cp "${CURRENT_FILE}" "${SEEN_FILE}"
fi
sleep 60
done
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.
- 7d ago First seen · 147 lines · 54 tokens per session scan A 55ef20ebd201
pr-watch is a skill published in the GitHub repository s977043/PlanGate (2 stars, last pushed today), licensed MIT. It adds 54 tokens to every session and 2,048 once invoked, about $0.0003 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
05-review
Review a diff read-only on three axes, code, behavior versus the plan, and relevancy, into one verdict report. Use before shipping a change. Not for fixing findings or auditing a codebase.
github-pr-comment
Post one exact GitHub pull-request comment through local gh, any compatible hosted connector, or the explicit human-gated MCP composition, with retry safety and independent readback.
pr-reviewing
Review a PR across multiple dimensions — description, code changes, code scan, unit tests — using parallel subagents. Supports GitHub, GitLab, and enterprise platforms.
finishing-a-development-branch
The terminal step of /feature and /sprint. Routed to once commit-gate has cleared, to decide the branch's fate — merge via PR, open a PR, or discard. Direct merge to the default branch is forbidden; every change lands through a PR. Under /sprint the skill auto-selects "open PR" and surfaces the merge decision to the…
requesting-code-review
Use at executor review checkpoints to dispatch the code-reviewer agent with structured context — git range, workflow contracts, and verification evidence.
ca-pr
Open a pull request the only sanctioned way — clear every BLOCK-level review finding, then stage the PR. Never a direct write to the default branch.