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 agentmods add commands/crisng95/flowkit/fk-review-boardgit clone --depth 1 https://github.com/crisng95/flowkitWrote 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/commands/crisng95/flowkit/fk-review-board)<a href="https://agentmods.dev/commands/crisng95/flowkit/fk-review-board"><img src="https://agentmods.dev/badge/commands/crisng95/flowkit/fk-review-board.svg" alt="Measured on agentmods" 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 | $0.00000 | $0.00742 |
| Opus 5 | $0.00000 | $0.00371 |
| Sonnet 5 | $0.00000 | $0.00148 |
| Haiku 4.5 | $0.00000 | $0.00074 |
Grade C, and why
fk-review-board scanned grade C with 2 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 4d 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.
Downloads and executes remote codehighSupply chain
curl | sh runs whatever the server returns today, which is not necessarily what it returned when this was reviewed.
curl -s http://127.0.0.1:8100/api/projects?limit=10 | python3 -c " Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
ACTIVE=$(curl -s http://127.0.0.1:8100/api/active-project) How it starts
The opening of the file, as written. The whole thing — 79 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Start the Scene Review Board web app for visual feedback on scene chains.
Usage: /fk-review-board [<video_id>]
What it does
Launches tools/review_server.py on port 8200, serving tools/review_board.html — a visual review board where you can:
- See all scenes grouped by chain
- Play scene videos inline
- Tag scenes: OK / Regen Image / Regen Video / Edit
- Write text feedback per scene
- Export feedback as JSON
The board loads scenes for ?video_id=<id> query param (or a hardcoded fallback inside the HTML). Always pass the current project's video_id so the board reflects what the user is working on, not a stale default.
Steps
1. Resolve current video_id
Priority order — stop at first match:
a. Explicit arg — if user passed <video_id> to the skill, use that.
b. Active project — read GET /api/active-project:
ACTIVE=$(curl -s http://127.0.0.1:8100/api/active-project)
VID=$(echo "$ACTIVE" | python3 -c "import sys,json; d=json.load(sys.stdin); print(d.get('video_id',''))")
PNAME=$(echo "$ACTIVE" | python3 -c "import sys,json; d=json.load(sys.stdin); print(d.get('project_name','(none)'))")
c. No active project / no video_id — list recent projects and ask user to pick:
curl -s http://127.0.0.1:8100/api/projects?limit=10 | python3 -c "
import sys, json
for p in json.load(sys.stdin):
print(f\" {p['id']} {p.get('name','-')}\")"
Then PUT /api/active-project with the chosen project_id and re-resolve.
If still empty, abort: "No active project. Run /fk-switch-project first."
2. Kill any existing process on port 8200
kill $(lsof -ti :8200) 2>/dev/null
3. Start the review server in background
python3 tools/review_server.py &
4. Open the board with explicit video_id query param
open "http://localhost:8200?video_id=${VID}"
The query param overrides the HTML's hardcoded default, so the board always loads the project resolved in step 1.
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.
- 4d ago First seen · 79 lines · 0 tokens per session scan C 25592ad34fb9
fk-review-board is a command published in the GitHub repository crisng95/flowkit (625 stars, last pushed 17d ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 742 tokens. A static security scan graded it C with 2 findings (downloads and executes remote code, makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other commands, from other repositories
brand-generate
Generate an on-brand document from a saved Brand Profile.
stt
Transcribe a local audio file or remote audio URL into text.
audition-voices
Generate voice audition samples for a character using Venice TTS.
music-suno-prompt
Grounded Suno prompt synthesis from local knowledge corpus + persona canon + label canon. No vibes-prompting.
tag
Add or remove free-form tags on photos, then find them with search --tag.
review-video
Make a " Reviews" video — a fast, faceless VO montage of REAL, verified competitor reviews that names the recurring complaints and positions YOUR business as the alternative, then hands off to your own customer testimonials.