# Keep Instructions Friendly And Clear

> How to use Markdown headers, bullet hierarchies, and XML delimiters to prevent instructions from bleeding into context data.

- Skill: `alivirgo/keep-instructions-friendly-and-clear` (Agent Skill)
- Install (CLI): `npx skillmds@latest add alivirgo/keep-instructions-friendly-and-clear`
- Raw SKILL.md: https://api.skillmd.com/api/skills/alivirgo/keep-instructions-friendly-and-clear/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Docs & Writing
- Author: alivirgo (https://skillmd.com/u/alivirgo)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/alivirgo/keep-instructions-friendly-and-clear

---


# Structure Instructions with Clear Markdown Delimiters (AI Skill)

## Overview
When a prompt is written as a continuous, unformatted block of stream-of-consciousness text, the AI's attention mechanism easily conflates **instructions** (*"Do not include pricing"*) with **data context** (*"Here is the pricing document"*).

The **Markdown Delimiter Protocol** uses clear typography - Markdown headers, bullet lists, code blocks, and XML tags - to cleanly segregate system instructions from background data, eliminating ambiguity.

---

## Chaotic Wall of Text vs. Delimited Structure

```
┌─────────────────────────────────────────────────────────────┐
│                 Prompt Layout Comparison                    │
│                                                             │
│  Chaotic Stream-of-Consciousness:                           │
│  "Hey I want to write a blog post about databases and here  │
│   is my notes postgres is good mongo is bad also make it    │
│   under 200 words and use a friendly tone don't use jargon" │
│  ↳ High ambiguity, skipped constraints                      │
│                                                             │
│  Structured Markdown Delimiters:                            │
│  ### Goal                                                   │
│  Draft a blog post comparing PostgreSQL and MongoDB.        │
│                                                             │
│  ### Context & Source Data                                  │
│  <raw_notes> [PASTE NOTES] </raw_notes>                     │
│                                                             │
│  ### Constraints                                            │
│ - Length: Under 200 words                                  │
│ - Tone: Friendly, zero technical jargon                    │
│  ↳ 100% Parsing Accuracy, Zero Constraint Bleed             │
└─────────────────────────────────────────────────────────────┘
```

---

## The Master 4-Block Delimiter Template

Copy and paste this clean layout for any multi-part request:

```markdown
### 🎯 Objective
[1-sentence summary of what you need]

### 📂 Source Data / Context
<context>
[PASTE YOUR RAW TEXT / CODE / NOTES HERE]
</context>

### ⚠️ Constraints & Guardrails
- **Tone**: [e.g. Executive, Conversational, Technical]
- **Length**: [e.g. Under 150 words / Exactly 3 bullets]
- **Banned Words**: [e.g. No corporate buzzwords, no emojis]

### 📋 Expected Output Format
[e.g. A 3-column Markdown table with headers: Tool, Pros, Cons]
```

---

## Why XML-Style Tags (`<context>...</context>`) Work So Well
Modern LLMs (Claude, GPT-4, Gemini) are heavily fine-tuned on code and XML structures. Wrapping your source material in `<document>` or `<notes>` tags creates an impenetrable boundary between your instructions and the text being analyzed, completely neutralizing prompt injection risks and confusion.

---

## Summary Best Practices
- **Use whitespace**: A blank line between sections helps both human eyes and model tokenizers.
- **Use bold anchors**: Format constraints as `- **Constraint Name**: Details`.
- **Enclose reference text in code fences or XML tags**: Keeps raw data strictly isolated from command logic.

