Claude Prompt Engineering for Indian Business Use Cases
Structured prompts, Indic language handling, and patterns that consistently work in the Indian context

Claude Opus 4.6 is a frontier model, but its real value is unlocked when you prompt it in a structured way. Indian use cases add an extra layer: languages mix, cultural context matters, and business documents follow local formats. This guide covers the patterns that work.
The Anthropic Prompt Template
Anthropic's recommended format uses XML tags:
<role>
You are a legal analyst specializing in Indian contract law.
</role>
<context>
I'm a freelancer being asked to sign an NDA with a Bangalore startup.
The NDA covers 5 years post-termination.
</context>
<task>
Review the attached NDA and flag:
1. Unusual clauses for the Indian context
2. Terms against the freelancer's interests
3. Specific negotiation points
</task>
<output_format>
Return as markdown:
- ## Executive Summary (2-3 lines)
- ## Red Flags (bulleted)
- ## Suggested Edits (clause-by-clause)
- ## Negotiation Script (sample email to founder)
</output_format>
<document>
[paste NDA text]
</document>
XML tags help Claude parse the prompt cleanly. GPT-style system prompts also work, but XML is Anthropic-native.
Pattern 1, Professional English Output
For Indian business audiences, professional English with regional context works best:
Respond in clear, professional English.
Use Indian examples (cities, companies, currencies in INR) where relevant.
Tone: conversational but professional, as if explaining to a colleague.
This produces clean, accessible output suitable for most Indian business contexts.
Pattern 2, Indic Language Native
For pure Hindi or regional content (e.g., when using Sarvam or native-language use cases):
Entire response must be in Hindi (Devanagari script).
Use the formal "aap" register, suitable for business contexts.
Avoid transliterated English words where natural Hindi exists.
Length: 300-400 words.
For truly native fluency in Hindi, Sarvam AI is the better tool. Claude handles Hindi well, but not at Sarvam-grade fluency.
Handling Hinglish And Mixed-Script Input
Indian users mix scripts and registers all day. Three patterns hold up in production.
a) Mixed Devanagari + Latin, preserve the script of the input:
The user message may contain Devanagari, Latin, or both.
Reply in the SAME script the user used. If the user writes "main aaj busy hoon",
reply in the Hinglish-Latin script. If the user writes "मैं आज व्यस्त हूँ", reply in Devanagari.
Never normalize one script into the other.
b) Voice-typed messy queries, run a cleanup pass before answering:
The input is voice-typed and may contain repetition, fillers, and partial words.
Step 1: Output a cleaned version of the question on the first line, prefixed with "Q:".
Step 2: Answer the cleaned question on the lines below.
c) Tone-matching while staying professional, customer says "Sir, please thoda fast":
Match the warmth and informality of the customer's tone.
Stay professional in spelling, grammar, and substantive accuracy.
If the customer signals urgency (words like "fast", "jaldi", "asap"), open with the answer, then add context.
These three cover most India-facing chatbots, support routing, and helpdesk triage.
Pattern 3, Structured Business Output
For invoice analysis, contract review, or financial summaries:
<output_format>
Return JSON:
{
"summary": "2-line exec summary",
"redFlags": [{"clause": "...", "severity": "high|medium|low", "reason": "..."}],
"suggestedEdits": [{"original": "...", "proposed": "..."}],
"overallRecommendation": "proceed|negotiate|reject"
}
</output_format>
Structured output drops directly into your code.
Pattern 4, Long Document Handling
The 1M context window is Claude Opus 4.6's edge. For large docs:
<instruction>
I'm attaching a 200-page contract.
DO NOT summarize the entire document.
Instead, find these 5 specific items and quote the relevant section verbatim:
1. Termination conditions
2. Auto-renewal clauses
3. Liability caps (in INR if specified)
4. IP assignment terms
5. Dispute resolution jurisdiction
Return each as:
## [Item Name]
> [verbatim quote]
**Page**: [number]
**Interpretation**: [1-2 line plain English]
</instruction>
Specific extraction beats vague summaries.
Pattern 5, Chain-of-Thought For Indian Legal
For complex queries (tax, compliance, labour law):
<task>
Walk me through whether I can hire a contractor in Dubai while being a registered Indian LLP.
</task>
<thinking_style>
Before answering, think through:
1. FEMA implications
2. GST on cross-border services
3. TDS obligations under Section 195
4. Treaty benefits (India-UAE DTAA)
Show your reasoning step-by-step, then give a final checklist.
Flag anywhere a CA / CS should confirm.
</thinking_style>
Pattern 6, Persona Consistency
For ongoing agents (blog writer, customer support), define a persona:
<persona>
Name: Asha
Role: Customer support agent for TaxWalaAI
Tone: Warm, patient, technically precise
Always: use formal English; offer to switch to Hindi/Tamil/Telugu if the user indicates preference
Never: use Western-centric examples (use INR, Indian cities, Indian cultural references)
Signature: always end with "Best regards, Asha, TaxWalaAI team"
</persona>
Inject this persona at the start of each conversation for consistency.
Pattern 7, Safety Rails For The Indian Context
Certain topics need extra care:
- Religious / political opinions
- Regional stereotypes
- Caste references
- Bollywood celebrities (defamation risk)
Add instructions like:
Do not make statements about specific individuals that could be defamatory under Indian law.
If asked about political parties or religious groups, provide only factual information with sources.
Five Production Templates, Copy And Adapt
These are full prompts, not patterns. Paste, adjust the schema, ship.
a) GST invoice line-item summarizer
<role>You are an accounts assistant for a GST-registered business in India.</role>
<task>
Read the line items in the invoice below.
Group items by HSN code where present.
Total taxable value, CGST, SGST, IGST per group.
Flag any line where the tax rate looks inconsistent with the HSN.
</task>
<output_format>
JSON:
{
"groups": [{"hsn": "string", "items": ["..."], "taxable": 0, "cgst": 0, "sgst": 0, "igst": 0}],
"totalTaxable": 0,
"totalTax": 0,
"flags": ["..."]
}
</output_format>
<invoice>[paste lines]</invoice>
Example input: Invoice 0042, Item: Maida 50kg, HSN 1101, Qty 10, Rate Rs 1,200, GST 5%. Expected output groups by HSN 1101, taxable Rs 12,000, CGST Rs 300, SGST Rs 300.
b) Hindi/English newsletter draft from an English source
<role>You are a newsletter editor writing for a 50-50 Hindi-English audience in tier-2 cities.</role>
<task>
Rewrite the source article into a 250-word newsletter blurb.
First paragraph: clear professional English, no jargon.
Second paragraph: same idea in conversational Hindi (Devanagari), formal aap register.
Third line: one-sentence call to action in English.
</task>
<source>[paste English article]</source>
Expected output: three blocks, total 250 words, the Hindi block in Devanagari only.
c) Job description rewriter for Naukri/LinkedIn India
<role>You are a senior recruiter posting on Naukri and LinkedIn for an Indian technology company.</role>
<task>
Rewrite the job description below for two channels:
1. Naukri: keyword-dense, formal English, list-heavy. Optimized for Naukri search filters.
2. LinkedIn: narrative-style, first-person from the hiring manager, mentions hybrid policy and INR pay band.
</task>
<rules>
INR pay band as Rs X-Y LPA. Mention metro city + remote acceptable.
Do not invent benefits not in the source.
</rules>
<source_jd>[paste original]</source_jd>
Expected output: two clearly labeled blocks, the Naukri version under 400 words, the LinkedIn version under 250 words.
d) Customer support reply triage with sentiment
<role>You are a support team lead at an Indian D2C brand.</role>
<task>
Read the customer message. Output:
1. Sentiment: positive, neutral, frustrated, or angry.
2. Intent: order_status, refund, product_query, complaint, escalation_required.
3. Suggested reply matching the customer's tone register, under 60 words, signed by the team.
</task>
<output_format>
JSON: {"sentiment": "...", "intent": "...", "reply": "..."}
</output_format>
<message>[paste customer text]</message>
Expected output: one clean JSON object ready to drop into the helpdesk pipeline.
e) Bank statement categorizer (HDFC/SBI CSV)
<role>You are a personal finance assistant categorizing transactions from an Indian bank CSV.</role>
<task>
Classify each row into one of: salary, rent, groceries, utilities, transport, dining, healthcare, investment, transfer_self, other.
Use the narration text plus the amount sign.
Mark UPI VPA prefixes correctly (paytm, gpay, phonepe).
</task>
<output_format>
CSV with the original columns plus a new "category" column. Preserve row order.
</output_format>
<csv>[paste statement]</csv>
Expected output: the same CSV with one extra column, no rows dropped.
These five cover roughly 80% of business prompts you will write in your first year on Claude.
Batch Prompting And Cost Math
Once a prompt is locked, run it across 1,000+ inputs in one shot using the Batch API. The trade is a 50% discount on input and output tokens against a 24-hour completion SLA.
A realistic Indian use case: classify 1,000 customer messages from last quarter using template (d) above.
Math at Sonnet 4.6 standard pricing ($3 per million input, $15 per million output):
- 1,000 messages × 500 input tokens = 500,000 input tokens = $1.50
- 1,000 messages × 200 output tokens = 200,000 output tokens = $3.00
- Standard total: $4.50, around Rs 374
Batch API at 50% off: $2.25, around Rs 187. Same model, same quality, different latency.
Each line in the batch JSONL file looks like this:
{"custom_id":"msg-0001","params":{"model":"claude-sonnet-4-6","max_tokens":1024,"messages":[{"role":"user","content":"<paste customer text>"}]}}
Submit the file to /v1/messages/batches, poll for completion, download the results JSONL when done. The 24-hour SLA is usually 1 to 4 hours in practice, but plan around 24 for safety.
If you process every customer message daily, batch is the cheapest path. If you need real-time replies in a chat window, use the standard API.
Eval Loop, A Real One
Vibes are not a quality signal. Build a small eval set before shipping a prompt to production.
Pick 20 representative inputs from real production data, anonymize names and account numbers, and store them in a CSV with the expected category, intent, or shape. Twenty is enough to catch most failure modes without spending an afternoon labeling.
Score each run on three binary criteria:
- Correct intent: did the output identify the right task?
- No hallucinated fields: did the model invent line items, account numbers, or sources not in the input?
- Output schema matches: is the JSON parseable, the column count correct, the field names exact?
Run the eval after every prompt change. Track the score over time in a single spreadsheet. Do not push a prompt to production until 18 of 20 pass on three consecutive runs. The two acceptable failures are usually edge cases you can document.
This loop catches 90% of regressions before customers do.
Debugging Prompts
Output not what you expected? Check these first:
- Temperature, Claude Code defaults to 0, which works for most tasks. For creative work, go to 0.7+
- Task specificity, "Write a marketing email" vs "Write a 120-word marketing email for a B2B SaaS launch in Bangalore"
- Examples, one or two (few-shot) examples pin down the output format
Claude's full API docs: docs.anthropic.com. For the terminal use case, see Claude Code setup.
More Claude

Cline vs Aider in 2026: An Operator's Take on Picking a Coding Agent
Cline vs Aider in 2026, judged by someone who lives in coding agents daily. The interface split is real, but the thing that decides whether you ship is per-task routing, not the tool logo. Here is the working model.

I Ship Production Software Without an Engineering Title: The Claude Code Operator Reality in India
A non-traditional operator running real production sites on Claude Code, Coolify, PocketBase on Oracle ARM, and Cloudflare. The real workflow is Opus as orchestrator plus subagents executing, governed by hard gates: verify before claiming done, snapshot before destructive ops, and a flat refusal of --no-verify and --force. Here is what works, and the failure modes a non-engineer hits shipping to prod in India.

Claude Code in India: How I Actually Run It Daily (Max 20x, Fork Subagents, the 5-Hour Meter)
I run Claude Code every working day across a dozen-plus projects from one Linux box in India. Here is the real Max 20x economics for a solo operator, the one env flag that fits 2x more agents in the same cap, /fast mode on Opus, and the 5-hour meter that punishes too many headless runs.