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/assessgit 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.00646 |
| Opus 5 | $0.00000 | $0.00323 |
| Sonnet 5 | $0.00000 | $0.00129 |
| Haiku 4.5 | $0.00000 | $0.00065 |
Grade A, and why
assess 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 market map is being built for {{anchor}} — {{sells}} Its buyer: {{buyer}}
The markets it sells into, which are the only legal values for a query's market field:
{{capabilities}}
Copy one of those strings character for character onto every query you write. A query tagged with a market that is not on that list detaches everything it finds, because the graph hangs each host on the market whose query surfaced it.
So far, after {{waves}}: {{hosts}} distinct hosts from {{asked}} queries. Saturation: {{saturation}} — past roughly 70%, more of the same shape buys corroboration, not coverage; steer the next round at ground the sample below does not already hold, or say enough.
Angles already worked (intent · platform): {{angles}}
A sample of what came back: {{sample}}
What each family has bought so far, and what remains unreleased:
{{families}}
Every query opens reading two pages of results. Where a product has bought both, here is what page 2 added beyond page 1:
{{pageYield}}
A product whose page 2 kept finding hosts page 1 did not is a market this run has not
finished reading at this depth — name it in deepen and its queries read four pages
instead of two from here on. A product whose page 2 mostly repeated page 1 is already
saturated at this depth; naming it would spend real money on rows already seen.
Template queries still held in reserve, per product:
{{reserve}}
Widening is per product, per family. A product whose queries keep returning the same hosts is a
door already walked through — draw a DIFFERENT family or its next term from reserve. A family
returning fresh hosts on a product is paying — release more of its reserve. A product whose whole
hand came back thin gets more, taken from nobody. Ask for reserve releases in draw
(product + how many), and write fresh debranded queries only for gaps no template can reach.
Is this enough to show someone as a map of this market, or is something obviously missing? Think about the facets a complete map holds: companies going head-on, things that solve the same problem a different way, what this is built on and what plugs into it, and where these buyers actually gather and talk.
If something is missing, write queries aimed at THAT — not more of what has already been asked. Every rule from before still binds: never name the anchor, describe what things do, and each query must ask something the others do not.
You are deciding whether to spend more of the run's money. Saying enough when the map has an
obvious hole wastes the whole run; saying it is not enough when the last wave taught you nothing
spends real money buying corroboration of what you already know. Judge the map you have, not the
number of queries you have asked.
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 · 62 lines · 0 tokens per session scan A 11a248f26f84
assess 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 646 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…