Borrowing it
Nothing to install: this file belongs to calven-ai/demoverse. 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/calven-ai/demoverse/main/.claude/skills/backfill-opps/SKILL.mdgit clone --depth 1 https://github.com/calven-ai/demoverseWrote 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/calven-ai/demoverse/backfill-opps)<a href="https://agentmods.dev/skills/calven-ai/demoverse/backfill-opps"><img src="https://agentmods.dev/badge/skills/calven-ai/demoverse/backfill-opps/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/calven-ai/demoverse/backfill-opps"><img src="https://agentmods.dev/badge/skills/calven-ai/demoverse/backfill-opps.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.00081 | $0.01084 |
| Opus 5 | $0.00041 | $0.00542 |
| Sonnet 5 | $0.00016 | $0.00217 |
| Haiku 4.5 | $0.00008 | $0.00108 |
Grade A, and why
backfill-opps 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 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.
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 — 99 lines — stays where its author put it; the contents beside it link to each section on GitHub.
/backfill-opps [N]
Processes the next N opportunities (default 5) end-to-end with zero operator
input. The main context runs ONLY shell commands and subagent dispatch. All
prose is written by opp-filler subagents (model: sonnet, one per opportunity).
Never fill result files inline in the main context.
The loop
0. Pick targets
npm run apply -- --next=N
Output is one opp per line: oppId<TAB>status<TAB>accountName<TAB>untouched|planned:K.
planned:K rows are planted-but-unfilled deals from an interrupted run. They
resume identically (replanting is an idempotent no-op that re-emits prompts).
If the list is empty, report "all opportunities filled" and stop.
1. Process in waves of 3
For each wave of up to 3 opportunities:
a. Plant (serial). The ledger is last-writer-wins, so never parallelize apply:
For each opp in the wave:
npm run apply -- --backfill-touchpoints --opp=<oppId>
Then IMMEDIATELY read state/requests/<periodIndex>/manifest.json (the period
index is printed by the command) and record this opp's request list, one
{artifactId, kind, output, promptFile, resultFile} per entry. The manifest is
OVERWRITTEN by the next plant, so capture it before planting the next opp.
b. Fill (parallel): launch the wave's opp-filler subagents in ONE
message. Give one subagent per opportunity, each with the absolute request dir
and only ITS opp's request list. Result files are distinct, so parallel fills
never conflict.
c. Ingest + lint + fix + reconcile + commit (serial, one opp at a time):
npm run apply -- --ingest --opp=<oppId> # validate + file (no push yet)
- If it reports
invalid > 0: re-launchopp-fillerfor that opp in fix mode with the invalid artifact ids + reasons, then re-run the ingest.
npm run lint -- --opp=<oppId>
- On
errorfindings, run up to 2 fix rounds:- For each offending artifact:
npm run apply -- --refill=<artifactId>(resets it toplannedand re-emits its prompt). - Re-launch
opp-fillerin fix mode scoped to those artifacts, quoting the lint error messages verbatim. npm run apply -- --ingest --opp=<oppId>and re-lint.
- For each offending artifact:
- Still failing after 2 rounds → append the opp + errors to
runs/backfill-notes.md, skip the commit for this opp, continue with the next one. Never stall the batch on one deal.
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 · 99 lines · 81 tokens per session scan A 95a137cabcb5
backfill-opps is a skill published in the GitHub repository calven-ai/demoverse (2 stars, last pushed 7d ago), licensed MIT. It adds 81 tokens to every session and 1,084 once invoked, about $0.0004 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 skills, from other repositories
afrexai-lead-hunter
Enterprise-grade B2B lead generation, enrichment, scoring, and outreach sequencing for AI agents. Find ideal prospects, enrich with verified data, score against your ICP, and generate personalized outreach — all autonomously.
b2b-sdr-agent
Autonomous AI Sales Development Rep for B2B export — handles lead discovery, BANT qualification, multi-channel outreach (WhatsApp/Email/Telegram), CRM management, and deal pipeline tracking. Built for cross-border trade.
gt-email-infra
Email Infrastructure & Deliverability by Growth Today (growthtoday.co). Expert cold-email infrastructure and deliverability strategist. Use for infrastructure sizing, domain research and purchasing, DNS and auth (MX/SPF/DKIM/DMARC), masking versus redirect, mailbox provisioning, Instantly inbox setup and warmup, going…
gt-linkedin-content
A specialist for organic LinkedIn content aimed at B2B founders and GTM teams. Reach for it on anything across the LinkedIn writing workflow, opening lines and hooks, post structure and storytelling, format choice, posting cadence and timing, comments and engagement, CTAs and comment-gates, profile optimization…
gt-linkedin-outbound
Expert LinkedIn outbound strategist for B2B campaigns by Growth Today (growthtoday.co). Use for LinkedIn cold outreach, DM writing, connection requests, message sequences, personalization, copywriting frameworks, rented engine setup (multi-account infrastructure, daily limits, restrictions, anti-detect browsers…
email-infra-bounce-audit
Audit a bounce or blacklist problem to root cause and produce a full bounce report. Use for pulling replies via the EmailBison MCP/API, working around the broken type=bounced filter, stripping auto-replies, classifying bounces (Hard/Soft/Block) by SMTP/DSN code, running the neutral-copy test, and tracing the cause to…