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/markpasternak/canvas-drop/agents-mdgit clone --depth 1 https://github.com/markpasternak/canvas-dropWrote 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.
[](https://agentmods.dev/instructions/markpasternak/canvas-drop/agents-md)<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>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.
| Model | Per session | Once 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 |
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.
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.mdis 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:
- Plan — work comes from a plan in
docs/plans/. v1 is feature-complete: M1–M9 are all shipped and merged tomain— 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 thepopularsort. 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 (thepnpm backup|restore|purgeCLI inapps/server/src/ops/, thedocs/ops.mdrunbook, 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 viaupdate_canvas, the preview cover viaupdate_canvaspreviewMode +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 bytool-roles.ts; learnings indocs/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_peopleandteamare legacy aliases ofprivate(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 indocs/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. CheckREADME.mdStatus for current status (it is kept in step with the code;BUILD_BRIEF.md §16is the roadmap, not a status ledger); don't free-style features that aren't in a plan. - 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.
- Branch in your worktree — never work in the shared checkout. Branch name:
feat/u<N>-<slug>(e.g.feat/u7-auth-core). - Implement one unit at a time, with its test scenarios from the plan. Tests are not optional for feature-bearing units.
- Capture learnings — run
/ce-compound(or write todocs/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. - PR per unit — title
U<N>: <what> (#1). The CI matrix must be green before merge. - Merge small, merge often — see "Compounding" below.
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.
- today Changed · +4 lines · +763 tokens per session ab5b4516fa89
- 4d ago First seen · 148 lines · 3,394 tokens per session scan A 464cffa57f11
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.
Other instructions, from other repositories
rewind AGENTS.md
Instructions for pdugan20/rewind, covering rewind, work modes, development commands, agent configuration and architecture overview.
auren-content AGENTS.md
Instructions for muneebhashone/auren-content: This version has breaking changes — APIs, conventions, and file structure may all differ from your training data. Read the relevant guide in nodemodules/next/dist/docs/ before writing any code. Heed deprecation notices.
auren-content CLAUDE.md
Instructions for muneebhashone/auren-content, a project described as: Multi-LLM content strategy dashboard — research-grounded weekly social calendar for X, LinkedIn, and Reddit with personas, story bank, and performance feedback.
rewind CLAUDE.md
Instructions for pdugan20/rewind, a project described as: Personal data aggregation service. Syncs data from Strava, Last.fm, Discogs, Plex, Trakt, and Letterboxd into a centralized API.
ai-dial-core CLAUDE.md
Claude Code instructions for epam/ai-dial-core, covering claude.md, build & run, set credentials via environment variables, build (skip tests) and run all tests.
blockrun-mcp AGENTS.md
AGENTS.md instructions for BlockRunAI/blockrun-mcp, covering blockrun mcp, commands, project structure, key dependencies and install in codex.