"cursor-context-management"
Optimize context window usage in Cursor with @-mentions, context pills, and conversation strategy. Triggers on "cursor context", "context window", "context limit", "cursor memory", "context management", "@-mentions", "context pills".
Allowed Tools
Provided by Plugin
cursor-pack
Flagship+ skill pack for Cursor IDE - 30 skills for AI code completion, composer workflows, and IDE mastery
Installation
This skill is included in the cursor-pack plugin:
/plugin install cursor-pack@claude-code-plugins-plus
Click to copy
Instructions
Cursor Context Management
Optimize how Cursor AI uses context to produce accurate, relevant responses. Context is everything the model sees when generating a response -- managing it well is the single biggest lever for output quality.
Context Sources
Cursor assembles context from multiple sources before each AI request:
┌─ Always Included ─────────────────────────────────────┐
│ System prompt (Cursor internal) │
│ Active .cursor/rules/*.mdc with alwaysApply: true │
│ Current file (for Tab, Inline Edit) │
└───────────────────────────────────────────────────────┘
┌─ Conditionally Included ──────────────────────────────┐
│ Selected code (highlighted before Cmd+L/Cmd+K) │
│ @-mention targets (@Files, @Folders, @Code) │
│ Glob-matched rules (.mdc with matching globs) │
│ Conversation history (prior turns in chat) │
│ Open editor tabs (lightweight reference) │
└───────────────────────────────────────────────────────┘
┌─ On-Demand (explicit @-mention) ──────────────────────┐
│ @Codebase → semantic search across indexed files │
│ @Docs → crawled external documentation │
│ @Web → live web search results │
│ @Git → uncommitted diff or branch diff │
│ @Lint Errors → current file lint diagnostics │
└───────────────────────────────────────────────────────┘
Context Pills
Active context appears as pills at the top of the Chat/Composer panel:
[main.ts] [src/utils/] [@Web: next.js 15] [Rule: typescript-standards]
- Click a pill to expand and see its contents
- Click
xon a pill to remove it from context - Adding too many pills fills the context window, degrading response quality
@-Mention Strategy by Task
Code Understanding
@src/auth/middleware.ts @src/types/user.ts
Explain how the JWT validation works and what happens when a token expires.
Use @Files for specific files. Avoid @Folders unless you need the full directory -- it consumes a lot of context.
Bug Investigation
@src/hooks/useCart.ts @Lint Errors @Recent Changes
The cart total is NaN after the latest changes. What broke?
@Recent Changes + @Lint Errors gives the model forensic context.
Architecture Questions
@Codebase where are database queries made?
@Codebase triggers semantic search across the indexed codebase. Good for discovery when you do not know which files are relevant. Costs more context than targeted @Files mentions.
Using External Knowledge
@Docs Prisma @Web prisma client extensions 2025
How do I add soft-delete as a Prisma Client extension?
@Docs uses pre-indexed documentation. @Web does a live search. Combine both for comprehensive answers about third-party tools.
Context Budget Management
Each model has a context limit. Overloading it causes the model to drop information silently:
| Model | Context Window | Practical Limit |
|---|---|---|
| GPT-4o | 128K tokens | ~80K usable |
| Claude Sonnet | 200K tokens | ~150K usable |
| Claude Opus | 200K tokens | ~150K usable |
| cursor-small | 8K tokens | ~5K usable |
Signs of Context Overflow
- Model forgets instructions from earlier in the conversation
- Responses become generic or repetitive
- Model contradicts what it said 3 turns ago
- Suggested code ignores file context you provided
Mitigation Strategies
- Start new conversations frequently. One topic per conversation.
- Use specific @Files, not @Folders.
@src/api/users.tsis better than@src/api/. - Remove context pills you no longer need. Click
xto drop stale files. - Avoid @Codebase for narrow questions. It pulls in many code chunks. Use
@Fileswhen you know the location. - Break large tasks into steps. Ask for the type definitions first, then the implementation, then the tests -- in separate turns or chats.
Automatic vs Manual Context
Cursor automatically includes context in some cases:
| Feature | Automatic Context |
|---|---|
| Tab Completion | Current file + open tabs + recent edits |
| Inline Edit (Cmd+K) | Selected code + surrounding file |
| Chat (Cmd+L) | Conversation history + explicitly added context |
| Composer (Cmd+I) | Referenced files + codebase search |
For Chat and Composer, you control context through @-mentions. Tab and Inline Edit manage their own context automatically.
.cursorignore for Context Control
Prevent files from ever being included in AI context:
# .cursorignore (project root)
# Secrets and credentials
.env
.env.*
**/secrets/
**/credentials/
# Large generated files
dist/
build/
node_modules/
*.min.js
*.bundle.js
# Data files that consume context budget
*.csv
*.sql
*.sqlite
fixtures/
Note: .cursorignore is best-effort. It prevents files from appearing in indexing and AI features, but is not a security boundary for protecting secrets. Use .gitignore and environment variables for actual secret management.
Advanced: Scoped Rules as Context
Project rules automatically inject context when relevant files are opened:
# .cursor/rules/database-patterns.mdc
---
description: "Database query patterns and conventions"
globs: "src/db/**/*.ts,src/repositories/**/*.ts"
alwaysApply: false
---
# Database Conventions
- Use parameterized queries exclusively
- All queries go through repository pattern
- Wrap multi-table operations in transactions
- Use connection pooling (pool size: 10)
This rule automatically loads when editing database files, giving the AI the right conventions without you manually adding context each time.
Enterprise Considerations
- Data sensitivity: Use
.cursorignoreto exclude files with PII, credentials, or regulated data - Privacy Mode: Ensures code sent as context has zero data retention at model providers
- Conversation hygiene: Train teams to start new chats per task to avoid context bleed
- Cost awareness: Larger context = more tokens = higher API costs when using BYOK