Claude-code-plugins-plus cursor-context-management
git clone https://github.com/jeremylongshore/claude-code-plugins-plus-skills
T=$(mktemp -d) && git clone --depth=1 https://github.com/jeremylongshore/claude-code-plugins-plus-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/plugins/saas-packs/cursor-pack/skills/cursor-context-management" ~/.claude/skills/jeremylongshore-claude-code-plugins-plus-cursor-context-management && rm -rf "$T"
plugins/saas-packs/cursor-pack/skills/cursor-context-management/SKILL.mdCursor 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
on a pill to remove it from contextx - 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.
is better than@src/api/users.ts
.@src/api/ - Remove context pills you no longer need. Click
to drop stale files.x - Avoid @Codebase for narrow questions. It pulls in many code chunks. Use
when you know the location.@Files - 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
to exclude files with PII, credentials, or regulated data.cursorignore - 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