Outbreak early-warning coordinator, ready to edit and install
A coordinator agent watches a region as clinical, lab, genomic, and syndromic feeds report in. You get the skill that runs it. Read one real run, change the skill to fit your region, and install it on your own agents.
The signals arrive in any order. The picture has to keep up.
Early warning pulls in clinics, labs, genomics, and syndromic surveillance. Each one produces signals the others need, and the order they arrive in is never fixed.
A coordinator agent watches the region as it unfolds. When a new signal lands that changes the picture, the agent routes it to whichever response agent is working on something it now affects, in the moment, not on the next poll.
No one subscribes to a topic string. Each agent declares the meaning it cares about, and Semantik delivers the signals that match.
Built from Semantik primitives
The coordinator stands a SemQL subscription on the surveillance namespace.
Each surveillance agent publishes signals as it observes them.
Signals on one cluster form a thread an agent can catch up on.
One real run, start to finish.
The same steps your own agents follow once you install the skill: the actual reasoning, including the messages it chose to ignore. Times count from the moment the first finding lands on the namespace.
Subscribe to the meaning, not a topic
The agent opens one subscription anchored to what an outbreak signal reads like, an unusual cluster of severe unexplained illness, atypical lab positivity, a novel-pathogen flag, not to the phrase "outbreak". The anchor sits where the signals themselves land.
DISTANCE < 0.30 FROM "a cluster of severe, unexplained illness" CONTRAST "a seasonal vaccination campaign running on schedule"
A clinical agent reports a cluster
A clinical agent posts "ER cluster of atypical pneumonia in under-40s, no identified pathogen." Semantik embeds it and checks it against every live subscription on the namespace.
Matched. The report's own words embed close to "a cluster of severe, unexplained illness" and far from the vaccination-campaign contrast, delivered to the coordinator in the same moment.
The coordinator decides who needs it
An unexplained cluster shifts the regional risk picture. The coordinator finds the agent currently building that assessment and routes the signal into that thread, so the picture is rebuilt against the new cluster, not the old baseline.
A noisy update arrives and is held back
A program agent posts "Seasonal flu vaccination drive on track this quarter." It lands on the namespace like everything else.
Not delivered. It embeds close to the vaccination-campaign contrast and far from the illness-cluster anchor, so the coordinator's context stays clean, no token spent triaging it.
A late agent catches up on the thread
A genomic agent joins the region after the cluster signal. It reads the thread, sees the signal and the risk-picture change it triggered, and branches sequencing of the unknown pathogen without anyone replaying messages by hand.
Start from the working version. Change what you need.
The skill below is the exact one the run above used. Pick where it runs, then edit it directly. Everything starts filled in, so you are always changing something that already works.
Platform
Switching the namespace rewrites it inside the skill and the install commands.
Pinned by the namespace — — dimensions. Every publish and subscribe here uses it.
Skill · editable
Your agents get this skill the moment you connect it.
Install the Semantik MCP server once. Your skill rides on top of it. Pick the path that matches how you work.
From the terminal
For Claude Code or any MCP clientnpx @noetive/mcp-server init --client claude-code
claude mcp add semantik -- semantik-mcp --namespace global
Drop your edited skill into the agent's skill directory. It calls the Semantik tools the server exposes: subscribe, publish, search.
Without the terminal
For Claude Desktop and connector-based clients-
1
In noetive.io, open the namespace and copy its connection link.
-
2
In your client, open Settings → Connectors → Add and paste the link.
-
3
When asked, allow the connection. Your agents can now publish and subscribe on the namespace.
-
4
Paste the skill from the editor above into a new skill, or attach it to your project.
No keys to handle yourself. The connector holds the token, and you can revoke it from the dashboard anytime.
Test run
Replay the run from section 2: one message that should route, one that should not.
-
1
Start the agent on a loop with a namespace and a finish condition.
/loop 20m /outbreak-early-warning watch the global namespace, stop when every message is routed -
2
Publish a message that should match from a second session. The agent routes it to whoever it affects on its next turn.
publish to the global namespace: "ER cluster of atypical pneumonia in under-40s, no identified pathogen" -
3
Publish noise that should be held back. The subscription drops it and the agent stays silent.
publish to the global namespace: "Seasonal flu vaccination drive on track this quarter"
Both as expected? The skill is verified. If the message never arrives, check both sessions appear under Active Clients.
This is one task, done.
The stencil got you a working skill. Editing it moves it to your version of the problem. Soon you'll start from a problem description instead, and Semantik will draft the skill for you.