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/duckduckgo/apple-browsers/performance-optimizationgit clone --depth 1 https://github.com/duckduckgo/apple-browsersWhat 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.00000 | $0.02596 |
| Opus 5 | $0.00000 | $0.01298 |
| Sonnet 5 | $0.00000 | $0.00519 |
| Haiku 4.5 | $0.00000 | $0.00260 |
Grade A, and why
performance-optimization scanned grade A with 1 finding 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.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
return database.fetch(offset: page * pageSize, limit: pageSize) How it starts
The opening of the file, as written. The whole thing — 403 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Performance Optimization Guidelines
Memory Management
Avoid Retain Cycles
// Use weak/unowned references appropriately
class ViewController: UIViewController {
private var timer: Timer?
override func viewDidLoad() {
super.viewDidLoad()
// Bad - Creates retain cycle
timer = Timer.scheduledTimer(withTimeInterval: 1.0, repeats: true) { _ in
self.updateUI()
}
// Good - Weak reference prevents retain cycle
timer = Timer.scheduledTimer(withTimeInterval: 1.0, repeats: true) { [weak self] _ in
self?.updateUI()
}
}
deinit {
timer?.invalidate()
}
}
Lazy Loading
class DataManager {
// Load expensive resources only when needed
private lazy var database: Database = {
return Database()
}()
// Use computed properties for lightweight calculations
var itemCount: Int {
return items.count
}
// Cache expensive computations
private var _processedData: [ProcessedItem]?
var processedData: [ProcessedItem] {
if let cached = _processedData {
return cached
}
let processed = items.map { ProcessedItem($0) }
_processedData = processed
return processed
}
}
Memory-Efficient Collections
// Use appropriate collection types
struct LargeDataSet {
// Bad - Loads all data into memory
var allItems: [Item] {
return database.fetchAll()
}
// Good - Use lazy sequences
var items: LazySequence<[Item]> {
return database.fetchAll().lazy
}
// Better - Use pagination
func items(page: Int, pageSize: Int = 50) -> [Item] {
return database.fetch(offset: page * pageSize, limit: pageSize)
}
}
UI Performance
Main Thread Protection
class ImageLoader {
func loadImage(from url: URL, completion: @escaping (UIImage?) -> Void) {
Task {
// Perform heavy work on background queue
let data = try? await URLSession.shared.data(from: url).0
let image = data.flatMap { UIImage(data: $0) }
// Always update UI on main thread
await MainActor.run {
completion(image)
}
}
}
}
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 First seen · 403 lines · 0 tokens per session scan A 3e9a278e80c4
performance-optimization is a cursor rule published in the GitHub repository duckduckgo/apple-browsers (252 stars, last pushed today), licensed Apache-2.0. It costs nothing until one of its globs matches a file; then it loads 2,596 tokens. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-01.
Other cursor rules, from other repositories
release-policy
Release, versioning, and signing policy for setmac.
angular-20
This rule provides comprehensive best practices and coding standards for Angular development, focusing on modern TypeScript, standalone components, signals, and performance optimizations.
dev-standard
Apache Superset development standards and guidelines for Cursor IDE.
typescript
Changes to these high-fan-out internals can affect every message, delta, element, or rerun. Keep work in them minimal, and benchmark changes with representative stress-test apps.
coolify-ai-docs
Master reference to all Coolify AI documentation in .ai/ directory.
python_lib
Tips and guidelines specific to the development of the Streamlit Python library, not applicable to scripts and e2e tests.