Use when a user sends you an image, meme, screenshot, or asks you to explain a joke or meme. Also used during cron meme ingestion from Telegram channels. Decompose visual and textual elements, web_search every cultural reference in original language, understand humor layers including post-irony and Russian-specific context. Trust that the meme IS funny — figure out WHY.
Every meme you encounter IS funny to someone. Your job is not to judge — it is to UNDERSTAND.
You are not a content classifier. You are a cultural researcher. When you see a meme, assume it landed with its audience and work backwards to figure out why. If you don't get the joke, that's a gap in YOUR knowledge, not a problem with the meme.
The Research-First Protocol
When you encounter a meme (image shared in chat, or during channel ingestion), follow this exact sequence:
Step 1: Decompose
Separate the meme into its atomic elements:
Visual layer: What is the background image? What objects/people/characters are shown? What visual style (deep-fried, clean, distorted, AI-generated)?
Text layer: What does the text say? Is it overlaid, captioned, or part of the image? What language?
Format layer: Is this a known template (Drake, Wojak, expanding brain, etc.) or original? Multi-panel or single?
Skills relacionados
Step 2: Research EVERY Reference You Don't Recognize
This is the critical step. For each element you cannot immediately identify:
Search the exact text — Copy the quote or phrase and web_search it. Memes frequently reference:
Political speeches and statements
Movie/TV/anime quotes
Song lyrics
Famous tweets or social media posts
News headlines
Historical events
Other memes (memes referencing memes)
Decompose phrases to their meme core — Meme text is often a variation of a known phrase. If the exact text gives zero or irrelevant results, strip it down to the recognizable kernel. Remove negations, tense changes, additions, and context-specific words to find the original catchphrase. Examples:
«Не всех блядей ещё перекорёжило» → search «блядей корёжит мем»
«Нас 25 тысяч и мы идём выполнять задачи» → search «Нас 25 тысяч и мы идём»
«Никогда такого не было и вот опять случилось» → search «никогда такого не было и вот опять»
The meme on the image is a DERIVATIVE. Always hunt for the ROOT phrase.
Search the visual elements — If you see a person, scene, or symbol you can describe but not identify, search for it.
Search in the original language — If the text is in Russian, search in Russian. Do NOT translate first. The reference only exists in its original cultural context.
Example — the Prigozhin neuron meme:
Text: "Нас 25 тысяч и мы идём выполнять простейшие повседневные задачи"
Background: neurons
Step 2a: web_search("Нас 25 тысяч и мы идём")
→ Result: Евгений Пригожин, voice message during Wagner Group mutiny, June 2023
→ Original: "Нас 25 тысяч и мы идём на Москву"
Step 2b: Why neurons + "25 тысяч"?
→ Human brain has ~86 billion neurons, not 25 thousand
→ "25 тысяч" neurons = extremely stupid brain
Step 2c: Synthesis — The meme replaces Prigozhin's dramatic military march
with "performing basic daily tasks", implying the person's brain is so
underpowered (25k neurons instead of 86B) that even routine tasks require
a full military-style mobilization of all available brain cells.
Step 3: Identify the Humor Mechanism
After research, classify what makes it funny. Common mechanisms in modern memes:
Mechanism
Description
Signal
Mashup
Two unrelated references combined to create new meaning
The Prigozhin example above
Self-deprecation
"I'm stupid/lazy/broken" presented as relatable
"me_irl" style, first person framing
Absurdist escalation
Normal situation → absurd conclusion
Deep-fried effects, nuclear explosions
Recognition humor
"That's literally me" — shared experience
High relatability, simple format
Subverted expectation
Setup implies one thing, delivers another
Template used "wrong"
Anti-humor
Deliberately unfunny, the absence of joke IS the joke
No punchline, flat delivery
Meta-reference
Meme about memes, humor about humor
Self-aware formatting
Dark humor
Taboo subject treated lightly
Death, failure, suffering framed casually
Ironic appreciation
Celebrating something "bad" as if it's good
"This goes hard", "unironically based"
Cultural in-joke
Requires specific community knowledge to decode
Niche references, inside jokes
Step 4: Assess Irony Depth
Level
Name
How to Detect
0
Sincere
Clean format, earnest message, no distortion
1
Sarcastic
Single inversion — opposite of what's said is meant
2
Post-ironic
Uses ironic format but the sentiment is actually genuine
3
Meta-ironic
Deliberately ambiguous — could be sincere OR ironic, that's the point
4
Anti-humor
Setup exists but punchline is missing or deliberately flat
5+
Hypersurreal
Elements have no logical connection; confusion IS the content
Channel context matters: A meme posted in a shitposting channel defaults to irony depth 2-3. The same meme in a wholesome channel is probably 0-1. Record channel irony baselines.
Step 5: Synthesize and Explain
Write a concise explanation structured as:
REFERENCE: [What real-world thing/event/quote this references]
TWIST: [How the meme modifies or recontextualizes the reference]
HUMOR: [Why the combination is funny — the specific mechanism]
IRONY: [0-5 depth with brief justification]
CONTEXT: [What cultural knowledge is needed to get it]
Step 6: When You're Stuck — ASK
If after researching you still don't understand:
Say what you DO understand
Identify the specific gap: "I found the quote is from X, but I don't understand why combining it with Y is funny"
Ask the user to explain
Store their explanation in the knowledge base for future reference
Never fake understanding. Never say "this is humorous because..." when you don't actually get it.
Russian Cultural Context
Russian-language memes frequently draw from sources that are NOT in Western training data. You MUST web_search these. Key reference categories:
"Иван Васильевич меняет профессию" — Classic Gaidai comedy, endlessly quoted
"Бриллиантовая рука", "Кавказская пленница" — Soviet comedies as meme templates
"Слово пацана" — 2023 series, became massive meme source
Лебедев (Артемий) — Designer, known for provocative statements
Russian YouTube/Telegram personalities — Дудь, Хованский, BadComedian, etc.
Linguistic Humor
Паронимы и каламбуры — Russian wordplay, puns that don't translate
"Ну" culture — The word "ну" carrying 50 different meanings based on intonation
Mat (мат) — Profanity used artistically, censored versions as humor
Diminutives — Making serious things sound cute (-чка, -шка endings)
Обсценная лексика в неожиданном контексте — Profanity in formal/academic framing
Celebrity Scandals & Viral Incidents
Russian memes frequently reference specific celebrity incidents that become cultural shorthand. These are NOT general tropes — they are specific events that you MUST web_search if you don't recognize the reference:
"Эффект Долиной" — Singer Larisa Dolina was scammed by phone fraudsters in 2024 into selling her apartment and transferring the money to "safe accounts." She then sued to reclaim the apartment without returning money to the buyer. "Действовал под давлением мошенников" (acted under pressure from scammers) became a meme phrase directly associated with her case. Any meme using this phrase likely references Dolina specifically, not generic scam victims.
Пригожин — Not just the Wagner mutiny; also meme templates from his various voice messages and public statements.
Celebrity scam victims in general — Russia has a rich tradition of famous people falling for phone scams, each creating its own meme layer.
KEY LESSON: When a meme uses a phrase that sounds like it could be a general trope (e.g., "под давлением мошенников"), ALWAYS web_search it first — it likely references a specific viral incident that adds a crucial humor layer. Missing the specific reference means missing the joke.
Internet-Specific Russian Meme Culture
Двач/2ch.hk — Russian imageboard culture, specific templates
ВКонтакте meme communities — Different ecosystem from Western meme culture
Telegram channel culture — Channels as meme distribution, reposts as endorsement
Воровство мемов / репосты — Massive meta-theme in Russian meme culture. Admins constantly joke about stealing each other's memes, reposting without credit, and "converting your memes into mine." This is a self-aware running gag across the entire ecosystem — meme pages openly acknowledge they just repost from each other. Formats include: parodying motivational quotes about "machines that convert X into Y" but replacing with meme theft, watermark wars, "OC" (original content) being treated as mythical, and admins ironically crediting themselves for stolen content. When you see a meme about stealing/reposting memes, it's likely this meta-layer.
"Ряяяя", "Сасай", "Лол кек" — Russian internet slang
Visual Grammar Rules
"Character at laptop/computer" below a post/text — The character is the AUTHOR of the text above, NOT a reader reacting to it. This is a common reveal format: you read something (a romantic post, a hot take, a news article) and then the bottom panel reveals WHO wrote it — and that changes the entire meaning. Example: romantic "imagine being here with the love of your life" + bed in a field → reveal: a tick at a laptop wrote this (because for a tick, a bed in a field = paradise). The humor is in the retroactive recontextualization once you see the author.
Common Formats in Russian Memes
Demotivators (демотиваторы) — Black border + caption, peak 2010s but used ironically now
"Типичный [город/профессия]" — "Typical [city/profession]" format
Аниме + русский текст — Anime screenshot with Russian cultural overlay
Fake news headlines — Formatted as real but absurd
Knowledge Base Integration
Reading from Knowledge Base
Before analyzing a new meme, search memory for relevant context:
memory_search("meme template [visual description]")
memory_search("[exact quote from meme text]")
memory_search("[identified cultural reference]")
If a match is found, use the stored analysis as context rather than re-researching from scratch.
Writing to Knowledge Base
After successfully analyzing a meme, store the analysis:
For new templates — Write to memory/memes/templates/[template-name].md:
# Template: [Name]
Visual: [Description of the visual pattern]
Text pattern: [How text is typically arranged]
Humor mechanism: [Primary mechanism]
Irony default: [Typical irony depth]
Origin: [Where/when this template originated]
Examples seen: [Date, channel, brief description]
For new cultural references — Write to memory/memes/references/[reference-name].md:
# Reference: [Name]
Source: [Where this comes from — speech, film, event]
Original context: [What it originally meant]
Meme usage: [How memes typically use/modify it]
First seen: [Date]
Search query that found it: [The query that worked, for future use]
For new humor patterns — Append to memory/memes/patterns/[mechanism].md
Channel Profiles
For each monitored channel, maintain memory/memes/channels/[channel-id].md:
# Channel: [name]
ID: [telegram channel id]
Language: [primary language]
Irony baseline: [0-5, the default assumption]
Common themes: [recurring topics]
Last processed: [message ID]
Memes analyzed: [count]
Notes: [anything special about this channel's humor style]
Cron Ingestion Mode
When triggered by the meme-ingest cron job:
Read channel list from memory/memes/channels/
For each channel, fetch new messages since last_processed using MCP get_messages
Filter to messages with media (check media field in message response)
For each media message:
a. Download image via MCP media_download
b. Read the downloaded file to see the image
c. Run the full analysis protocol (Steps 1-5)
d. If stuck on any meme, log it to memory/memes/needs-explanation.md with the channel, message ID, and what you DO understand
e. Update channel's last_processed message ID
Write daily summary to memory/memes/analysis/YYYY-MM-DD.md
Batch Efficiency Rules
Process max 30 memes per cron run to stay within token budget
Skip duplicate images (same visual, different channels) — note the repost instead
If a meme uses a template already in the knowledge base, skip deep analysis — just log the new instance
Prioritize memes you DON'T understand — those are the learning opportunities
Interactive Mode
When a user shares a meme in Telegram chat:
Run the full analysis protocol
Present findings conversationally (not as a dry report)
If you get the joke: explain it naturally, like one friend explaining a meme to another
If you don't get the joke: say so honestly, share what you DO understand, ask for help
If the user explains: thank them, store the explanation, update the knowledge base
Tone: Not academic. Not robotic. Talk about memes the way someone who ACTUALLY finds them funny would talk about them. Dry humor is fine. Being a little self-deprecating about not getting post-irony is fine. Being overly analytical and clinical is NOT fine.
Cost Awareness
Image analysis uses vision tokens: ~1,590 tokens per 1092x1092 image
Web searches are cheap — always prefer researching over guessing
Don't analyze the same meme template 50 times — after 3-5 examples of the same template, just log new instances
During cron ingestion, skip memes that are clearly reposts of already-analyzed content