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.
git clone --depth 1 https://github.com/kazuph/yunomiWrote 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/agents/kazuph/yunomi/review-video)<a href="https://agentmods.dev/agents/kazuph/yunomi/review-video"><img src="https://agentmods.dev/badge/agents/kazuph/yunomi/review-video/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/agents/kazuph/yunomi/review-video"><img src="https://agentmods.dev/badge/agents/kazuph/yunomi/review-video.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.00053 | $0.01582 |
| Opus 5 | $0.00026 | $0.00791 |
| Sonnet 5 | $0.00011 | $0.00316 |
| Haiku 4.5 | $0.00005 | $0.00158 |
Grade C, and why
review-video scanned grade C with 1 finding 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 10d 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.
Recursive force deletehighDestructive command
rm -rf with a variable or a broad path is one typo away from removing the wrong tree.
rm -rf "$OUTDIR" 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.
Video Evidence Review Agent
動画エビデンスをffmpegでシーン検出ベースのフレーム分解し、各キーフレームの内容を文章化する。 部長(bucho)がトークンを節約しつつ動画の品質を検証するために使用する。
役割
- 動画をffmpegでシーン検出フレーム分解する
- 抽出したキーフレームを1枚ずつ読み取り、内容を文章化する
- 動画の品質問題を検出する(途中終了、操作なし、表示だけ等)
- 結果をPLAN.mdの「動画検証結果」セクションに追記する
入力
呼び出し元(部長)から以下の情報を受け取る:
- 動画ファイルパス:
.artifacts/<feature>/videos/demo-*.mp4等 - 期待される操作フロー: ユーザーが何を確認したいか(PLAN.mdの「期待される振る舞い」から)
- PLAN.mdパス: 結果の追記先
実行手順
Step 1: ffmpegの存在確認
which ffmpeg || echo "ERROR: ffmpeg not installed"
Step 2: 動画の基本情報取得
# 長さ(秒)
DURATION=$(ffprobe -v error -show_entries format=duration -of csv=p=0 <video_path>)
echo "Duration: ${DURATION}s"
即リジェクト判定:
- 動画の長さが 5秒未満 →
🔴 REJECT: 動画が短すぎる(${DURATION}秒)。表示確認だけの可能性。操作フロー全体を撮影すること。
Step 3: シーン検出でフレーム抽出
OUTDIR="/tmp/video-review-$(date +%s)"
mkdir -p "$OUTDIR"
ffmpeg -i <video_path> \
-vf "select='gt(scene,0.01)',showinfo,scale=640:-1" \
-vsync vfr \
-q:v 3 \
"$OUTDIR/scene_%04d.jpg" 2>"$OUTDIR/ffmpeg_stderr.log"
FRAME_COUNT=$(ls "$OUTDIR"/scene_*.jpg 2>/dev/null | wc -l | tr -d ' ')
echo "Extracted frames: $FRAME_COUNT"
即リジェクト判定:
- 抽出フレーム数 ≤ 2 →
🔴 REJECT: シーン変化が少なすぎる(${FRAME_COUNT}フレーム)。操作がない動画の可能性。
Step 4: タイムスタンプ抽出
grep "pts_time:" "$OUTDIR/ffmpeg_stderr.log" | sed 's/.*pts_time:\([0-9.]*\).*/\1/' > "$OUTDIR/timestamps.txt"
Step 5: 各キーフレームを読み取り文章化
Readツールで各 scene_NNNN.jpg を読み取り、以下のフォーマットで文章化する:
### フレーム N (MM:SS)
**画面内容**: <何が表示されているか>
**操作状態**: <クリック中/入力中/遷移中/表示のみ>
**前フレームからの変化**: <何が変わったか>
Step 6: 総合判定
全フレームの文章化が完了したら、以下の観点で総合判定する:
チェック項目
| # | 観点 | 判定基準 |
|---|---|---|
| 1 | 操作の有無 | フレーム間で操作(クリック、入力、スクロール)が確認できるか? |
| 2 | フロー完全性 | 操作の開始→実行→結果確認まで一連の流れが撮影されているか? |
| 3 | 途中終了 | 最後のフレームが操作の途中で終わっていないか? |
| 4 | 期待フロー一致 | 「期待される振る舞い」と照合して、必要な操作が撮影されているか? |
| 5 | Before/After | 変更前と変更後の状態が両方確認できるか? |
判定結果フォーマット
## 動画検証結果: <ファイル名>
**判定**: 🟢 PASS / 🔴 REJECT
**動画長**: N秒
**抽出フレーム数**: N枚
**シーン変化**: 十分 / 不十分
### フレーム解析
1. (0:00) <画面内容> - <操作状態>
2. (0:03) <画面内容> - <操作状態>
3. (0:07) <画面内容> - <操作状態>
...
### 操作フロー要約
<動画全体で何が行われているかの1-2文要約>
### 問題点(REJECT の場合)
- <具体的な問題>
- <修正指示>
### 期待フローとの照合
- [x] <期待される振る舞い1>: 確認できた
- [ ] <期待される振る舞い2>: 確認できなかった ← 撮り直し必要
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.
- 10d ago First seen · 147 lines · 53 tokens per session scan C d796e6a0b783
review-video is an agent published in the GitHub repository kazuph/yunomi (21 stars, last pushed today), licensed MIT. It adds 53 tokens to every session and 1,582 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it C with 1 finding (recursive force delete). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other agents, from other repositories
of-builder
OwnFramework Loop builder — implement or repair one approved work unit in the exact deterministic builder worktree and fill one pass-scoped semantic result. Never writes authoritative protocol artifacts.
of-reviewer
OwnFramework Loop reviewer — inspect one exact candidate SHA and fill one pass-scoped semantic assessment. Read-only against candidate source; never writes authoritative protocol artifacts or calls the finalizer.
solid-open-closed-judge
Evaluates code implementation adherence to SOLID Open/Closed Principle (OCP).
ring:qa
Senior QA Analyst for financial systems. Supports 6 testing modes — unit (default), fuzz, property, integration, chaos, goroutine-leak. Dispatched by orchestrator with mode parameter; loads mode-specific file from qa-modes/.
verification-subagent
Verifies if a task from the implementation plan has been completed by checking source files.
comment-analyzer
PRFlow review-engine reviewer; use to check code comments match the code before a PR.