link

A relationship-mapping tool that explains how pairs of companies relate to each other. It classifies links such as coverage, directory listings, competitors, or substitutes, where a substitute is a different option that can remove the need for another product.

In plain words
What is it for?
Use it to connect companies in a market map, describe the direction of their relationship, and label whether they compete or substitute for one another.
Why use it?
It helps turn repeated search-result pairings into a more careful market map instead of simply listing companies around one central company. It also records when the evidence for a relationship is weak or strong.

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/link
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 441 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.00441
Opus 5 $0.00000 $0.00220
Sonnet 5 $0.00000 $0.00088
Haiku 4.5 $0.00000 $0.00044

Measured yesterday against content hash 10c03debcfeb, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

link 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 yesterday.

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/link.md · 35 lines

What it actually says

Say how these pairs of companies relate to EACH OTHER.

The map is being built around {{anchor}} — {{sells}} — but that anchor is not the subject here. Every edge you write joins two of the pairs below, and the anchor is not one of them. A map where everything connects only to the company at the centre is a list with a middle, not a market.

Each pair below was returned by the same search two or more times. That is the only reason they are in front of you: a search engine putting two hosts on one results page is the engine saying they answer the same question. It is a strong hint and it is not a verdict. Plenty of pairs co-occur because a listicle named both.

For each pair, either write one edge or write nothing.

  • from and to are the domains exactly as given. Direction carries meaning and is not reversible: a publisher covers a vendor, a directory lists one, a community discusses one. Never the other way round.
  • competitor means these two would appear on the same shortlist. substitute means one removes the need for the other by a different route.
  • confidence is measured only when a page you were shown put these two together for a stated reason. Otherwise it is inferred. Do not mark something measured because it feels certain.
  • why says HOW they relate, in a line a reader can act on or correct. "Both in web scraping" is worth nothing.
  • whySpan is one quote, copied character-for-character from either company's description above, that backs why specifically. Leave it out rather than paraphrase or invent one.

Write nothing at all for a pair that merely appeared together. Two vendors listed in the same roundup are not automatically rivals, a blog and a forum that both mention a topic have no relation to each other, and an edge nobody can defend is worse than a gap.

{{pairs}}

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. yesterday First seen · 35 lines · 0 tokens per session scan A 10c03debcfeb

Subscribe to this mod's changes

link is an agent published in the GitHub repository mo-root/open-kb (11 stars, last pushed yesterday), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 441 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