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/alifanov/darkflowWrote 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/alifanov/darkflow/ads-review)<a href="https://agentmods.dev/commands/alifanov/darkflow/ads-review"><img src="https://agentmods.dev/badge/commands/alifanov/darkflow/ads-review.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.1 | $0.00018 | $0.01053 |
| Opus 5 | $0.00009 | $0.00526 |
| Sonnet 5 | $0.00004 | $0.00211 |
| Haiku 4.5 | $0.00002 | $0.00105 |
Grade A, and why
ads-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 8d 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 — 125 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Step 1 — Read project config
Load the project config (contract in .darkflow.d/claude.md → Project config). Uses: language, minPriority.
Step 2 — Do the work
Check the paid ads account configured for this project for the last 7 days. Specifically:
- Campaign performance — impressions, clicks, CTR, CPC, conversions, CPA, ROAS per campaign
- Budget utilisation — daily budget vs actual spend; underspending or overspending campaigns
- Keyword performance — top and bottom keywords by conversion rate; wasted-spend keywords
- Audience and placement — which audiences/placements drive CPA below target vs above
- Trends — week-over-week change in spend, conversions, CPA, ROAS
For each finding:
- State the metric and its current value
- Compare to the previous 7-day period
- Suggest a concrete action (pause keyword, increase budget, adjust bid, add negative keyword, etc.)
Create a task for each significant finding. Use --source ads and a priority.
Priority vocabulary: critical / high / medium / low. Never inflate a priority to clear
the project's minPriority floor — the floor decides what gets filed, not you. If df task create is rejected (priority <x> below project minPriority <y>), keep the honest priority,
record the finding under Hypotheses in the snapshot, and surface the rejection in the output.
Task format (required):
- Title: action-oriented verb — "Pause wasted-spend keyword X", "Increase budget on campaign Y", "Add negative keyword Z" — never just a description of the observation
- Body:
## Problem <metric, current value, comparison to previous period> ## Plan - [ ] 1. <concrete action — specific campaign, ad group, keyword, or audience to change> - [ ] 2. <next step, if the fix needs one> ## Acceptance criteria - [ ] <measurable outcome, e.g. "CPA on campaign X drops below $15"> - [ ] <additional criterion if needed>
Create with:
~/.darkflow/df task create --title "<title>" --source ads \
--priority <critical|high|medium|low> --status proposed --body "$(cat <<'EOF'
<body as above>
EOF
)"
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.
- 8d ago First seen · 125 lines · 18 tokens per session scan A 5ce43bc9d582
ads-review is a command published in the GitHub repository alifanov/darkflow (3 stars, last pushed 8d ago), licensed MIT. It adds 18 tokens to every session and 1,053 once invoked, about $0.0001 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-31.
Other commands, from other repositories
lint-fix
Run all formatters and linters with auto-fix.
beads-swarm
Execute beads with parallel agent swarm (dependency-aware).
codemap-creator
Generate or update hierarchical code map from any directory as root, with nested tree structure (project).
plan-loop
Execute a plan file with iterative loop until completion.
plan-swarm
Execute a plan file with parallel agent swarm (dependency-aware).
implement-swarm
Implement from conversation context with parallel swarm.