From cursor-pack
Guides Cursor Tab autocomplete: ghost text acceptance, key bindings (Tab/Esc), settings tweaks, and context tips for better AI code predictions.
How this skill is triggered — by the user, by Claude, or both
Slash command
/cursor-pack:cursor-tab-completionThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Master Cursor's AI-powered Tab completion system. Tab uses a specialized Cursor model trained for inline code prediction -- it learns from your accept/reject behavior to improve over time.
Master Cursor's AI-powered Tab completion system. Tab uses a specialized Cursor model trained for inline code prediction -- it learns from your accept/reject behavior to improve over time.
// You type:
function validateEmail(email: string)
// Ghost text appears:
function validateEmail(email: string): boolean {
const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/; ← gray ghost text
return emailRegex.test(email);
}
| Action | macOS | Windows/Linux |
|---|---|---|
| Accept full suggestion | Tab | Tab |
| Accept word-by-word | Cmd+→ | Ctrl+→ |
| Dismiss suggestion | Esc | Esc |
| Force trigger | Ctrl+Space | Ctrl+Space |
Word-by-word acceptance (Cmd+→) is powerful for partial suggestions. If the AI suggests a complete function but you only want the signature, accept word-by-word until you have what you need, then type your own body.
Access via Cursor Settings > Tab:
| Setting | Purpose | Recommendation |
|---|---|---|
| Tab Completion | Master on/off toggle | Keep enabled |
| Trigger in comments | Generate comment text | Disable for less noise |
| Accept suggestion keybinding | Remap Tab to another key | Default (Tab) works best |
| Suggestion delay | Time before ghost text appears | Lower = faster but more flicker |
If Tab suggestions in comments are distracting:
Cursor Settings > Tab Completion > uncheck Trigger in comments
Tab quality depends heavily on available context:
.cursor/rules/*.mdc or .cursorrules content// BAD: Tab has no context about what you want
function process(data) {
// GOOD: Type signature gives Tab strong signal
function processPayment(
amount: number,
currency: 'USD' | 'EUR',
paymentMethod: PaymentMethod
): Promise<PaymentResult> {
Write descriptive function names and type signatures first. Tab uses these as strong signals for generating the body.
// Parse CSV file, skip header row, return array of objects with typed fields
function parseCSV(filepath: string): Promise<Record<string, string>[]> {
// Tab will generate the full implementation based on the comment above
}
| Feature | Trigger | Scope | Speed |
|---|---|---|---|
| Tab | Automatic while typing | Single completion | Instant (~100ms) |
| Inline Edit (Cmd+K) | Manual selection + prompt | Selected code block | ~2-5 seconds |
| Chat (Cmd+L) | Manual prompt | Conversational | ~3-10 seconds |
| Composer (Cmd+I) | Manual prompt | Multi-file | ~5-30 seconds |
Tab is the only feature that runs continuously as you type. It is optimized for speed over capability -- simple completions, not complex reasoning.
If Tab conflicts with other extensions:
Extensions > search "Copilot" > Disable. Running both causes duplicate ghost text.Remap if needed: Cmd+K Cmd+S > search acceptCursorTabSuggestion > assign new key.
Tab gets better with usage. The model learns from:
After a few days on a project, Tab suggestions become noticeably more aligned with your coding style.
npx claudepluginhub jeremylongshore/claude-code-plugins-plus-skills --plugin cursor-packGuides creation of a TypeScript project to hands-on learn Cursor AI: Tab completion from comments, Chat for code gen/explain, Inline Edit for diffs.
Configures and optimizes Windsurf Supercomplete AI code completions including triggers, language options, custom snippets, performance tuning, and personalization for Windsurf IDE users.
Guides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.