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/nexi-lab/nexus/self-observabilitygit clone --depth 1 https://github.com/nexi-lab/nexusWhat 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.00743 |
| Opus 5 | $0.00000 | $0.00371 |
| Sonnet 5 | $0.00000 | $0.00149 |
| Haiku 4.5 | $0.00000 | $0.00074 |
Grade A, and why
self-observability 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 3d 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.
How it starts
The opening of the file, as written. The whole thing — 80 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Agent Self-Observability
Every Nexus agent has access to a JSONL log of its own activity at:
/.activity/{utc_date}/{agent_id}.jsonl
Use the same cat, grep, and jq you already use to inspect any other
mount.
Schema
{"ts":"2026-05-09T23:42:11.043Z","kind":"op","op":"read","path":"/s3/bucket/foo.txt","bytes":12834,"ms":43}
{"ts":"2026-05-09T23:42:12.110Z","kind":"exec","cmd":"grep needle /gh/owner/repo/README.md","exit_code":0,"ms":215}
{"ts":"2026-05-09T23:42:14.221Z","kind":"op","op":"write","path":"/local/notes.md","bytes":412,"ms":8}
ts is ISO-8601 UTC with millisecond precision and a Z suffix. cmd is
truncated to 4 KB; truncated records carry "cmd_truncated": true.
Examples
What did I read in the last hour?
grep '"kind":"op"' /.activity/2026-05-09/me.jsonl | grep '"op":"read"' | tail
How much time did I spend on Slack today?
jq 'select(.path | startswith("/slack/")) | .ms' /.activity/2026-05-09/me.jsonl \
| awk '{s+=$1} END {print s}'
What was my last failed command?
grep '"kind":"exec"' /.activity/2026-05-09/me.jsonl \
| jq 'select(.exit_code != 0)' | tail -1
Replace me.jsonl with your own agent_id.
Isolation
- Each agent can read only its own log file. ReBAC denies cross-agent reads.
- The mount is read-only for agents.
- Operators with
is_admincan read any agent's log.
Storage and retention
- Backed by RAM. Default cap 10 MB per agent per day, configurable via
NEXUS_ACTIVITY_AGENT_LOG_CAP_BYTES. - When the cap is hit, oldest lines are evicted (ring buffer). The most recent activity is always available.
- Retention defaults to 7 days in RAM, configurable via
NEXUS_ACTIVITY_AGENT_LOG_RETENTION_DAYS. No disk archive in v1. NEXUS_ACTIVITY_AGENT_LOG_ENABLED=0disables the feature entirely.NEXUS_ACTIVITY_AGENT_LOG_CMD_MAX_BYTES(default 4096) controls cmd truncation length.
Metrics
nexus_activity_agent_log_lines_dropped_total{reason}— reason ∈ {ring_evict,recursion,no_agent}.nexus_activity_agent_log_bytes{agent_id}— current per-agent buffer size.
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.
- 3d ago First seen · 80 lines · 0 tokens per session scan A ffabfdf6b81d
self-observability is an agent published in the GitHub repository nexi-lab/nexus (208 stars, last pushed 3d ago), licensed Apache-2.0. It costs nothing until one of its globs matches a file; then it loads 743 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
agent-architect
Use this agent when the user needs help designing, architecting, or planning new agents or workflows. This includes: Context: User wants to create a new agent system for their project. user: "I need to build an agent that monitors GitHub PRs and sends Slack notifications" assistant: "Let me use the agent-architect to…
agent-implementer
Use this agent when you need to implement AI agents based on approved implementation plans. This includes: Context: User has an approved implementation plan ready. user: "I have a plan for a GitHub PR monitoring agent, can you implement it?" assistant: "Let me use the agent-implementer to execute the implementation…
gsd-phase-researcher
Researches how to implement a phase before planning. Produces RESEARCH.md consumed by gsd-planner. Spawned by /gsd:plan-phase orchestrator.
cdo
APM Chief Documentation Officer. Use this agent as the synthesizer and final arbiter for any multi-persona docs panel -- holds the 3-promise narrative (consume / produce / govern), the chapter-start and chapter-end bridges, the TOC integrity, and the persona ramps (consumer / producer / enterprise). Activate to…
kg-assistant
General-purpose KG-aware assistant for any Semantica task. Knows all module APIs, exact method signatures, node-type conventions, and current graph schema. Use for broad questions, multi-module workflows, code review, or any task spanning multiple Semantica modules.
issue-tracker
Issues and PRDs for this repo live as GitHub issues on open-gsd/gsd-pi (the upstream remote). Use the gh CLI for all operations.