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 agents/mo-root/open-kb/drop-confirmgit clone --depth 1 https://github.com/mo-root/open-kbWhat 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.00730 |
| Opus 5 | $0.00000 | $0.00365 |
| Sonnet 5 | $0.00000 | $0.00146 |
| Haiku 4.5 | $0.00000 | $0.00073 |
Grade A, and why
drop-confirm 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 2d 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.
What it actually says
A model read each of these hosts' own front page once and decided, page in hand, that none of
them have any place on a map of this market: relation: none, the one verdict that costs a host
its place on the map entirely. That judgement never gets a second opinion — until now.
The market: the anchor: {{anchor}} — {{sells}} its buyer: {{buyer}}
For each host below you have exactly what the first pass already established, and nothing more: what it said the host IS, why it said so, and the roads — the queries — that surfaced it. There is no fresh page to read; that record already IS the page's content, read once and paid for. The question is whether it, read again, still argues for nothing.
However loosely connected, does a real placement fit: competitor, substitute, adjacent,
dependency, integration, shaper, buyer, target, covers, lists, discusses — or is the host truly
unrelated whatever way you look at it? A weak connection is still a connection. A host that merely
sells into a nearby part of the buyer's world is adjacent, not none. A forum where the buyer
occasionally argues about this market is discusses, not none. A page that writes about the
market even once is covers, not none. Reach for none only when the record in front of you
gives you nothing to hang any of those eleven words on.
Weak is not the same as invented. Eleven words to reach for is not eleven reasons to find one — the record still has to say the thing, not merely tolerate it being said. This call has no third opinion coming after it: a rescue stands or falls on this one read, so hold it to the same bar the first pass was held to, not a lower one because the map would rather keep a host than lose it.
The failure this call exists to prevent is not a wrong label — it is a silent one. A host dropped here leaves the map for good, on the strength of one model's first read of one page, with no record that anyone asked twice. Confirming a drop is a real answer and often the right one; the point is that it is now a checked fact instead of an assumption.
If a placement fits: answer kind, relation, what and why exactly as the classify pass
would, stated against the anchor, and back the relation with spans — one to three short quotes
copied character-for-character from the what/why/roads given for that host below. Copy, never
invent, and never reach for a page you have not been given: a quote that is not literally in the
record below does not verify, and a placement without a verified quote does not stand. If nothing
fits: answer relation: "none", leave kind and what as the record already has them, and put
the one line that makes the refusal plain in why — that sentence is what gets recorded as the
checked reason.
Answer with placements: one row per host, every host answered, host copied exactly as given,
kind, relation, what, why, and spans.
The hosts, one block each — domain, what the first pass said it is, why, and the roads that found it:
{{hosts}}
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.
- 2d ago First seen · 51 lines · 0 tokens per session scan A a491f3f824b9
drop-confirm is an agent published in the GitHub repository mo-root/open-kb (11 stars, last pushed 2d ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 730 tokens. 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 agents, from other repositories
research-orchestrator
Orchestrator agent for sigint research sessions. Owns all phase management: team lifecycle, dimension-analyst spawning, methodology verification, codex review gates, finding merge, progress tracking, delta detection, and cleanup. Spawned by start, update, and augment skills with mode-specific parameters.
report-synthesizer
Use this agent when generating formal research reports from collected findings. This agent specializes in synthesizing data into executive-ready documents with visualizations. Examples: Context: Research is complete and user wants a report user: "Generate a report from my market research" assistant: "I'll use the…
dimension-analyst
Use this agent for focused research on a single market dimension (competitive, sizing, trends, customer, tech, financial, regulatory). Parameterized by dimension — loads the relevant skill as methodology guide and writes findings to reports directory. Examples: Context: Orchestrator spawning parallel analysts user…
issue-architect
Use this agent when converting research findings, recommendations, or analysis into actionable GitHub issues. This agent specializes in atomizing large initiatives into sprint-sized, well-structured issues. Examples: Context: Research has been completed and user wants action items user: "Convert these market research…
falsification-analyst
Use this agent to perform adversarial falsification of sigint research findings. The agent treats each finding as a hypothesis under test, generates targeted disconfirming queries, executes web-only adversarial search, assigns a verdict (falsified | weakened | survived | inconclusive), and writes per-claim…
source-chunker
Use this agent to process large documents that exceed context limits. Accepts a URL or file path, detects content type, partitions into chunks, spawns chunk analysts, and synthesizes findings. Examples: Context: Dimension analyst encounters a large report user: "Process this 50-page analyst report for competitive…