Examples
A cookbook of AgentMark patterns. Every one of these is in the editor under Load example… — open it, edit it, export it. For the complete reference document see the Hermes worked example.
Sketch — the viral core
Four arrows, zero setup.
[User] -> [Agent] -> [Model]
[Agent] -> [MCP] -> [Tool]
[Agent] -> [RAG] -> [Data]
[Agent] -> [Eval] -> [Agent]
Channel — two-way interaction (Telegram)
How a user interacts with a harness through a channel and gets replies back the same way. Model
the channel as a node and read the whole thing as one two-way chain — Me <-> Telegram <-> Hermes —
rather than drawing the request and response as separate, overlapping edges.
---
agentmark: 0.2.0
title: Hermes over Telegram
direction: LR
---
# I talk to Hermes through Telegram, and it replies the same way.
[human#me: Me] <->[Telegram] [mcp#tg: Telegram MCP] <->[Telegram] [harness#hermes: Hermes]
# What the harness does with each message.
[harness#hermes] -> [agent#worker: Worker Agent {roles: [planner, executor]}] -> [model#m: Model]
[agent#worker] ~>[traces] [log#otel: OpenTelemetry]
Prefer to show the request and response explicitly? Draw both directed edges — the renderer fans out parallel edges so they don't overlap:
[human#me: Me] ->[/command] [mcp#tg: Telegram MCP] -> [harness#hermes: Hermes]
[harness#hermes] ->[response] [mcp#tg] -> [human#me]
Spec — IDs, roles, properties, fan-out, edge labels
---
agentmark: 0.2.0
title: Coding Agent (Spec)
---
[human#you: You] -> [harness#codex: Codex Harness]
[harness#codex]
-> [agent#coder: Coding Agent {roles: [planner, coder, tester], autonomy: 3}]
-> [middleware#mcp_selector: MCP Tool Selector {strategy: shortlist, top_k: 12}]
-> [mcp#github: GitHub MCP]
[agent#coder] -> [model#sonnet: Claude Sonnet]
[agent#coder] ~>[streams traces] [log#otel: OpenTelemetry]
[policy#no_prod: No Prod Writes] x>[forbids] [tool#deploy: Deploy]
Governance — trust, authority, risk
Model what an agent may do without asking, and gate high-risk capabilities.
---
agentmark: 0.2.0
title: Browser Agent Governance
as_of: 2026-06-02
review_by: 2026-07-01
---
[agent#browser: Browser Agent {roles: [browser, form_filler]}] -> [driver#playwright: Playwright] -> [browser#chromium: Chromium {mode: headless}] -> [sandbox#box: Browser Sandbox]
[policy#no_exfil: No Credential Exfiltration] x>[blocks] [browser#chromium]
authority:
[agent#browser: Browser Agent]
can:
- read_dom
- take_screenshot
cannot:
- submit_payment
- exfiltrate_credentials
approval_required:
- download_file
capability: run_shell { risk: high, requires: [approval: User Approval] }
capability: delete_data { risk: critical, requires: [approval: Admin Approval] }
Top-down layout
The same notation, rendered top→bottom (set direction: TB, or use the editor's layout toggle):
---
agentmark: 0.2.0
title: Pipeline (top-down)
direction: TB
---
[User] -> [Router] -> [Planner] -> [Executor] -> [Model]
Knowledge layer — claims, decisions, staleness
claim C-001:
text: Codex is best suited for cost-optimized backend coding.
kind: comparative
scope: Hermes
metric: overall_suitability
evidence: [bench#CODE-HARNESS-2026-06]
confidence: medium
review_by: 2026-06-16
decision D-001:
title: Use Codex as the primary coding harness
status: accepted
chosen: [model#codex: Codex]
supported_by: [C-001]
invalid_if:
- C-001 expires
bench CODE-HARNESS-2026-06:
title: Coding-agent comparison
run_on: 2026-06-02
candidates: [Codex, GLM, Opus]
metrics:
- accepted_patch_rate
- cost_per_accepted_patch
Run am stale (or watch the editor's staleness panel) and this decision is reported stale once
2026-06-16 passes, because the claim it rests on has expired.