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/pacificstudio/openase/agents-mdgit clone --depth 1 https://github.com/PacificStudio/openaseWhat 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.01518 | $0.01518 |
| Opus 5 | $0.00759 | $0.00759 |
| Sonnet 5 | $0.00304 | $0.00304 |
| Haiku 4.5 | $0.00152 | $0.00152 |
Grade A, and why
openase 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 — 24 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Workspace Notes
Environment
- This workspace may not have
goorgofmtonPATH. If Go validation is needed, first try the workspace-local toolchain under.tooling/go/bin/, for examplePATH=$PWD/.tooling/go/bin:$PATH go test ./.... - If
.tooling/go/binis unavailable, a verified fallback toolchain is installed at$HOME/.local/go1.26.1/bin/go; prependPATH=$HOME/.local/go1.26.1/bin:$PATHfor builds, tests, andgofmt. - The frontend toolchain may also require a newer Node than
/usr/bin/nodeprovides. If Svelte/Vite startup fails onnode:util.styleText, usePATH=$HOME/.nvm/versions/node/v22.22.1/bin:$PATHforvitest,prettier, and otherweb/checks. - In embedded-postgres backed tests, creating
ProjectRepo.labelsorAgent.capabilitiesvia direct Ent builders currently serializesTEXT[]as JSON-like literals and fails withpq: malformed array literal. Prefer API/service paths that already normalize array input, or avoid asserting on those fields in direct Ent setup until the repository-side array encoding is fixed. - Fresh empty databases can currently race schema migration when
openase all-in-onestartsserveandorchestrateconcurrently. For local validation against a brand-new DB, pre-run one migration pass first (for example by opening the DB once throughinternal/runtime/database.Open) before launchingall-in-one. internal/webui/static/.keepmust remain tracked on clean checkouts. CI jobs likemake openapi-checkcompileinternal/webui/ui.gowithout first building frontend assets, and deleting the placeholder causesgo:embed all:static: no matching files found.- Local redeploy cleanup must identify repo-local
openaseprocesses by resolved/proc/<pid>/exe, not only by argv. Older runs may survive as<repo-root>/bin/openase (deleted)and keep serving stale code on127.0.0.1:19836until explicitly killed. - Tests that touch
~/.openase/...must isolateHOMEper test run, preferably witht.TempDir()or a test-name-derived temp home. When parallel execution exposes cross-test contamination, fix the isolation boundary first instead of lowering concurrency to hide the problem. - Ticket-runtime
go testruns can inheritOPENASE_TICKET_IDand similar OpenASE env vars from the harness. Tests that assert missing ticket context should scrub inherited env vars explicitly instead of relying on the parent process env being empty. scripts/ci/backend_coverage.shrewritesHOMEto a temp directory beforemake check. In this workspace exportOPENASE_PGTEST_SHARED_ROOT=$HOME/.cache/openase/pgtestsointernal/testutil/pgtestreuses the extracted binaries instead of a cold temp-home cache that may miss the siblingpostgresbinary next toinitdb.- Backend CI runs on GitHub-hosted runners. Prefer
OPENASE_GO_TEST_PROGRESS_MODE=jsonfor backend CI jobs sogo testemits continuous progress instead of relying on sparse wrapper heartbeats. web/playwright.config.tscurrently hard-codes127.0.0.1:4173withreuseExistingServer: false. When concurrent workspaces already occupy that port, the local CI gate can fail even if the code is correct; in that case, keep the repo config unchanged and run the equivalent Playwright step with a temporary copied config on an alternate localhost port, then restore any generatedinternal/webui/staticartifacts before committing.scripts/dev/test_ephemeral_chat_blackbox.pycan fail against real local providers because rate limits or missing provider env vars surface before chat startup. For deterministic local validation in this workspace, preferpython3 scripts/dev/test_ephemeral_chat_blackbox.py --base-url http://127.0.0.1:19836 --provider-mode fake-codex --timeout-seconds 90.- This workspace currently has no X11/Wayland display server and no
xvfb-runhelper installed. Electron GUI E2E should either run on a machine with a display (or an Xvfb-wrapped CI job) or skip explicitly whenDISPLAY/WAYLAND_DISPLAYare absent. pnpmin this workspace can ignore install scripts by default. If Electron is installed but its binary payload is missing, run the bundled installer directly (for examplenode desktop/node_modules/electron/install.js) before attempting Playwright or packaging flows.- Claude Code auth can be misleading in this environment:
claude auth statusmay reportloggedIn: truewhile real prompt execution still fails with401 Invalid authentication credentials, andclaude --debug-file ... -p ...shows OAuth refresh attempts returning400fromhttps://platform.claude.com/v1/oauth/token. Current Claude builds also store OAuth metadata under~/.claude/.credentials.json -> claudeAiOauth, withexpiresAtas a millisecond Unix timestamp instead of the older top-level RFC3339 fields. Before treating Claude as ready here, verify with a realclaude -p ...prompt, not status output alone. - Additional Claude auth note: the current CLI also exposes
CLAUDE_CODE_OAUTH_TOKEN, but exporting the staleclaudeAiOauth.accessTokeninto that env var still fails real prompts with401 Invalid authentication credentials, and the storedrefreshTokenfails with401 Invalid bearer token.claude auth loginandclaude setup-tokenboth fall back to interactive browser OAuth flows on this machine, so unattended runs still need an externally refreshed login or a validANTHROPIC_API_KEY. - Further Claude auth note: this machine's saved Snap Firefox profile at
~/snap/firefox/common/.mozilla/firefox/6sfz7ccx.default/does contain realclaude.ai/claude.com/platform.claude.comcookies, but that still does not unlock unattended Claude Code auth. Raw HTTP reuse of those cookies against Claude OAuth can still hit Cloudflare403 Just a moment..., and a real headless Firefox session with the saved cookies can get past Cloudflare but still lands onhttps://platform.claude.com/login?returnTo=%2F%3Fwith the normal Claude Platform sign-in page instead of an approval/code page. Treat that as more evidence that unattended runs here need a validANTHROPIC_API_KEYor a fresh human-completed platform login. - Official Claude Code settings docs now also mention
ANTHROPIC_AUTH_TOKEN, but on this machine injecting the storedclaudeAiOauth.accessTokenintoANTHROPIC_AUTH_TOKENstill fails realclaude -p --bare ...prompts with401and messageOAuth authentication is currently not supported.Injecting the storedrefreshTokenintoANTHROPIC_AUTH_TOKENfails with401 Invalid bearer token. So neither documented bearer-token path nor Claude's stored OAuth tokens provide an unattended escape hatch here.
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 · 24 lines · 1,518 tokens per session scan A b56f94e6fb65
openase AGENTS.md is an instructions file published in the GitHub repository PacificStudio/openase (265 stars, last pushed 24d ago), licensed Apache-2.0. It adds 1,518 tokens to every session, about $0.0076 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
maestro CLAUDE.md
Instructions for SnapdragonPartners/maestro, covering claude.md, project and authority, binding v2 workflow, branch and review workflow and spikes and deferred work.
chiplab AGENTS.md
Instructions for veecle/chiplab, covering agents.md, what is chiplab, 1. install / connect chiplab, 2. verify the connection and 3. pick the example for the board you want.
maestro copilot-instructions.md
Instructions for SnapdragonPartners/maestro, covering copilot code review instructions, review philosophy, spec compliance check, correctness and dryness and reuse.
chiplab copilot-instructions.md
Instructions for veecle/chiplab: Agent instructions for this repository live in AGENTS.md at the repo root. Please read that file for repository conventions, available workflows, and guidelines.
aisee-plugin AGENTS.md
Instructions for AISEE-LAB/aisee-plugin, covering agent instructions for aisee plugin, 项目目的, 工程原则, 事实源边界 and review 指引.
maestro AGENTS.md
Instructions for SnapdragonPartners/maestro, a project described as: The Maestro App Factory: a highly-opinionated multi-agent orchestration tool for app development that emulates the workflow of high-functioning human development teams using AI agents.