omnifocus-mcp: Instructions file for Codex

AGENTS.md

omnifocus-mcp AGENTS.md is an instructions file for Codex, OpenCode from torsday/omnifocus-mcp. It costs 6,885 tokens per session, scanned A, original, MIT.

A set of project instructions for omnifocus-mcp, a TypeScript server that lets coding agents work with OmniFocus, a task-management app. It defines coding standards, directory-specific rules, and conventions for its JavaScript automation and MCP tools.

In plain words
What is it for?
Use it when working on omnifocus-mcp to understand its architecture, follow the right standards, read applicable directory instructions, and use the correct test harnesses.
Why use it?
It gives agents the project context and local rules they need before changing code. This reduces mistakes caused by hidden assumptions about runtimes, tests, response formats, or folder-specific behavior.

Instructions file for CodexOpenCode

Written for Codex and OpenCode: the file is AGENTS.md. Also seen: reads .claude/ paths; mentions CLAUDE.md; mentions Claude Code.

This is torsday/omnifocus-mcp's own configuration. It tells Codex and OpenCode how to work on omnifocus-mcp itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything omnifocus-mcp configures →

Reuse

Borrowing it

Nothing to install: this file belongs to torsday/omnifocus-mcp. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.

Copy the file
curl -O https://raw.githubusercontent.com/torsday/omnifocus-mcp/main/AGENTS.md
Clone the repo
git clone --depth 1 https://github.com/torsday/omnifocus-mcp

Made for: Codex, OpenCode.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for omnifocus-mcp AGENTS.md

README.md
[![agentmods](https://agentmods.dev/badge/instructions/torsday/omnifocus-mcp/agents-md.svg)](https://agentmods.dev/instructions/torsday/omnifocus-mcp/agents-md)
Your own site
<a href="https://agentmods.dev/instructions/torsday/omnifocus-mcp/agents-md"><img src="https://agentmods.dev/badge/instructions/torsday/omnifocus-mcp/agents-md.svg" alt="Measured on agentmods" height="20"></a>
Per session 6,885 This file is loaded in full into every session.
When invoked 6,885 The same file — it is already loaded in full.
Security scan A 1 finding. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What 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.

ModelPer sessionOnce invoked
Fable 5.1 $0.06885 $0.06885
Opus 5 $0.03442 $0.03442
Sonnet 5 $0.01377 $0.01377
Haiku 4.5 $0.00688 $0.00688

Measured 6d ago against content hash 4c48689322d7, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-07, from the pricing page.

Security

Grade A, and why

omnifocus-mcp AGENTS.md scanned grade A with 1 finding 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 6d 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.

Runs shell commandslowCapability

Expected in a hook, worth knowing in a rule or an instructions file.

- **JXA bridge contention with concurrent MCP clients** (#932) — the JXA bridge is single-threaded, so each active Claude-client-spawned MCP server queues against the same bridge the integration suite uses. With 5+ Claud
AGENTS.md · 346 lines

How it starts

The opening of the file, as written. The whole thing — 346 lines — stays where its author put it; the contents beside it link to each section on GitHub.

omnifocus-mcp

MCP server exposing the full OmniFocus surface to LLM agents via @modelcontextprotocol/sdk. TypeScript + Node.js. Talks to OmniFocus via JXA (primary) and OmniJS (fallback for features JXA can't reach).

Always-on engineering context

Follow the standards in, in priority order:

  1. /coding — SOLID, pure functions, typed errors, Goldilocks testing
  2. /adr — options-first architecture, R/S/M eval, ADR discipline
  3. MCP tool design: atomic, composable, rich responses, actionable errors, idempotency, circuit breakers
  4. Interaction style: direct, precise, no filler

Per-directory CLAUDE.md files

Three subtrees ship a directory-scoped CLAUDE.md — agents that respect Claude Code's auto-load convention pick these up automatically when working under the matching path. Read them before editing files in those areas; they capture invariants the source files don't restate.

  • src/scripts/jxa/CLAUDE.mdosascript runtime distinction, OF 4.x quirks (container() not parent(), containingProject().class() exception handling), the two test harnesses (bridge mock vs sandboxed JS-eval).
  • src/envelope/CLAUDE.md — response-envelope pipeline (project → elide → truncate → cap), defaults registry, the per-tool verbose contract.
  • src/tools/CLAUDE.md — adding a tool (4 touch points), descriptionShape lint, common pitfalls.

Finding tools: Read src/tools/INDEX.md for a one-line-per-tool index grouped by domain. Much cheaper than grepping across the tool source tree.

Project-specific conventions

  • Adapter seam is sacred. Services never see osascript or URL schemes. The OmniFocusAdapter interface is the only boundary between domain logic and the OS. Tests swap in InMemoryAdapter.
  • Scripts are first-class source files. Every JXA/OmniJS script lives in src/scripts/{jxa,omnijs}/*.js, parameterized via JSON.parse of a single argument. No inline script strings in service code.
  • Tool naming: <noun>_<verb> snake_case — task_list, task_create, project_mark_reviewed. Consistent verbs across nouns.
  • IDs only, never names. OmniFocus names collide and change. All references use OF's persistent IDs at the API boundary.
  • Dates are ISO-8601 with offset at the adapter boundary. OF's local-time strings stay inside the adapter.
  • Mutations invalidate the 30s LRU read cache. Never bypass the cache layer directly.
  • Rich notes round-trip. Task notes expose both note (plain) and noteHtml (fidelity). Prefer plain on read unless explicitly requested.
  • Attachments by path, never bytes. Binary payloads don't belong in MCP text responses.
  • Doc-size budgets. AGENTS.md ≤ 200 lines, src/**/CLAUDE.md ≤ 80 lines each. pnpm lint:docs enforces these. Suppress with <!-- doc-size-lint-disable: reason --> if genuinely necessary (logged as a warning). See scripts/lint-doc-sizes.ts for the full budget table.

Read the full file on GitHub · 346 lines

Changes

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.

  1. 6d ago First seen · 346 lines · 6,885 tokens per session scan A 4c48689322d7

Subscribe to this mod's changes

omnifocus-mcp AGENTS.md is an instructions file published in the GitHub repository torsday/omnifocus-mcp (1 stars, last pushed 6d ago), licensed MIT. It adds 6,885 tokens to every session, about $0.0344 per session on Opus 5. A static security scan graded it A with 1 finding (runs shell commands). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other instructions, from other repositories

codex AGENTS.md

AGENTS.md instructions for openai/codex, covering rust/codex-rs, the codex-core crate, code review rules, crate api surface and model visible context.

openai/codex · 5,182 tokens

vscode buildNext.instructions.md

Working notes and architecture documentation for the new esbuild-based build system in build/next. Use when making changes to the new build pipeline (transpile/bundle commands, NLS plugin, source-map handling, resource copying, or self-hosting watch tasks).

microsoft/vscode · 6,785 tokens

next.js AGENTS.md

AGENTS.md instructions for vercel/next.js, covering next.js development guide, codebase structure, monorepo overview, core package: packages/next and other important packages.

vercel/next.js · 7,296 tokens

langchain AGENTS.md

AGENTS.md instructions for langchain-ai/langchain, covering global development guidelines for the langchain monorepo, corridor security analysis, project architecture and context, monorepo structure and development tools & commands.

langchain-ai/langchain · 4,469 tokens

vscode oss-third-party-notices.instructions.md

Instructions for microsoft/vscode, covering vs code oss third-party-notices pipeline, architecture, pipeline flow in ci, applying the notice (cutover) and fallback chain (never fail the build).

microsoft/vscode · 5,001 tokens

spec-kit AGENTS.md

AGENTS.md instructions for github/spec-kit, covering agents.md, about spec kit and specify, quickstart — add a new integration in 5 steps, integration architecture and integrationmanifest — file tracking.

github/spec-kit · 7,104 tokens