Home / Articles / 30 Practical Claude Prompting Techniques from Real Daily Use

This article is published in English.

30 Practical Claude Prompting Techniques from Real Daily Use

A field-tested breakdown of 30 Claude prompting techniques, organized by what they actually accomplish, from clear instructions to full prompt systems.

3022 words

Countless "prompt engineering" guides get bookmarked and never revisited. Too many read as though someone fired off two prompts, grabbed a screenshot, and declared it a methodology.

What follows is different mainly because of its origin: months of daily, sometimes tedious back-and-forth with Claude, used across side projects and freelance writing work, with a fair amount of trial and error to determine which commonly repeated "best practices" actually survive contact with real work.

Some of the techniques below genuinely reshape how developers approach prompting. A handful get tested, disliked, but kept around because they still solve narrow problems well. And a couple that look like gimmicks turn out to be some of the most valuable entries on this entire list. Each section notes which category it falls into.

These are organized into four groups based on what each technique actually accomplishes, not how sophisticated it sounds on paper:

Part 1 — Say What You Mean          (clarity & structure)
Part 2 — Put Up Guardrails          (constraints & format control)
Part 3 — Make It Reason Out Loud    (thinking & iteration)
Part 4 — Build a System, Not a Prompt (workflows & long context)

Part 1 — Say What You Mean

1. Be explicit, not vague

This remains one of the most common mistakes people make when prompting. Asking for "make this better" gets you something generic and forgettable. Asking to "rewrite this paragraph so a non-technical founder can grasp the tradeoff in two sentences" gets you something usable.

A useful rule of thumb: if a prompt took less than 10 seconds to write, it probably wasn't specific enough.

2. Use structural tags to separate parts of your prompt

XML-style tags are worth using constantly — not because of any claim that this is Claude's "native language" (a claim that's hard to verify and worth treating skeptically when stated with total confidence), but because tags fix a real, practical issue: when instructions, background context, and examples all blur together in one block of text, the model has to guess where each section starts and stops. Tags eliminate that guesswork entirely.

<instructions>
Summarize the risks section only. Ignore financial projections.
</instructions>
<context>
[pasted document]
</context>
<output_format>
3 bullet points, no more than 15 words each
</output_format>

3. Context first, question last

This ordering matters more than it seems at first glance. Pasting a lengthy document and then asking a question afterward tends to produce noticeably worse answers than asking the question after all the material has been presented. One plausible explanation, though not a scientifically verified one, is that this ordering keeps the model from trying to formulate an answer before it has actually finished reading everything.

[long document]
---
Based on everything above, what's the single biggest
risk to the Q3 timeline?

4. Show, don't just describe (few-shot examples)

Descriptive adjectives are cheap and often vague. A single concrete example of the tone, structure, or format desired does more work than a full paragraph of description ever could. For recurring tasks — client emails, code review feedback, and similar routines — it helps to keep two or three "gold standard" examples saved in a notes file, ready to paste in whenever the same type of task comes up again.

5. Explain the why, not just the rule

This is one of the more surprising techniques on this list. Telling Claude to "keep this under 280 characters" works, technically. But telling it "this is going straight into a tweet, and anything past 280 characters gets cut off mid-sentence" produces visibly more careful output. It's as though giving a reason makes the model reason about the constraint throughout the response, rather than just tallying characters at the very end.

6. Explicitly allow "I don't know"

A single line is worth adding to nearly every research or analysis prompt:

If the available information isn't enough to draw a
conclusion, say so directly instead of guessing.

Skip this line and there's a real risk of getting confident-sounding nonsense back. Include it and the response sometimes becomes "there isn't enough information here to say for certain" — which feels unsatisfying in the moment but beats discovering a fabricated fact hours later.

7. Specify the output format, don't assume it

There's a real difference between asking for "a table" and asking for "a plain-text table formatted so it pastes cleanly into a code block, since Medium tends to break markdown tables." Spelling out the exact shape of the desired answer avoids that mismatch entirely.

8. Define what "done" looks like, not just the task

Rather than describing the task itself, describing what a successful outcome would look like tends to produce sharper results:

I need a competitor comparison so my co-founder can
pick a pricing tier in under 5 minutes without asking
me follow-up questions.

That single sentence carries more weight than three paragraphs of formatting rules ever could.

Part 2 — Put Up Guardrails

9. Negative constraints — say what it should NOT do

Sometimes it's quicker to define the target by excluding what you don't want than by trying to pin down exactly what you do want:

Do not sound like: a LinkedIn thought-leader post.
Do not include: "in today's fast-paced world," filler
caveats, or a summary that repeats the intro.

10. A "contract" style system prompt

For anything you plan to reuse, write the system prompt like a brief legal contract rather than a character sketch:

Role: technical editor for a solo dev's blog
Goal: tighten prose without changing meaning
Constraints:
 - keep first-person voice
 - no invented statistics
 - flag anything that sounds AI-generated
If unsure: ask one clarifying question, don't guess
Output: plain markdown, no headers added

11. Skip the "act as a senior expert" theater

This is a technique worth abandoning. Instructing Claude to "act as a 20-year veteran engineer" doesn't seem to change much once your instructions are already precise. The persona framing carries far less weight than the actual constraints you provide. Leaning on a role to compensate for missing specifics is usually a sign that the instructions themselves need sharpening.

12. Self-evaluation against a rubric

Instead of a generic "check your work," hand over an actual scoring rubric and require a self-assessed score before the final output:

Score your draft 1-10 on: technical accuracy, whether
a beginner could follow it, and whether it sounds
like a real person wrote it. Then revise based on
your own score. Show only the revised version.

This approach has caught real errors in code explanations and data summaries more than once.

13. Curate long documents instead of dumping everything

Feeding in more material doesn't automatically improve the answer. Pasting an entire codebase or a lengthy PDF without any pre-filtering tends to produce responses that skim the middle of the document and fixate on the opening and closing sections. A better approach is to have Claude pull out the relevant passages first and only reason over those afterward — a small-scale version of a retrieve-then-reason pipeline:

Step 1: extract the 5 passages most relevant to
[my question], quoting them exactly.
Step 2: analyze only those passages.

14. Tag multiple documents when comparing sources

When comparing more than one source, label and number each one explicitly instead of just separating them with blank lines. This small adjustment noticeably cuts down on the model attributing a claim to the wrong document.

<document index="1" name="Q3_report.pdf">...</document>
<document index="2" name="Q2_report.pdf">...</document>

15. Hard boundaries for structured output

When strict JSON or a specific schema is required, state it directly and list the exact keys, rather than describing the shape loosely and hoping the model infers it correctly:

Return only a JSON object with keys: title, summary,
confidence (0-1), open_questions (array of strings).
No text before or after the JSON.

Part 3 — Make It Reason Out Loud

16. Ask for step-by-step reasoning on anything non-trivial

Adding a line that tells the model to work through the problem in stages before giving a final answer, and to call out any edge cases along the way, does more work than it appears to. This is worth applying to anything involving math, multi-step logic, or a decision that involves tradeoffs. Skipping it on tasks that seem "obviously simple" is precisely when things tend to go wrong.

17. Prompt chaining instead of one giant ask

It's tempting to bundle everything into a single request: read this, summarize it, turn it into social posts, and suggest a title. Breaking that into sequential prompts gets better results at every stage, since each individual step only needs to handle one job well:

[1] extract key facts
      |
      v
[2] turn facts into a 3-paragraph summary
      |
      v
[3] turn summary into 5 short takeaways

18. Reverse brainstorming for stuck decisions

This technique initially seemed like a gimmick but has turned out to be genuinely useful. Rather than asking directly how to make a launch succeed, start by asking for the opposite:

Brainstorm 10 ways this launch could fail. For each
one, invert it into a concrete thing we'd do
differently. Flag the 3 inversions that are the least
obvious.

This approach reveals blind spots that a straightforward "give me a strategy" prompt tends to miss.

19. Multi-persona debate for decisions with real tradeoffs

This might be the strongest technique on the list. For decisions involving competing incentives, ask Claude to argue the case from several distinct viewpoints before pulling everything together into a recommendation:

Optimist            Skeptic           End user
      "ship faster"      "watch runway"    "don't care
           |                   |            about our
           v                   v             problems"
            \                 |                /
             \                |               /
              \               |              /
               v              v             v
                    synthesized recommendation

A single "just give me your recommendation" prompt tends to settle on whatever answer sounds the most agreeable. Forcing an internal debate first produces a result with sharper, more defensible edges.

20. Self-critique and revise, in the same turn

This builds on the rubric idea from earlier, but in a lighter form — request a first draft, a self-critique of that draft, and a revised final version, all within a single prompt instead of multiple back-and-forth turns:

Draft 1 -> list 3 weaknesses in Draft 1 -> Draft 2

21. Let it ask clarifying questions before doing the work

For anything ambiguous or consequential, explicitly instruct the model not to begin yet and to ask whatever questions it needs answered first. This adds a short delay before the first real response but tends to save an entire round of rework later.

22. Meta-prompting — have it improve your prompt

This is an underused move. When a prompt keeps generating mediocre output, instead of rewriting it yourself, ask directly:

Here's the prompt I've been using: [paste]. Here's the
output it produces: [paste]. What's wrong with the
prompt, and rewrite it.

This often surfaces vague phrasing you couldn't spot on your own, largely because you already know what you meant and read past the ambiguity.

23. Treat it as a conversation, not a single perfect prompt

This is the biggest shift in mindset here, and it's less a technique than dropping a bad habit: stop chasing the one perfect prompt. Ask for a rough first version, react to it, and refine from there. Trying to cram every requirement into a single massive prompt consistently produces worse results than a few short rounds of iteration and feedback.

Part 4 — Build a System, Not a Prompt

24. Use persistent rules files instead of repeating yourself

This might be the single most valuable habit change of the bunch. Rather than retyping tone, audience, and constraints into every new prompt, keep them in a standalone rules.md file:

# Writing rules
- tone: direct, no fluff
- audience: builders, not consumers
- never use: "leverage", "in today's world"
- always: specific numbers, source links, one action item
- format: short paragraphs, 3 sentences max

Then start every session by pointing to it: "Read rules.md fully before starting. If you're about to break one of these rules, stop and tell me instead."

This reframes prompting from something you do fresh each time into configuring a small persistent tool. It's the difference between refighting the same battle daily and settling it once.

25. Make the plan, act, verify, iterate loop explicit

For agentic work — multi-step tasks where Claude is calling tools, editing files, or running commands — don't assume the model will structure the process on its own. Spell out the loop directly:

 ┌─────────┐    ┌────────┐    ┌────────┐    ┌────────┐
 │  PLAN   │ -> │  ACT   │ -> │ VERIFY │ -> │ ITERATE│
 │ max 5   │    │ use    │    │ against│    │  or    │
 │ steps   │    │ tools  │    │criteria│    │ done   │
 └─────────┘    └────────┘    └────────┘    └────────┘
                                  |  fail
                                  v
                             back to ACT

The instruction that has prevented the most silent, cascading errors is simple: only advance to the next step once the current one has passed verification.

26. Anchor claims to retrieved facts rather than memory

For anything factual, explicitly instruct the model to pull from the material in front of it instead of recalling from training. Asking it to "cite the specific line or section this comes from" converts a plausible-sounding answer into one you can actually check. If it can't point to a source, treat that as a signal to pause and verify by hand.

27. Insert human checkpoints before irreversible actions

Any task that sends an email, commits code, or spends money should include an explicit pause: "stop before the final action and show me what you're about to do." No system — and no amount of confidence in your own judgment late at night — is reliable enough to skip this step.

28. Recognize when a giant prompt isn't the right approach

Large context windows make it tempting to dump every document in and hope for the best. Sometimes that works fine. But often a shorter, hand-picked prompt containing just the three relevant paragraphs outperforms feeding in the whole document, because you're not forcing the model to triage and analyze at the same time. Default to curating the input first, and only resort to pasting everything when you genuinely don't yet know what's relevant.

29. Version-control your prompts the way you version code

Once a prompt is doing real, recurring work — powering a regular report, a client deliverable, anything ongoing — store it in a file with a date stamp and a short changelog entry. This can feel like overkill until a "minor tweak" quietly breaks a behavior you depended on, and you have no record of what the prompt looked like the week before.

30. Run the workflow locally when you'd rather avoid per-token costs or keep data off external servers

None of these techniques strictly require a hosted API. For anything you're iterating on repeatedly — testing a self-evaluation rubric, or the plan/act/verify loop described above — it often makes sense to prototype against a local model with Ollama first, then port the finalized prompt over to Claude for the last pass. Iteration is cheaper this way, and nothing leaves your machine while you're still shaping the prompt.

Hosted version, for a quick test against the Claude API:

curl https://api.anthropic.com/v1/messages \
  -H "x-api-key: $ANTHROPIC_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "content-type: application/json" \
  -d '{
    "model": "claude-sonnet-5",
    "max_tokens": 500,
    "messages": [{"role": "user", "content": "Score this draft 1-10 on clarity, then revise it: [paste draft]"}]
  }'

Local, self-hosted equivalent using Ollama, with no API key and no per-token charges:

# one-time setup
docker run -d -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama
docker exec -it ollama ollama pull llama3.1
# same self-evaluation prompt, run locally
curl http://localhost:11434/api/generate -d '{
  "model": "llama3.1",
  "prompt": "Score this draft 1-10 on clarity, then revise it: [paste draft]",
  "stream": false
}'

A local model won't match Claude's nuance, but for iterating on prompt structure — checking whether a rubric is well-formed, or whether a constraint is actually being respected — it's more than sufficient, and it costs nothing once it's set up.

Quick reference: effort vs. payoff

Here's a rough ranking based on which techniques actually moved output quality versus which ones merely sounded impressive:

TECHNIQUE                             EFFORT TO ADOPT   PAYOFF
----------------------------------    ----------------  --------
Rules/context file (#24)              low                very high
Multi-persona debate (#19)            low                high
Plan-act-verify loop (#25)            medium             high
Prompt chaining (#17)                 low                high
Permission to say "I don't know"(#6)  trivial            high
Explain the "why" (#5)                trivial            high
Reverse brainstorming (#18)           low                medium-high
Contract system prompt (#10)          medium             medium
"Act as an expert" persona (#11)      trivial            low

If you're only going to take one thing away from this list, focus on the low-effort, high-payoff row: attach a reason to your constraints, and explicitly give the model permission to say it doesn't know. Those two small additions have quietly resolved more bad output than any elaborate structural framework.

And if you disagree with any part of this ranking, or you've found that one of these techniques actually hurts your particular use case, that kind of counterexample is far more useful than another generic "prompts that will change your life" post.