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 instructions/citrolabs/ego-lite/agents-mdgit clone --depth 1 https://github.com/citrolabs/ego-liteWhat 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.01577 | $0.01577 |
| Opus 5 | $0.00788 | $0.00788 |
| Sonnet 5 | $0.00315 | $0.00315 |
| Haiku 4.5 | $0.00158 | $0.00158 |
Grade A, and why
ego-lite AGENTS.md 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.
How it starts
The opening of the file, as written. The whole thing — 61 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Repository Guidelines
Project Overview
ego-browser is a Node.js CDP browser-automation harness for AI agents. It drives the ego lite browser through globalThis.ego bindings (provided by the closed-source ego lite app), exposes a compact snapshot/ref workflow, and layers reusable site-specific knowledge ("learnings") on top of the browser runtime.
This repo contains the open-source harness and the agent skill package — not the browser itself. The ego lite app bundles its own ego-browser binary that embeds this runtime; skills/ego-browser/SKILL.md documents that binary's usage (ego-browser nodejs <<'EOF' ... EOF). The repo CLI built here takes the heredoc directly on stdin with no subcommand.
Architecture & Data Flow
package/ego-browser/src/index.tsis the entrypoint with two startup paths:- Executed directly as a CLI →
runMain()(reads JavaScript from stdin, executes it). - Imported as a module (how the app embeds it) →
installEgoSdk(globalThis).
- Executed directly as a CLI →
- Both paths expose the same helper surface, built by
helperContext()insrc/helpers.ts— the single source of truth for what agents can call (includinghelp()andagent_helpers.jsextensions). src/run.tsexecutes stdin JavaScript inside an async function with the helpers injected as parameters.src/browser-runtime.tsowns CDP transport overego.sendCDPMessage, session attach/caching (2s TTL, auto re-attach on session loss), the buffered event queue (10k cap), and JS dialog tracking.src/cdp-eval.tsprovidescdp()andjs()(string-expression evaluation; top-levelreturnis auto-wrapped in an IIFE).src/element-resolver.tsresolves all target forms —@Nrefs,loc=css:/loc=role:/loc=href:locators,xpath=, raw CSS — and classifies failures astransient(retryable) orpermanent.src/ref-map.ts+src/ref-state.ts: refs are numericbackendNodeIds (@21, not@e21). The map is rebuilt on every snapshot; using a ref while the map is empty triggers an automatic re-snapshot, which is what makes refs work across heredoc rounds.src/driver/—nav(tabs, navigation),pointer(click/scroll/drag),keyboard,observe(snapshot/screenshot),waits,files(upload),element-ops(objectId handles),load.src/learning/— discovery, validation, and execution of site skills fromskills/ego-browser/learnings/<site>/manifest.json(runSiteTool,runSiteBrowserTool,learnContext).src/state.tsis the shared mutable runtime state singleton;src/env.tsresolves the agent workspace (EGO_BROWSER_AGENT_WORKSPACE, falling back to the skill dir bundled next to the build output, then the repo'sskills/ego-browser).src/help-runtime.tsparses the built bundle's JSDoc with acorn at runtime to powerhelp()— JSDoc on exported helpers is therefore user-facing documentation.
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.
- yesterday First seen · 61 lines · 1,577 tokens per session scan A 73d8d7a1d03e
ego-lite AGENTS.md is an instructions file published in the GitHub repository citrolabs/ego-lite (14,365 stars, last pushed 2d ago), licensed MIT. It adds 1,577 tokens to every session, about $0.0079 per session on Opus 5. 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 instructions, from other repositories
actionbook CLAUDE.md
Instructions for actionbook/actionbook, covering claude.md, project overview, architecture, domain model hierarchy and module structure.
stealth-browser-mcp AGENTS.md
Instructions for vibheksoni/stealth-browser-mcp, covering agent instructions, start here, recommended proxy services, environment and validation.
playwright-rust CLAUDE.md
Instructions for padamson/playwright-rust, covering claude.md, project, repository layout, skills (procedural reference) and documentation hierarchy.
pi AGENTS.md
Instructions for TGYD-helige/pi, covering pi extensions monorepo — agent guidelines, project overview, required agent skills, ponytail — minimal-code discipline and mattpocock/skills — engineering workflow skills.
flyto-core CLAUDE.md
Instructions for flytohub/flyto-core, covering claude notes, cross-agent handoff and shared code intelligence.
mcp-stealth-chrome AGENTS.md
Instructions for RobithYusuf/mcp-stealth-chrome, covering mcp-stealth-chrome — agent guide, product and repository map, hard constraints, working defaults and architecture invariants.