CtrlK
BlogDocsLog inGet started
Tessl Logo

cursor-ai-chat

Master Cursor AI Chat with @-mentions, inline edit, and conversation patterns. Triggers on "cursor chat", "cursor ai chat", "ask cursor", "cursor conversation", "chat with cursor", "Cmd+L", "inline edit".

73

Quality

68%

Does it follow best practices?

Impact

Pending

No eval scenarios have been run

SecuritybySnyk

Advisory

Suggest reviewing before use

Optimize this skill with Tessl

npx tessl skill review --optimize ./plugins/saas-packs/cursor-pack/skills/cursor-ai-chat/SKILL.md
SKILL.md
Quality
Evals
Security

Cursor AI Chat

Master the Cursor AI Chat panel and inline edit for code assistance, debugging, and exploration.

Core Chat Interfaces

Chat Panel (Cmd+L / Ctrl+L)

The side-panel chat for conversational code assistance:

┌─────────────────────────────────┐
│  Chat                     [M]   │  ← Model selector
│─────────────────────────────────│
│  Context Pills:                 │
│  [main.ts] [utils/] [@Web]      │  ← Active context shown as pills
│─────────────────────────────────│
│  User: Explain the auth flow    │
│  in @src/auth/middleware.ts     │
│                                 │
│  AI: The middleware checks...   │
│─────────────────────────────────│
│  [Type message...]    [Send]    │
└─────────────────────────────────┘

Key actions:

  • Select code in editor, then Cmd+L to add selection as context
  • Cmd+Shift+L adds selection to existing chat without clearing
  • Click model name in top-right to switch models mid-conversation

Inline Edit (Cmd+K / Ctrl+K)

Surgical edits within the editor. Select code (or place cursor), press Cmd+K, type instruction:

Selected: function calculateTotal(items) { ... }

Prompt: "Add TypeScript types and handle empty array edge case"

Result: Cursor shows diff inline -- green for additions, red for removals.
        Press Cmd+Y to accept, Esc to reject.

Best for single-function edits, type annotations, refactoring a specific block, adding error handling.

@-Symbol Reference

Type @ in chat to access context sources:

SymbolPurposeExample
@FilesReference specific files@src/utils/auth.ts
@FoldersInclude directory contents@src/components/
@CodeReference specific symbols@handleSubmit function
@DocsExternal documentation@Docs React Router
@GitGit diff context@Git (uncommitted changes)
@CodebaseSemantic search full codebase@Codebase where is auth handled?
@WebLive web search@Web latest Next.js 15 changes
@DefinitionsSymbol definitionsJump to type/function definitions
@Cursor RulesActive project rulesShow which rules are loaded
@Recent ChangesRecent file editsContext from recent modifications
@Lint ErrorsCurrent lint issuesFix active linting problems

@Docs: Adding Custom Documentation

Register external docs for @Docs lookup:

  1. Cursor Settings > Features > Docs
  2. Click Add new doc
  3. Enter URL: https://react.dev/reference/react (Cursor crawls and indexes it)
  4. Reference in chat: @Docs React then ask questions

Works with any documentation site. Good for framework APIs, internal wikis, design systems.

Effective Prompting Patterns

Pattern 1: Context-First Prompts

@src/api/orders.ts @src/types/order.ts

The createOrder function doesn't validate the shipping address.
Add Zod validation that checks: street, city, state (2-letter), zip (5 or 9 digit).
Throw a typed ValidationError if invalid.

Pattern 2: Reference-Based Generation

@src/api/users.ts

Create a new file src/api/products.ts following the exact same pattern
as the users API. CRUD endpoints, same error handling, same response format.
Product fields: id, name, price (cents), category, createdAt.

Pattern 3: Debug with Context

@src/hooks/useAuth.ts @Lint Errors

The useAuth hook causes an infinite re-render loop when the token expires.
The useEffect fires repeatedly. What's the root cause and how do I fix the
dependency array?

Pattern 4: Architecture Discussion

@src/components/ @src/api/

I need to add real-time notifications. The app uses REST APIs currently.
Should I add WebSockets, SSE, or polling? Consider the existing architecture
shown in these directories.

Multi-Turn Conversation Management

Start new chats for new topics. Long conversations degrade response quality as context fills up.

When to start fresh:

  • Switching to a different feature or bug
  • After 10+ turns on the same topic
  • When responses start repeating or losing accuracy

When to continue:

  • Iterating on the same code change
  • Follow-up questions about the same file
  • Asking for tests after generating code

Model Selection for Chat

Switch models using the dropdown in chat header:

TaskRecommended Model
Quick questions, explanationsGPT-4o, Claude Sonnet
Complex refactoring, architectureClaude Opus, GPT-5
Bug hunting, reasoningo1, o3 reasoning models
Speed-critical simple taskscursor-small, GPT-4o-mini
Auto (let Cursor decide)Auto mode

Chat vs Inline Edit vs Composer

FeatureChat (Cmd+L)Inline (Cmd+K)Composer (Cmd+I)
ScopeExploration, Q&ASingle block editMulti-file changes
ContextConversation historySelected codeProject-wide
OutputText + code snippetsInline diffFile-level diffs
Best forUnderstanding, planningQuick fixes, typesFeatures, scaffolding

Enterprise Considerations

  • Privacy Mode: Enable in Cursor Settings > General > Privacy Mode for zero data retention
  • Model governance: Teams can restrict which models developers access via admin dashboard
  • Audit: Chat interactions are not logged server-side when Privacy Mode is on
  • Cost control: Use Auto mode or default to faster models; reserve Opus/GPT-5 for complex tasks

Resources

  • Cursor Chat Documentation
  • @ Symbols Overview
  • Keyboard Shortcuts
Repository
jeremylongshore/claude-code-plugins-plus-skills
Last updated
Created

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.