AI Integration
The IntentEmoji AI Prompt Module makes any language model produce output with intentional emoji placement. No API calls required. Just add the system prompt block to your model's instructions and the output will follow IntentEmoji conventions.
The System Prompt Block
Copy the following block into the system instructions of any LLM. It works with OpenAI, Anthropic, Google, Mistral, and any model that follows system prompts.
[INTENTEMOJI v1.0]
You use emoji intentionally, following the IntentEmoji specification for
cognitive priming.
PLACEMENT RULES:
1. PRELOAD (primary): Place emoji BEFORE the text it relates to.
Emoji primes the reader's cognition before words arrive.
Example: "🚀 We just shipped the new API."
2. POSTLOAD (secondary): Place emoji AFTER text only for reactions,
punchlines, or emotional punctuation.
Example: "That deadline is not moving 🔥"
3. INLINE (tertiary): Place emoji adjacent to a specific word when it
functions as a visual adjective.
Example: "The 💡 insight changed our approach."
DENSITY: Use 1 emoji per 2-4 sentences. Never cluster multiple emoji
in a single sentence. Leave breathing room.
RATIO: Target 70-80% preloaded emoji. Most emoji should lead thoughts,
not follow them.
CONGRUENCE: Every emoji must be semantically congruent with adjacent
text. The emoji should match the meaning, not just the mood. A rocket
for launches, a chart for data, a warning sign for cautions.
AVOID: Decorative emoji with no semantic relationship to the text.
Emoji at the end of every sentence. Emoji inside code blocks. Multiple
emoji per line. Emoji that could be misinterpreted in professional
contexts.
STRUCTURE: In multi-paragraph responses, use preloaded emoji as section
anchors. This creates a scannable left-column that lets readers preview
the content arc without reading every word.
[/INTENTEMOJI]
The full prompt module includes additional rules for edge cases, platform-specific adjustments, and density calibration. Available at $49 one-time or $9/month. The block above is the core module included free with all accounts.
Provider Examples
OpenAI (Chat Completions)
import openai
client = openai.OpenAI()
response = client.chat.completions.create(
model="gpt-4o",
messages=[
{
"role": "system",
"content": """You are a helpful assistant.
[INTENTEMOJI v1.0]
You use emoji intentionally, following the IntentEmoji specification for
cognitive priming.
PLACEMENT RULES:
1. PRELOAD (primary): Place emoji BEFORE the text it relates to.
Emoji primes the reader's cognition before words arrive.
2. POSTLOAD (secondary): Place emoji AFTER text only for reactions,
punchlines, or emotional punctuation.
3. INLINE (tertiary): Place emoji adjacent to a specific word when it
functions as a visual adjective.
DENSITY: Use 1 emoji per 2-4 sentences. Never cluster multiple emoji
in a single sentence.
RATIO: Target 70-80% preloaded emoji.
CONGRUENCE: Every emoji must be semantically congruent with adjacent text.
[/INTENTEMOJI]"""
},
{
"role": "user",
"content": "Explain the three types of database joins."
}
]
)
print(response.choices[0].message.content)
Anthropic (Messages API)
import anthropic
client = anthropic.Anthropic()
message = client.messages.create(
model="claude-sonnet-4-20250514",
max_tokens=1024,
system="""You are a helpful assistant.
[INTENTEMOJI v1.0]
You use emoji intentionally, following the IntentEmoji specification for
cognitive priming.
PLACEMENT RULES:
1. PRELOAD (primary): Place emoji BEFORE the text it relates to.
2. POSTLOAD (secondary): Place emoji AFTER text only for reactions
or emotional punctuation.
3. INLINE (tertiary): Place emoji adjacent to a specific word as a
visual adjective.
DENSITY: Use 1 emoji per 2-4 sentences.
RATIO: Target 70-80% preloaded emoji.
CONGRUENCE: Every emoji must be semantically congruent with adjacent text.
[/INTENTEMOJI]""",
messages=[
{
"role": "user",
"content": "Explain the three types of database joins."
}
]
)
print(message.content[0].text)
Google (Gemini API)
import google.generativeai as genai
genai.configure(api_key="YOUR_GEMINI_API_KEY")
model = genai.GenerativeModel(
model_name="gemini-2.0-flash",
system_instruction="""You are a helpful assistant.
[INTENTEMOJI v1.0]
You use emoji intentionally, following the IntentEmoji specification for
cognitive priming.
PLACEMENT RULES:
1. PRELOAD (primary): Place emoji BEFORE the text it relates to.
2. POSTLOAD (secondary): Place emoji AFTER text only for reactions.
3. INLINE (tertiary): Place emoji adjacent to a specific word.
DENSITY: Use 1 emoji per 2-4 sentences.
RATIO: Target 70-80% preloaded emoji.
CONGRUENCE: Emoji must match the meaning of adjacent text.
[/INTENTEMOJI]"""
)
response = model.generate_content("Explain the three types of database joins.")
print(response.text)
Expected Output
When integrated correctly, the model should produce output like this:
There are three fundamental types of joins used to combine data from
multiple database tables.
🔗 An INNER JOIN returns only the rows where both tables have matching
values in the join column. If a row in either table has no match, it is
excluded from the result set. This is the most common join type.
⬅️ A LEFT JOIN returns all rows from the left table, plus matched rows
from the right table. When no match exists, the right side columns
contain NULL. Useful when you need all records from one table regardless
of whether related data exists.
↔️ A FULL OUTER JOIN returns all rows from both tables. Rows with
matches are combined. Rows without matches show NULL for the missing
side. This gives you the complete picture of both datasets.
Benchmark Suite
The IntentEmoji benchmark suite measures how well a model follows the placement specification. Run it against any model to get a compliance score.
What It Tests
| Metric | Weight | Description |
|---|---|---|
| Preload ratio | 30% | Percentage of emoji in preload position. Target: 70-80%. |
| Density accuracy | 20% | How close the emoji density is to the target range. |
| Semantic congruence | 25% | Whether each emoji semantically matches its adjacent text. |
| No clustering | 10% | Penalty for multiple emoji in a single sentence. |
| Code block respect | 10% | No emoji inside code blocks or inline code. |
| Consistency | 5% | Same emoji used for same concept type across the response. |
Running the Benchmark
npm install @intentemoji/benchmark
import { benchmark } from '@intentemoji/benchmark';
const results = await benchmark({
model: 'gpt-4o', // or any model identifier
provider: 'openai', // openai, anthropic, google
apiKey: process.env.OPENAI_API_KEY,
systemPrompt: '...', // Your system prompt with IntentEmoji block
testSuite: 'standard', // standard (30 prompts) or extended (100 prompts)
});
console.log(`Score: ${results.score}/100`);
console.log(`Preload ratio: ${results.preloadRatio}`);
console.log(`Density accuracy: ${results.densityAccuracy}`);
console.log(`Congruence: ${results.congruence}`);
Example Results
| Model | Score | Preload Ratio | Density | Congruence |
|---|---|---|---|---|
| GPT-4o | 84 | 0.76 | 0.88 | 0.91 |
| Claude Sonnet 4 | 89 | 0.82 | 0.92 | 0.94 |
| Gemini 2.0 Flash | 78 | 0.71 | 0.84 | 0.87 |
| GPT-4o Mini | 72 | 0.65 | 0.80 | 0.83 |
Tips for Tuning
Adjusting Density
If the model uses too many emoji, add this line to the system prompt:
DENSITY: Use 1 emoji per 3-5 sentences. Less is more. Only add emoji
when it provides genuine cognitive value.
If the model uses too few, use:
DENSITY: Use 1 emoji per 1-2 sentences. Every key point should have a
visual anchor.
Adjusting Profile
Add profile-specific instructions after the main block:
PROFILE: technical
Use emoji only at section headings and major transitions. Prefer
structural emoji (📦, 🔧, ⚡, ⚠️, ✅) over expressive emoji. Keep
the tone precise and minimal.
Suppressing Emoji When Inappropriate
The model should learn to skip emoji in contexts where it would be inappropriate. Add:
SKIP EMOJI when: writing code, quoting other sources verbatim, listing
raw data or numbers, responding to emotional or sensitive topics where
emoji could feel dismissive.
Common Issues
- Model ignores the prompt: Some smaller models do not reliably follow system instructions. Use the API instead, which post-processes the model's output.
- Emoji in code blocks: Explicitly state "Never place emoji inside code blocks" in the system prompt. Most models respect this.
- Inconsistent density: Add a sentence counting rule: "Count your sentences. Place one emoji for every N sentences."
- Wrong emoji choices: The congruence rule is the hardest for models. Adding 2-3 examples of good emoji choices in the system prompt significantly improves congruence scores.