canvas-drop AGENTS.md

canvas-drop AGENTS.md is an instructions file for Codex, OpenCode from markpasternak/canvas-drop. It costs 4,157 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

Install

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.

agentmods
npx agentmods add instructions/markpasternak/canvas-drop/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.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.svg" alt="Measured on agentmods" height="20"></a>
Per session 4,157 This file is loaded in full into every session.
When invoked 4,157 The same file — it is already loaded in full.
Security scan A 0 findings. Scan, not verified.
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 $0.04157 $0.04157
Opus 5 $0.02079 $0.02079
Sonnet 5 $0.00831 $0.00831
Haiku 4.5 $0.00416 $0.00416

Measured today against content hash ab5b4516fa89, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, 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 today.

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 · 152 lines

How it starts

The opening of the file, as written. The whole thing — 152 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. Check README.md Status 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 · 152 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. today Changed · +4 lines · +763 tokens per session ab5b4516fa89
  2. 4d 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 (7 stars, last pushed yesterday), licensed MIT. It adds 4,157 tokens to every session, about $0.0208 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-31.

Related

Other instructions, from other repositories