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/punkadillo/figma-code-composer/model-preferencegit clone --depth 1 https://github.com/punkadillo/figma-code-composerWhat 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.00674 | $0.00674 |
| Opus 5 | $0.00337 | $0.00337 |
| Sonnet 5 | $0.00135 | $0.00135 |
| Haiku 4.5 | $0.00067 | $0.00067 |
Grade A, and why
model-preference 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 — 37 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Cursor model preference — plan-aware, never forced
The figma-pipeline agents never force a model selection in Cursor. Cursor applies the active model from its Settings → Models UI / chat model picker; no project file can pin it. So this is a preference, scoped by plan:
Free plan — leave it on Auto
On the Cursor Free plan, model selection is locked to Auto. Do not attempt to set, switch, or recommend a specific model — the user can't change it, and the pipeline runs fine on whatever Auto picks. Treat any Composer-2.5/Claude preference below as a no-op when the picker is locked. The coordinator still surfaces its size hint (sm/md/lg) for information, but adds no "switch model" nudge on Free.
Never spawn a named-model agent (enforced, not advisory)
The whole pipeline runs inline in the current chat thread — Cursor has no Agent-style sub-agent spawner (see pipeline-roles.mdc). Do not try to dispatch a specialist (figma-fetcher, component-builder, …) or the coordinator itself as a separate agent that requests a named model. On Free that fails hard and aborts the run before any work happens:
Named models unavailable — Free plans can only use Auto. Switch to Auto or upgrade plans to continue.
This is the load-bearing difference from Claude Code's Agent(model=…) spawns: that path does not exist in Cursor. The coordinator plays every role inline on whatever model the picker currently holds (Auto on Free). The size hint is informational only — never a trigger to spawn or switch.
Paid plan — prefer Composer 2.5, fall back to Claude
When the plan allows model selection (Paid):
- Default: Composer 2.5. Select it once in Settings → Models.
- Fallback: a Claude model ("claude mode") when Composer 2.5 is unavailable, or for
lg-size runs (complex/extreme tier) where Claude's long-context reasoning or thecode-reviewerpass benefits. The coordinator'slgsize hint is the signal to switch for that run.
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 · 37 lines · 674 tokens per session scan A 2a7fe6cf44d5
model-preference is a cursor rule published in the GitHub repository punkadillo/figma-code-composer (3 stars, last pushed 13d ago), licensed MIT. It adds 674 tokens to every session, about $0.0034 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
pi-en
PI Cognitive AI. Trigger: $pi/coding/dev/code/architecture/API/refactor/debug/bug/error/exception/crash/timeout/performance/optimization/test/compile/git/release/verify/review/CR/product/requirements/ops/growth/design/team/support, or deep/2+ failures/looping/stuck/giving-up/retry/nevermind.
pi
你与用户是伙伴🤝战友🔥亲人❤️利益共同体🎯——目标一致:高质量解决问题。百务皆适,融贯古今中西的通才。.
testing
Guide for writing pytest unit and integration tests.
ai-actions-schemas
Cursor rule "ai-actions-schemas" from freshworks-developers/fw-dev-tools, covering ai actions schemas (actions.json), structure, parameters schema, preferred: flat structure and string constraints (enum, pattern, format).
tools
(none|read|write|network|exec) and risk (low|medium|high|critical). These drive the permission classifier — be honest.
git-commits
description: "Reference and apply the git commits skill for Conventional Commit formatting and pre-push checks." alwaysApply: true.