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/steipete/oracle/agents-mdgit clone --depth 1 https://github.com/steipete/oracleWhat 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.01193 | $0.01193 |
| Opus 5 | $0.00596 | $0.00596 |
| Sonnet 5 | $0.00239 | $0.00239 |
| Haiku 4.5 | $0.00119 | $0.00119 |
Grade A, and why
oracle 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 2d 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 — 31 lines — stays where its author put it; the contents beside it link to each section on GitHub.
AGENTS.MD
Oracle-specific notes:
- ChatGPT project URLs: [email protected] -> https://chatgpt.com/g/g-p-691edc9fec088191b553a35093da1ea8-oracle/project; [email protected] -> https://chatgpt.com/g/g-p-69505ed97e3081918a275477a647a682/project. Prefer studpete URL if steipete project not found.
- Pro browser runs: allow up to 10 minutes; never click "Answer now"; keep at least 1–2 Pro live tests (reattach must stay Pro); move other tests to faster models where safe.
- Live smoke tests: OpenAI live tests are opt-in. Run
ORACLE_LIVE_TEST=1 pnpm vitest run tests/live/openai-live.test.tswith a realOPENAI_API_KEYwhen you need the background path; gpt-5-pro can take ~10 minutes. - Wait defaults: gpt-5-pro API runs detach by default; use
--waitto stay attached. gpt-5.1 and browser runs block by default; every run printsoracle session <id>for reattach. - Session storage: Oracle stores session data under
~/.oracle; delete it if you need a clean slate. - CLI output: the first line of any top-level CLI start banner should use the oracle emoji, e.g.
🧿 oracle (<version>) ...; keep it only for the initial command headline. Exception: the TUI exit message also keeps the emoji. - Model access note (2025-11-23): gpt-5.1-pro and grok-4.1 are not yet available on Peter’s keys; live tests that require them will fail until access is granted.
- Oracle CLI on Node 25: if
pnpm dlx @steipete/oracle --helpfails with a missingnode_sqlite3.node, rebuild sqlite3 in the pnpm dlx cache using system Python:PYTHON=/usr/bin/python3 /Users/steipete/Projects/oracle/runner npx node-gyp rebuildfrom the sqlite3 package dir printed in the error, then rerun the command. - Before a release, skim manual smokes in
docs/manual-tests.mdand rerun any that cover your change surface (especially browser/serve paths). - If browser smokes echo the prompt (Instant), rerun with
--browser-keep-browser --verbosein tmux, then inspect DOM withpnpm tsx scripts/browser-tools.ts eval ...to confirm assistant turns exist; we fixed a case by refreshing assistant snapshots post-send. - Browser “Pro thinking” gate: never click/auto-click ChatGPT’s “Answer now” button. Treat it as a placeholder and wait 10m–1h for the real assistant response (auto-clicking skips long thinking and changes behavior).
- Browser smokes should preserve Markdown (lists, fences); if output looks flattened or echoed, inspect the captured assistant turn via
browser-tools.ts evalbefore shipping. - Working on Windows? Read and update
docs/windows-work.mdbefore you start. - Sparkle signing key lives at
/Users/steipete/Library/CloudStorage/Dropbox/Backup/Sparkle; setSPARKLE_PRIVATE_KEY_FILEto that path when notarizing the notifier. - Browser cookie sync + Node 25: if browser runs fail with “Failed to load keytar… Cannot find module '../build/Release/keytar.node'” and no cookies are applied, rebuild keytar in the pnpm dlx cache: run
PYTHON=/usr/bin/python3 /Users/steipete/Projects/oracle/runner npx node-gyp rebuildinside the keytar directory printed in the error, then rerun the oracle command. - npm publish OTP: prepare/tag/release first, then run
npm publish ...and stop atEnter OTP:; ask user for the OTP and continue (ok to handle OTP in chat).
Browser-mode debug notes (ChatGPT URL override)
- When a ChatGPT folder/workspace URL is set, Cloudflare can block automation even after cookie sync. Use
--browser-keep-browserto leave Chrome open, solve the interstitial manually, then rerun. - If a run stalls/looks finished but CLI didn’t stream output, check the latest session (
oracle status) and open it (oracle session <id> --render) to confirm completion. - Active Chrome port/pid live in session metadata (
~/.oracle/sessions/<id>/meta.json). Connect withnpx tsx scripts/browser-tools.ts eval --port <port> "({ href: window.location.href, ready: document.readyState })"to inspect the page. - To debug with agent-tools, launch Chrome via an Oracle browser run (cookies copied) and keep it open (
--browser-keep-browser). Then use~/Projects/agent-scripts/bin/browser-tools ... --port <port>with the port from~/.oracle/sessions/<id>/meta.json. Avoid starting a fresh browser-tools Chrome when you need the synced cookies. - Double-hop nav is implemented (root then target URL), but Cloudflare may still need manual clearance or inline cookies.
- After finishing a feature, ask whether it matters to end users; if yes, update the changelog. Read the top ~100 lines first and group related edits into one entry instead of scattering multiple bullets.
- Beta publishing: when asked to ship a beta to npm, bump the version with a beta suffix (e.g.,
0.4.4-beta.1) before publishing; npm will not let you overwrite an existing beta tag without a new version.
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.
- 2d ago First seen · 31 lines · 1,193 tokens per session scan A ca4085936eb8
oracle AGENTS.md is an instructions file published in the GitHub repository steipete/oracle (3,838 stars, last pushed 2d ago), licensed MIT. It adds 1,193 tokens to every session, about $0.0060 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
openai-agents-python AGENTS.md
AGENTS.md instructions for openai/openai-agents-python, covering contributor guide, policies & mandatory rules, mandatory skill usage, work status reporting and git worktree and branch safety.
AI-Gateway AGENTS.md
Instructions for Azure-Samples/AI-Gateway, covering agents.md, directory structure, labs/, modules/ and shared/.
opengeni AGENTS.md
Instructions for Cloudgeni-ai/opengeni, covering agent / automation notes (opengeni), full local stack, architecture notes, pull-request delivery across moving main and keeping these notes current.
Assistant CLAUDE.md
Instructions for bearlike/Assistant, covering agents guide — mewbo, mandatory: hydrate before touching files, what mewbo is, monorepo layering — read before adding a module and engineering principles.
axonhub AGENTS.md
AGENTS.md instructions for looplj/axonhub, covering agents.md, global rules, configuration, project overview and technology stack.
axonhub CLAUDE.md
Claude Code instructions for looplj/axonhub: @AGENTS.md read and follow its instructions.