Borrowing it
Nothing to install: this file belongs to abeyuya/actions-mention-to-slack. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/abeyuya/actions-mention-to-slack/master/.claude/skills/run-local-review/SKILL.mdgit clone --depth 1 https://github.com/abeyuya/actions-mention-to-slackWrote 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/abeyuya/actions-mention-to-slack/run-local-review)<a href="https://agentmods.dev/skills/abeyuya/actions-mention-to-slack/run-local-review"><img src="https://agentmods.dev/badge/skills/abeyuya/actions-mention-to-slack/run-local-review/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/abeyuya/actions-mention-to-slack/run-local-review"><img src="https://agentmods.dev/badge/skills/abeyuya/actions-mention-to-slack/run-local-review.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
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.00129 | $0.04154 |
| Opus 5 | $0.00064 | $0.02077 |
| Sonnet 5 | $0.00026 | $0.00831 |
| Haiku 4.5 | $0.00013 | $0.00415 |
Grade A, and why
run-local-review 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 12d 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 — 161 lines — stays where its author put it; the contents beside it link to each section on GitHub.
run-local-review skill
PR 作成前のローカルブランチに対して AI レビューを行うための skill。
レビュー方針は run-pr-review と揃えつつ、出力先のみ「GitHub Review 投稿」ではなく「チャット表示 + markdown ファイル出力」に差し替えたバリエーション。
入力 (任意, caller から prompt 経由で渡される想定)
すべて省略可。省略時の挙動は各項目に記載。
BASE_BRANCH: 比較対象のベースブランチ。省略時の解決順は Step 1 を参照。本 skill はgit fetchを走らせないため、ローカルのベースが古いと古い基準で diff が出る。最新で比較したい場合は caller 側で fetch するか、BASE_BRANCH=origin/mainのようにリモート追跡参照を明示する。MAX_INLINE_COMMENTS: インライン指摘の総数上限。正の整数またはunlimited。省略時はunlimited扱い (=/pr-review-style-reference引数なしのデフォルト)。Step 2 で/pr-review-style-reference max-inline-comments=<値>として渡す。OUTPUT_PATH: markdown 出力先パス。省略時は/tmp/run-local-review/{repo}/{timestamp}-{branch}.md(例:/tmp/run-local-review/skills/20260507T123456Z-claude-unique-review-filenames-tpIhG.md)。caller が明示パスを指定した場合は既存ファイルがあれば上書きする。プレースホルダの組み立て規則:{repo}:git remote get-url originの URL 末尾セグメント (.gitを除く、取得失敗時はlocal){timestamp}:date -u +%Y%m%dT%H%M%SZの出力{branch}: 現在ブランチ名の英数記号以外 (/等) を-に置換
caller プロジェクト固有の方針 (技術観点 / スタイル上書き / 全方針置換) は プロジェクト指示ファイル (Step 3 で定義) に置く運用に固定する。個別パス指定の引数は持たない。
手順
Step 1. レビュー対象を確定する
- 現在ブランチ名:
git rev-parse --abbrev-ref HEADで取得する。HEAD(detached) の場合はエラーとして停止する。 - ベースブランチ: caller から
BASE_BRANCHが渡されていればそれを使う。未指定なら以下の順で決定する:git symbolic-ref refs/remotes/origin/HEADで既定ブランチ名を取得 (例:refs/remotes/origin/main→main) し、git rev-parse --verify <name>が通れば ローカルの同名ブランチ を使う (リモート追跡origin/<name>ではない)git rev-parse --verify mainが通ればmaingit rev-parse --verify masterが通ればmaster- いずれも取れなければエラーとして停止し、caller に
BASE_BRANCHを明示するよう促す
git diff <base>...HEADを実行し、差分モードを以下の優先順位で決定する:- commit モード: 差分が空でない → 通常どおり
git diff <base>...HEADをレビュー対象とする。 - staged モード: commit モードの差分が空 (ベースと同一コミットまたは diverge なし) →
git diff --cached(ステージ済み差分) を確認し、空でなければそれをレビュー対象とする。 - worktree モード: staged モードも空 →
git diff(未ステージの作業ツリー差分) を確認し、空でなければそれをレビュー対象とする。 - 差分なし: 上記すべてが空 → Step 2〜5 を skip して Step 6 へ直行 する。markdown も「差分なし」として書き出し、Step 7 の caller 報告でも「対象差分なし」を伝える。
- commit モード: 差分が空でない → 通常どおり
- 現在ブランチがベースブランチ自身の場合は commit モードの差分は必ず空になるため、上記フォールバック順に従う。
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.
- 12d ago First seen · 161 lines · 129 tokens per session scan A d7334e5f1923
run-local-review is a skill published in the GitHub repository abeyuya/actions-mention-to-slack (58 stars, last pushed yesterday), licensed MIT. It adds 129 tokens to every session and 4,154 once invoked, about $0.0006 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-08-30.
Other skills, from other repositories
pr-review-triage
Watch open PRs, check CI status, review staleness, merge conflicts, and unanswered review comments. Produces a prioritized watchlist.
loop-verifier
Independent verification agent for loop-produced changes. Finds reasons to reject. Runs tests. Confirms diff scope. Use after minimal-fix or any implementer sub-agent — never in the same role as the implementer.
post-merge-scan
Scan recent merges to main for tech debt, TODOs, debug code, and small cleanup opportunities. Produces a prioritized fix list.
logic-component-shape
Decision tree for single component versus container/presenter, which componentStructure to generate, and which componentType to declare. Invoked by logic-placement and logic-review, not directly.
logic-placement
Decide where new logic belongs — component shape, logic layer, and store variant — when designing a component, service, or store in an Angular/Otter workspace. Use logic-review to assess existing code.
logic-review
Review existing components, services, or stores for misplaced logic — presenter leaks, componentType mismatches, wrong store variants. Use logic-placement when designing something new.