The Skill Isn't Prompting

Everyone’s using AI coding agents now. Claude Code, Cursor, Copilot, Gemini. You describe what you want, and code appears.

Sometimes it works beautifully. Sometimes you get something completely wrong. And when it goes wrong, the advice is always the same: get better at prompting.

Be specific. Give context. Break it down. Use examples. There’s a whole industry around “prompt engineering” — courses, guides, templates. The implicit message: if the AI isn’t doing what you want, you’re prompting wrong.

But here’s the thing. When a prompt fails, it’s rarely because you used the wrong magic words. It’s because you didn’t know what you wanted.

The Prompt Is a Mirror

Try this: ask an AI to help you with something you deeply understand. A bug you’ve already diagnosed. A feature you’ve thought through. A refactor you’ve mentally planned.

The prompt almost writes itself. You know exactly what to say because you know exactly what you need.

Now try the opposite. Ask for help on something fuzzy. A vague performance issue. A feature you haven’t fully scoped. A problem you can’t quite articulate.

The prompt is hard to write. Not because prompting is hard — because thinking is hard. You’re not struggling with the AI. You’re struggling with the problem.

The prompt just makes it visible.

What This Looks Like

You’re working on an API that’s slow. You open your AI agent and type: “Make this API faster.”

The agent asks: which endpoint? You’re not sure — you haven’t profiled it. You say: “The main one, the dashboard endpoint.”

It asks: what’s slow about it? The database query? The serialization? A downstream service? You don’t know. You haven’t looked.

So you say: “Just… optimize it.”

The agent does something. Adds caching, maybe. Changes a query. You deploy it. Nothing improves. Or worse — something breaks.

Was that a prompting problem? You could rewrite it with more context, more specificity. But the issue wasn’t the phrasing. The issue was: you didn’t know where the slowness came from. You hadn’t done the work to understand the problem. The prompt couldn’t fix that.

Now imagine you’d profiled first. Found that 80% of the latency was a single N+1 query in the user-permissions check.

Your prompt becomes: “This query runs once per user in a loop. Batch it into a single query.”

That prompt works. Not because it’s better engineered — because you understood the problem.

This Isn’t New

Programmers have known this forever. It’s called rubber duck debugging.

You sit down to explain a bug to someone — a colleague, a rubber duck on your desk, anyone. Halfway through the explanation, you stop. “Wait. Never mind. I see it now.”

The duck didn’t help you. The act of explaining helped you. Articulating the problem forced you to structure it. And structure revealed the gap.

Writing works the same way. You think you understand something until you try to write it down. The blank page exposes fuzzy thinking. You don’t write to record your thoughts — you write to find out what they are.

AI agents are the same. The prompt is just another form of articulation. When it’s hard to write, that’s not a prompting problem. That’s a signal: you haven’t thought this through yet.

The Order of Operations

Prompt engineering techniques work. Being specific helps. Giving context helps. Breaking problems down helps.

But they only work after you’ve done the thinking.

The techniques are the last mile, not the first. They help you communicate clearly once you know what you’re communicating. They can’t generate clarity you don’t have.

No amount of prompt templates will fix unclear thinking. You can’t trick your way past it. The AI will either ask clarifying questions (revealing your gaps) or confidently build the wrong thing (revealing them later).

The skill isn’t prompting. The skill is thinking clearly enough that the prompt becomes obvious. After that, the techniques help you say it well.

The Takeaway

This might sound like bad news. AI was supposed to make things easier. Now you’re telling me I have to think more?

Maybe. But this isn’t a new burden. It’s the burden that was always there. Before AI, unclear thinking hid in half-finished tasks, vague tickets, and code that kind of worked. The feedback loop was slow. Now it’s immediate. You type a fuzzy prompt, you get fuzzy results. The gap is visible in seconds.

That’s useful, even if it doesn’t feel that way.

Next time a prompt isn’t working, don’t reach for a better template. Ask: do I actually understand what I’m trying to do?

If you do, the prompt will be easy. If you don’t, no prompt will save you — but now you know where the real work is.

The skill was never prompting. It was always thinking. AI just made it obvious.