canvas-drop: Instructions file for Codex

AGENTS.md

canvas-drop AGENTS.md is an instructions file for Codex, OpenCode from markpasternak/canvas-drop. It costs 4,674 tokens per session, scanned A, original, MIT.

Repository instructions for Canvas Drop, a self-hosted platform where authenticated organization members deploy and share small web applications called canvases. They define the project's workflow and point to its locked product specification.

In plain words
What is it for?
Use them when planning or implementing Canvas Drop features, checking the project's delivery loop, or understanding its hosting, editing, sharing, administration, gallery, and realtime capabilities.
Why use it?
They give agents the shared development process and the project's current feature history, so changes can be planned against the intended product behavior. They also identify which document takes priority when instructions conflict.

Instructions file for CodexOpenCode

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

This is markpasternak/canvas-drop's own configuration. It tells Codex and OpenCode how to work on canvas-drop 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 canvas-drop configures →

Needs its repository: it reads a path above its own folder, which exists only inside the repository. The line is ../canvas-drop-<branch>/ # your worktree for the unit you're on.

Reuse

Borrowing it

Nothing to install: this file belongs to markpasternak/canvas-drop. 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/markpasternak/canvas-drop/main/AGENTS.md
Clone the repo
git clone --depth 1 https://github.com/markpasternak/canvas-drop

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 canvas-drop AGENTS.md

README.md
[![agentmods](https://agentmods.dev/badge/instructions/markpasternak/canvas-drop/agents-md/github.svg)](https://agentmods.dev/instructions/markpasternak/canvas-drop/agents-md)
Your own site
<a href="https://agentmods.dev/instructions/markpasternak/canvas-drop/agents-md"><img src="https://agentmods.dev/badge/instructions/markpasternak/canvas-drop/agents-md/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for canvas-drop AGENTS.md

Your own site · 80×15
<a href="https://agentmods.dev/instructions/markpasternak/canvas-drop/agents-md"><img src="https://agentmods.dev/badge/instructions/markpasternak/canvas-drop/agents-md.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 4,674 This file is loaded in full into every session.
When invoked 4,674 The same file — it is already loaded in full.
Security scan A 0 findings. 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.04674 $0.04674
Opus 5.5 $0.01870 $0.01870
Sonnet 5.5 $0.00935 $0.00935
Haiku 4.5 $0.00467 $0.00467

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

Security

Grade A, and why

canvas-drop 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 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.

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.

AGENTS.md · 175 lines

How it starts

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

AGENTS.md — canvas-drop

Canonical agent instructions for this repo. CLAUDE.md is a symlink to this file, so Claude Code and Codex read the same contract. Edit this file, never the symlink.

canvas-drop is an open-source (MIT), self-hostable platform where authenticated org members deploy and share small web artifacts ("canvases"). The locked product spec is BUILD_BRIEF.md — it supersedes everything when there's a conflict.


How we work (the loop)

Both agents follow the same compound-engineering loop:

  1. Plan — work comes from a plan in docs/plans/. v1 is feature-complete: M1–M9 are all shipped and merged to main — foundation (M1), hosting + deploy (M2), dashboard core (M3), canvas-management depth (M4), the editor + draft/publish version model on content-addressed storage (M5), the five primitives + browser SDK (M6: KV, files, me(), browser SDK), admin + hardening (M7), gallery (M8), and the AI proxy + realtime (M9). Every post-v1 feature is also merged: the canvas sharing access ladder (auth-delegated Add person grants + admin-gated public links), Shared discovery for canvases already opened to the viewer, usage stats, server-side list filters, the docs system (/docs, /llms.txt, /skill.zip), clone-as-template, the primitives showcase, owner-chosen custom slugs, the MCP server (connect-once /mcp, OAuth 2.1, identity-scoped tools, on by default), the staged content-addressed upload (begin→stage→finalize), the signed-out landing page, the per-canvas preview control (auto-screenshot / off / owner-uploaded custom cover that survives publishes), tenancy (P1 org boundary, PR #56; P2 org teams + personal teams + auth-delegated invites, PR #58; access governance), the authoring capability (page-driven create, PR #70) + managed shares (PR #71), admin-flippable design skins, Anthropic prompt caching, per-version ZIP download + delete (PR #74), org-scoped gallery listing (PR #76), bulk archive/unarchive/delete, and the popular sort. The only open milestone is M10 ops/packaging (BUILD_BRIEF §16: Docker image + compose, backup/restore drill, single-VPS load test, IAP pilot). Of M10, the Docker image + compose, vendor-neutral deploy docs, backup/restore (the pnpm backup|restore|purge CLI in apps/server/src/ops/, the docs/ops.md runbook, and an automated round-trip test on both dialects), the security review of the five invariants (docs/security/), README/quickstart, the 3 starter examples, and the secret-scan have shipped; the single-VPS load test and the IAP colleague pilot are still deferred. Also shipped: MCP ↔ user parity (docs/plans/2026-06-17-001-feat-mcp-user-parity-plan.md) — the MCP tool surface (47 tools) is now at full parity with the dashboard owner/editor/viewer surface: anything a user can do in the UI, an agent can do over MCP (settings/sharing via update_canvas, the preview cover via update_canvas previewMode + set_canvas_preview, the access/guest tools, list_shared_canvases, lifecycle, clone_canvas, get_canvas_usage, version export/deletion, and the whole draft-editor loop), each wrapping the same service layer with the same role checks (the agent-native parity rule). Also shipped (2026-09-01): canvas editor roles + ownership transfer (docs/plans/2026-09-01-1909-feat-canvas-editor-roles-plan.md, issue #82, PR #84) — viewer/editor roles on every canvas's people list (people and teams), one role resolver behind every owner gate, owner→editor transfer and admin reassign, per-file stale-save conflicts, owned-or-edited lists, and MCP parity driven by tool-roles.ts; learnings in docs/solutions/2026-09-01-canvas-editor-roles-role-threading-and-transfer-atomicity.md. Also shipped (2026-09-02): the restricted access model (docs/plans/2026-09-02-0830-feat-restricted-access-model-plan.md, issue #86) — the people-and-teams list applies at every rung (HTTP + realtime, one predicate), General access is Restricted / Whole org / Public link, specific_people and team are legacy aliases of private (no migration), team grants are never cleared by a rung change, Shared lists direct and team grants at any rung, and authored-share lists expose every non-deleted lifecycle (draft, published, expired, unpublished, archived, disabled); learnings in docs/solutions/2026-09-02-restricted-access-model-the-list-always-applies.md. Also shipped (2026-09-02): Sharing and permissions UX + viewer clone parity (docs/plans/2026-09-02-1340-feat-share-permissions-ux-clone-parity-plan.md, issue #92) — one direct-access list with People/Teams add tabs, native role controls, a quiet action menu, separate General access and Protection sections, owner-only Advanced transfer, and one clone-eligibility resolver for direct and team viewers. Also shipped (2026-09-12): deployment coordination (docs/plans/2026-09-12-1811-feat-deployment-coordination-plan.md) — an optional opaque releaseId stored on versions (at most one kept ready version per canvas carries a value) and a per-canvas publicationToken rotated by every live-pointer write, accepted as expectedPublicationToken on the ZIP, staged and MCP deploy paths with one atomic conditional activation; already_current success, PUBLICATION_CHANGED / RELEASE_NOT_CURRENT conflicts, no side effects on either; learnings in docs/solutions/2026-09-12-publication-token-and-release-identity.md. Check docs/project-status.md for current status (it is kept in step with the code; BUILD_BRIEF.md §16 is the roadmap, not a status ledger); don't free-style features that aren't in a plan.
  2. Issue — each plan/phase has a GitHub issue with the units as a checklist (foundation = #1, C+D = #4, area E = #6, all closed). Tick a unit's box when its PR merges.
  3. Branch in your worktree — never work in the shared checkout. Branch name: feat/u<N>-<slug> (e.g. feat/u7-auth-core).
  4. Implement one unit at a time, with its test scenarios from the plan. Tests are not optional for feature-bearing units.
  5. Capture learnings — run /ce-compound (or write to docs/solutions/) whenever you hit something non-obvious: a gotcha, a decision, a pattern, a workflow fix. This is how knowledge compounds across Claude and Codex.
  6. PR per unit — title U<N>: <what> (#1). The CI matrix must be green before merge.
  7. Merge small, merge often — see "Compounding" below.

Read the full file on GitHub · 175 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 Changed · +11 tokens per session 9eb928a7444d
  2. 1mo ago Changed · +148 tokens per session ef637023dd36
  3. 1mo ago Changed · +23 lines · +357 tokens per session d772c38832ae
  4. 2mo ago Changed · +1 tokens per session a0413e850c7e
  5. 2mo ago Changed · +4 lines · +763 tokens per session ab5b4516fa89
  6. 2mo ago First seen · 148 lines · 3,394 tokens per session scan A 464cffa57f11

Subscribe to this mod's changes

canvas-drop AGENTS.md is an instructions file published in the GitHub repository markpasternak/canvas-drop (8 stars, last pushed 2d ago), licensed MIT. It adds 4,674 tokens to every session, about $0.0187 per session on Opus 5.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-31.

Related

canvas-drop AGENTS.md compared with instructions from other repositories

canvas-drop AGENTS.md next to 6 instructions from other repositories
ModTypeStarsLast pushLicenceScanTokensWorks with
canvas-drop AGENTS.mdmarkpasternak/canvas-dropInstructions file82d agoMITA4,674Codex, OpenCode
vscode buildNext.instructions.mdmicrosoft/vscodeInstructions file195kyesterdayMITA9,719GitHub Copilot
next.js AGENTS.mdvercel/next.jsInstructions file143kyesterdayMITA7,461Codex, OpenCode
langchain AGENTS.mdlangchain-ai/langchainInstructions file149kyesterdayMITA4,680Codex, OpenCode
vscode oss-third-party-notices.instructions.mdmicrosoft/vscodeInstructions file195kyesterdayMITA5,516GitHub Copilot
vscode copilot-instructions.mdmicrosoft/vscodeInstructions file195kyesterdayMITA3,093GitHub Copilot
deepseek-harness AGENTS.mddeepseek-ai/deepseek-harnessInstructions file274k2d agoMITA4,313Codex, OpenCode