WhatsApp Personality Quiz Builder
<SKILL_DIR> = the folder that contains this SKILL.md (normally
~/.claude/skills/whatsapp-personality-quiz). Resolve it once to an absolute
path before running commands - PowerShell/cmd do not expand ~ inside quotes.
Create a Buzzfeed-style Hebrew personality quiz that captures the voice of one or two real people, based on their WhatsApp chat history. Output: an RTL Hebrew Word document.
When to invoke
Use when the user provides:
- One or more WhatsApp
.txt exports
- Names of 1-2 specific people whose voice should be captured
- Goal of producing a shareable quiz "in their voice"
Common phrasings: "תבנה מבחן אישיות על X ו-Y", "מבחן בסגנון של X ו-Y", "personality quiz like buzzfeed from these messages".
Workflow
Step 1: Inventory the data
Locate the chat files (usually in the user-supplied project folder). Confirm:
- Speaker name format (e.g.,
דניאל כהן, רוני Roni)
- Approximate number of messages per target person (use
Grep -c "- <name>:")
- That you have at least ~300 messages per person — fewer is shallow
If there are <300 messages, warn the user that the quiz will rely more on imagination than evidence.
Step 2: Voice analysis (internal, do not output)
For each target person, extract from ~200 sampled messages spread across the file:
- Signature phrases they repeat across months ("כפרה עליך", "בטל ומבוטל", "פארווע")
- Stylistic tics:
- Sentence length (3 words? full paragraphs?)
- Letter elongation ("מוצרללללה", "פששששש")
- Punctuation habits (lone "." messages, lone "?")
- Emoji preferences (🪬, 💜, etc.)
- Abbreviations they invented ("מ. ט.", "ר. מ")
- Humor pattern: dry / sarcastic / absurdist / self-aware / cynical / earnest
- Recurring targets: who they mock, who they praise, what they dismiss
- Recurring topics: politics, food, military, family, religion, sports
- Specific opinions they actually expressed (cite the message, even if not in output)
- Internal references: nicknames they coined, in-jokes, recurring phrases the family uses
Build a profile per person. If two targets, contrast them — what's the same, what's different.
Step 3: Map the spectrum
For each quiz question, the four options are an escalation:
- A (1 pt): A normal, sweet, slightly boring person — the kind they'd mock
- B (2 pts): Some spark, hint of edge, but still mainstream
- C (3 pts): Almost them, but still "trying" — knows the codes but uses them clumsily
- D (4 pts): A near-verbatim quote or perfect paraphrase of what the targets actually wrote
The D option is the hardest. It MUST be specific. If a D could apply to any sarcastic Israeli, rewrite it until it's unmistakably one of the targets.
Step 4: Pick 25 question topics
Cover a spread across these categories (3-5 questions each):
- Communication style (message length, punctuation, abbreviations)
- Reactions to family events (births, weddings, surgeries, milestones)
- Reactions to outsiders (strangers, new acquaintances, unusual situations)
- Opinions on hot topics they actually held (politics, religion, food)
- Behavioral signatures (timing, late nights, formality)
- Inter-family ribbing (how they tease specific relatives)
- Visual triggers (someone in a hat, a photo, an outfit, a car)
- Recurring obsessions (e.g., "the missing family photo")
Each question needs at least one D that quotes or near-quotes an actual message.
Step 5: Write the 5-tier scoring rubric
Total ranges from 25 (all A) to 100 (all D). Tiers:
| Range |
Title |
Tone |
| 25-39 |
"אתה כנראה X" (something boring/normative the targets would mock) |
Dismissive but warm |
| 40-54 |
"פוטנציאל, אבל..." |
Faintly hopeful, mostly disappointed |
| 55-69 |
"מכובד. לא מבייש." |
Begrudging respect |
| 70-84 |
"טריטוריה מסוכנת. הופך לאחד מהם." |
Family-is-noticing |
| 85-100 |
"אתה פשוט [שם 1] או [שם 2]" |
Direct address, full surrender |
Each tier description must use specific phrases from the targets' actual vocabulary. The Tier 5 should specifically address the reader as if they ARE the target, and end with one of the target's catchphrases.
Step 6: Write the document content (Markdown)
Build the MD file with this structure:
# [Punchy Hebrew Title with both names]
[1-2 line subtitle in their voice]
[3-4 line intro in their voice — self-aware, slightly dismissive of anyone needing a quiz to figure this out]
[Scoring rule line — A=1, B=2, C=3, D=4, with a joke about people who can't add]
## השאלות
### 1. [Question]
A. [Normal]
B. [Edge]
C. [Almost them]
D. [Them, verbatim or near-verbatim]
[... 25 questions total ...]
## איך מחשבים את הניקוד
[Funny instruction line]
## התוצאות
### [Range]: [Title 1]
[Description]
[... 5 tiers total ...]
Step 7: Produce the DOCX
- Filename convention (Hebrew, descriptive, matches the H1 of the document):
[שם הקוויז].docx and [שם הקוויז].md (same base name), in the project directory
- Run:
python "<SKILL_DIR>/scripts/build_docx.py" "<path-to-[שם הקוויז].md>"
This produces the .docx next to the .md (same base name).
- Verify both files exist via
ls
The embedded script (<SKILL_DIR>/scripts/build_docx.py + its hebrew_docx_template.py helper) already enforces the Hebrew-document house rules:
- RTL on section, paragraphs, runs (bidi ordered correctly)
- Black & white only, no colored highlights
- David font, 12pt minimum everywhere, larger sizes for headings
- A4, 2cm margins, centered page numbers in the footer
--- lines are skipped, never rendered as a horizontal rule
- Only
- for dashes (em/en dash is auto-converted to -)
Critical quality rules
Specificity over wit. A funny line that could apply to anyone is failure. A specific line about a real obsession of the target is gold.
Cite or paraphrase. At least 60% of the D options should be a direct phrase from the target's messages, or a paraphrase so close that the family will recognize it instantly.
No generic "Israeli humor". Don't write "you love arguing about hummus" unless one of them actually argued about hummus on the chat.
Tier 5 must address BOTH targets if there are two. Don't pick one over the other. The reader is "either of them".
Use their nicknames internally. If one target has a nickname they use for a specific relative or friend, use that nickname — not the real name — in answers. The family will recognize.
Don't explain the joke. References to internal moments (a specific surgery, a specific trip, a specific phrase) should be dropped without footnoting. The audience either knows or doesn't.
Test the gradient. For each question, ask: would a stranger guess that D is the highest score? If not, the gradient is broken.
Anti-patterns to avoid
- Writing all the questions about food when only some of their conversation is about food
- Using emoji that the targets don't actually use
- Making the C option already too "them" (then D has nowhere to go)
- Tier 1 being mean rather than dismissive — they mock, they don't insult strangers
- Tier 5 being a generic "you're so funny!" — it should sting with recognition
Output
Two files in the project directory:
[שם הקוויז].md — markdown source for editing
[שם הקוויז].docx — final Hebrew RTL Word document ready to share
Report back: file paths, sizes, and a 1-sentence summary of the target person profiles you built.
1---2name: whatsapp-personality-quiz3description: Build a hilarious, razor-sharp Hebrew personality quiz from WhatsApp chat exports of one or two real people. Analyzes their voice (phrases, sarcasm, humor, references, opinions) and produces a 25-question Buzzfeed-style quiz "in their voice" that judges whether the taker is "one of them". Output is an RTL Hebrew Word document ready to share to the family group chat. TRIGGER on: "מבחן אישיות", "קוויז", "personality quiz from chat", "WhatsApp quiz", "תבנה מבחן על הגיסים", "מי אני יותר X או Y", "Buzzfeed quiz from chat", "מבחן מצחיק על המשפחה", or when user provides one or more WhatsApp .txt exports and asks to capture the writing style as a quiz.4license: MIT5---67# WhatsApp Personality Quiz Builder89`<SKILL_DIR>` = the folder that contains this SKILL.md (normally10`~/.claude/skills/whatsapp-personality-quiz`). Resolve it once to an absolute11path before running commands - PowerShell/cmd do not expand `~` inside quotes.1213Create a Buzzfeed-style Hebrew personality quiz that captures the voice of one or two real people, based on their WhatsApp chat history. Output: an RTL Hebrew Word document.1415## When to invoke1617Use when the user provides:18- One or more WhatsApp `.txt` exports19- Names of 1-2 specific people whose voice should be captured20- Goal of producing a shareable quiz "in their voice"2122Common phrasings: "תבנה מבחן אישיות על X ו-Y", "מבחן בסגנון של X ו-Y", "personality quiz like buzzfeed from these messages".2324## Workflow2526### Step 1: Inventory the data2728Locate the chat files (usually in the user-supplied project folder). Confirm:29- Speaker name format (e.g., `דניאל כהן`, `רוני Roni`)30- Approximate number of messages per target person (use `Grep -c "- <name>:"`)31- That you have at least ~300 messages per person — fewer is shallow3233If there are <300 messages, warn the user that the quiz will rely more on imagination than evidence.3435### Step 2: Voice analysis (internal, do not output)3637For each target person, extract from ~200 sampled messages spread across the file:38391. **Signature phrases** they repeat across months ("כפרה עליך", "בטל ומבוטל", "פארווע")402. **Stylistic tics**:41 - Sentence length (3 words? full paragraphs?)42 - Letter elongation ("מוצרללללה", "פששששש")43 - Punctuation habits (lone "." messages, lone "?")44 - Emoji preferences (🪬, 💜, etc.)45 - Abbreviations they invented ("מ. ט.", "ר. מ")463. **Humor pattern**: dry / sarcastic / absurdist / self-aware / cynical / earnest474. **Recurring targets**: who they mock, who they praise, what they dismiss485. **Recurring topics**: politics, food, military, family, religion, sports496. **Specific opinions** they actually expressed (cite the message, even if not in output)507. **Internal references**: nicknames they coined, in-jokes, recurring phrases the family uses5152Build a profile per person. If two targets, contrast them — what's the same, what's different.5354### Step 3: Map the spectrum5556For each quiz question, the four options are an escalation:5758- **A (1 pt)**: A normal, sweet, slightly boring person — the kind they'd mock59- **B (2 pts)**: Some spark, hint of edge, but still mainstream60- **C (3 pts)**: Almost them, but still "trying" — knows the codes but uses them clumsily61- **D (4 pts)**: A near-verbatim quote or perfect paraphrase of what the targets actually wrote6263The D option is the hardest. It MUST be specific. If a D could apply to any sarcastic Israeli, rewrite it until it's unmistakably one of the targets.6465### Step 4: Pick 25 question topics6667Cover a spread across these categories (3-5 questions each):68- Communication style (message length, punctuation, abbreviations)69- Reactions to family events (births, weddings, surgeries, milestones)70- Reactions to outsiders (strangers, new acquaintances, unusual situations)71- Opinions on hot topics they actually held (politics, religion, food)72- Behavioral signatures (timing, late nights, formality)73- Inter-family ribbing (how they tease specific relatives)74- Visual triggers (someone in a hat, a photo, an outfit, a car)75- Recurring obsessions (e.g., "the missing family photo")7677Each question needs at least one D that quotes or near-quotes an actual message.7879### Step 5: Write the 5-tier scoring rubric8081Total ranges from 25 (all A) to 100 (all D). Tiers:8283| Range | Title | Tone |84|---|---|---|85| 25-39 | "אתה כנראה X" (something boring/normative the targets would mock) | Dismissive but warm |86| 40-54 | "פוטנציאל, אבל..." | Faintly hopeful, mostly disappointed |87| 55-69 | "מכובד. לא מבייש." | Begrudging respect |88| 70-84 | "טריטוריה מסוכנת. הופך לאחד מהם." | Family-is-noticing |89| 85-100 | "אתה פשוט [שם 1] או [שם 2]" | Direct address, full surrender |9091Each tier description must use specific phrases from the targets' actual vocabulary. The Tier 5 should specifically address the reader as if they ARE the target, and end with one of the target's catchphrases.9293### Step 6: Write the document content (Markdown)9495Build the MD file with this structure:9697```markdown98# [Punchy Hebrew Title with both names]99100[1-2 line subtitle in their voice]101102[3-4 line intro in their voice — self-aware, slightly dismissive of anyone needing a quiz to figure this out]103104[Scoring rule line — A=1, B=2, C=3, D=4, with a joke about people who can't add]105106## השאלות107108### 1. [Question]109110A. [Normal]111B. [Edge]112C. [Almost them]113D. [Them, verbatim or near-verbatim]114115[... 25 questions total ...]116117## איך מחשבים את הניקוד118119[Funny instruction line]120121## התוצאות122123### [Range]: [Title 1]124[Description]125126[... 5 tiers total ...]127```128129### Step 7: Produce the DOCX1301311. Filename convention (Hebrew, descriptive, matches the H1 of the document):132 `[שם הקוויז].docx` and `[שם הקוויז].md` (same base name), in the project directory1332. Run:134 ```bash135 python "<SKILL_DIR>/scripts/build_docx.py" "<path-to-[שם הקוויז].md>"136 ```137 This produces the `.docx` next to the `.md` (same base name).1383. Verify both files exist via `ls`139140The embedded script (`<SKILL_DIR>/scripts/build_docx.py` + its `hebrew_docx_template.py` helper) already enforces the Hebrew-document house rules:141- RTL on section, paragraphs, runs (bidi ordered correctly)142- Black & white only, no colored highlights143- David font, 12pt minimum everywhere, larger sizes for headings144- A4, 2cm margins, centered page numbers in the footer145- `---` lines are skipped, never rendered as a horizontal rule146- Only `-` for dashes (em/en dash is auto-converted to `-`)147148## Critical quality rules1491501. **Specificity over wit**. A funny line that could apply to anyone is failure. A specific line about a real obsession of the target is gold.1511522. **Cite or paraphrase**. At least 60% of the D options should be a direct phrase from the target's messages, or a paraphrase so close that the family will recognize it instantly.1531543. **No generic "Israeli humor"**. Don't write "you love arguing about hummus" unless one of them actually argued about hummus on the chat.1551564. **Tier 5 must address BOTH targets** if there are two. Don't pick one over the other. The reader is "either of them".1571585. **Use their nicknames internally**. If one target has a nickname they use for a specific relative or friend, use that nickname — not the real name — in answers. The family will recognize.1591606. **Don't explain the joke**. References to internal moments (a specific surgery, a specific trip, a specific phrase) should be dropped without footnoting. The audience either knows or doesn't.1611627. **Test the gradient**. For each question, ask: would a stranger guess that D is the highest score? If not, the gradient is broken.163164## Anti-patterns to avoid165166- Writing all the questions about food when only some of their conversation is about food167- Using emoji that the targets don't actually use168- Making the C option already too "them" (then D has nowhere to go)169- Tier 1 being mean rather than dismissive — they mock, they don't insult strangers170- Tier 5 being a generic "you're so funny!" — it should sting with recognition171172## Output173174Two files in the project directory:175- `[שם הקוויז].md` — markdown source for editing176- `[שם הקוויז].docx` — final Hebrew RTL Word document ready to share177178Report back: file paths, sizes, and a 1-sentence summary of the target person profiles you built.