drop-confirm

A review step for market-map entries that were previously marked unrelated after reading a host's front page. It checks whether the existing evidence supports any weaker connection.

In plain words
What is it for?
Reconsidering hosts labeled unrelated using their recorded descriptions, reasons, and search queries. It helps identify competitors, substitutes, integrations, buyers, or other market connections without fetching the page again.
Why use it?
It reduces the chance that a single mistaken verdict removes a relevant company, publisher, directory, or community from the map.

Agent

Install

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.

agentmods
npx agentmods add agents/mo-root/open-kb/drop-confirm
Clone the repo
git clone --depth 1 https://github.com/mo-root/open-kb
Per session 0 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 730 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce 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

Measured 2d ago against content hash a491f3f824b9, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

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.

prompts/agents/drop-confirm.md · 51 lines

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}}

Changes

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.

  1. 2d ago First seen · 51 lines · 0 tokens per session scan A a491f3f824b9

Subscribe to this mod's changes

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.

Related

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.

zircote-plugins/sigint · 66 tokens

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…

zircote-plugins/sigint · 331 tokens

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…

zircote-plugins/sigint · 187 tokens

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…

zircote-plugins/sigint · 350 tokens

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…

zircote-plugins/sigint · 263 tokens

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…

zircote-plugins/sigint · 187 tokens