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 rules/apify/apify-cursor-plugin/apify-routinggit clone --depth 1 https://github.com/apify/apify-cursor-pluginWhat 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.00080 | $0.00771 |
| Opus 5 | $0.00040 | $0.00385 |
| Sonnet 5 | $0.00016 | $0.00154 |
| Haiku 4.5 | $0.00008 | $0.00077 |
Grade A, and why
apify-routing 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 yesterday.
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 — 50 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Apify Routing
Cursor exposes Apify skills (apify-actor-development, apify-actorization, apify-generate-output-schema, apify-sdk-integration, apify-ultimate-scraper) directly in the slash menu. They are internal capabilities owned by the apify subagent and must not be invoked on their own.
Required Behavior
When the user's request involves Apify — Actors, web scraping, browser automation, the Apify Store, the Apify SDK, the Apify CLI, the apify or apify-client npm packages, or anything at apify.com / console.apify.com — invoke the apify subagent first. Let it consult its routing matrix and dispatch to the correct skill or MCP tool.
Do not:
- Call any
apify-*skill directly from the slash menu without going through theapifysubagent. - Guess between
apify-actor-developmentvsapify-actorizationvsapify-sdk-integrationyourself — the subagent owns that decision (theapifySDK package and theapify-clientpackage are easy to confuse and picking wrong breaks the user's project). - Skip the subagent for "quick" Apify questions. Even MCP tool calls (
search-actors,run-actor, etc.) are routed through the subagent.
If the user types a slash command for an Apify skill explicitly, still hand off to the apify subagent so the routing matrix and authentication guidance are applied.
Why this rule exists
Apify exposes three very different products through its plugin: (1) using existing Actors via MCP, (2) building and deploying custom Actors with the SDK + CLI, and (3) calling Actors from an existing application via apify-client. Each path requires a different skill, a different authentication flow, and a different npm package. The apify subagent is the only place where the routing matrix and the package-naming trap are documented, so every Apify request must pass through it.
Apify CLI instructions:
- Before using the CLI, always check if it is installed:
apify --help
- If the CLI is installed, check if it is logged in:
# Auth check — do NOT pipe to /dev/null, you need to see errors
apify info 2>&1
- If the CLI is not logged in, instruct the user to log in with the non-interactive flag:
apify login --token TOKEN
- All of the APify commands needs to be run with the all permissions (depends on Agent sandbox)
- Apify commands blocks with zero output until the run completes. Set
block_until_msto at least 60000 (60s). - For long/unknown runs, use the async pattern instead:
apify actors start "ACTOR_ID" -i 'JSON_INPUT' --json 2>/dev/null
Then poll with apify info:
apify info actor-runs/RUN_ID --json
Check .status for SUCCEEDED or FAILED.
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.
- yesterday First seen · 50 lines · 80 tokens per session scan A f37ac965e6df
apify-routing is a cursor rule published in the GitHub repository apify/apify-cursor-plugin (3 stars, last pushed 7d ago), licensed Apache-2.0. It adds 80 tokens to every session and 771 once invoked, about $0.0004 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 cursor rules, from other repositories
webkit-browser
Cursor rule "webkit-browser" from duckduckgo/apple-browsers, covering webkit & browser development guidelines, webview configuration, basic webview setup, user scripts management and tab management.
cypress-e2e-testing-cursorrules-prompt-file
Cursor rules for Cypress development with E2E testing.
vasu-playwright-utils
../../templates/cursor-rules/vasu-playwright-utils.mdc.
subagents
How to spawn subagents -- mechanics, model roster, family diversity, attribution, and the debate-to-consensus loop. Read BEFORE spawning any subagent.
plan-subagent-accountability
Require Subagent reports section in plans and tie specialist runs to SUBAGENTREPORTS.md.
dev-browser
Fallback browser automation with persistent Chrome state. Use only when Browser Use is unavailable or blocked.