From occasional use to daily instinct
After this, you'll be able to use tab complete on purpose: write a short skeleton that steers the suggestion, read every completion before pressing Tab, and recognize when you have hit the Level 2 ceiling.
Before you start
Complete Your First Productive AI Conversation first; this lesson builds on the specificity habit you developed there.
The idea
Tab complete is the grey ghost text that appears as you type in Cursor, GitHub Copilot, or Claude Code. You press Tab and it fills in the rest. The mechanic is simple. The habit is the hard part. Most people use it when it happens to appear. The Level 2 skill is using it on purpose: writing just enough to give the model a pattern to continue, then letting it work.
The model sees what is near your cursor. A blank line gives it almost nothing. A skeleton function with typed parameters and a descriptive name gives it everything it needs to complete the right thing. Vague stubs get vague completions.
Here is the before and after: blank line after a function declaration, the completion offers a generic loop body with placeholder variables. Same position after writing a function name, its expected inputs, and a one-line comment describing what it should return: the completion correctly handles three date formats in one pass. Two seconds of skeleton writing saved 15 minutes of back-and-forth corrections.
The one rule worth locking in before you move to the next level: read the completion before you press Tab. The model will autocomplete a bug as confidently as it autocompletes correct code. If you accept without reading, you are not using AI. You are just typing faster and introducing harder-to-spot mistakes.
The ceiling at this level is obvious after a few weeks. Nothing compounds. Every session resets. Multi-file changes still require you to open each file and coordinate edits by hand. That ceiling is exactly what Level 3 solves. You do not need to push through it here. You just need the habit before you move on.
Try it (5 min)
Watch out for
Paste this into Claude:
I want to build the tab-complete-on-purpose habit today. Pick a function I actually need to write. Before I type the body, walk me through writing the skeleton: (1) the function name that signals intent, (2) the typed parameters that describe the input shape, (3) a one-line comment describing what it should return. Then I will trigger the completion in my editor and paste back what the model generated. Read it with me and tell me whether the skeleton produced a usable suggestion or whether I need to add more signal.
What good looks like:
When this breaks
You can now
Demonstrate the habit on three real completions in a row: write a typed skeleton, read the suggestion fully, and explain why you accepted, edited, or rejected each one.
Key takeaways
Tab complete pays off when you steer it on purpose: write a skeleton with intent, read every suggestion before accepting, and stop when the task spans files.