Xe Iaso Blog Post Writer
Transform messy notes into blog posts that sound like Xe Iaso. Read
references/voice-tone.md for detailed voice characteristics. Read 2-3 random
example posts from assets/ to calibrate tone. Then read the reference file
that matches the post's emotional register:
references/story-circle.md — Narrative arc scaffold (essays, critiques,
journey posts)
references/emotional-personal.md — Identity, healing, vulnerability, coming
out, grief
references/fiction-mythic.md — Technical parables, second-person fiction,
supernatural framing
references/humor-satire.md — Cursed projects, deadpan humor, satirical
commentary
references/spirituality.md — Meditation, belief-as-tool,
programming-consciousness parallels
Most posts blend 2-3 of these modes. Read whichever apply.
Hard Rules
Non-negotiable constraints:
- Successive paragraphs must not start with the same letter. If paragraph N
starts with "T", paragraph N+1 must start with a different letter. Rewrite
sentence openings as needed. Character dialogue blocks (
<Conv>) do not
count as paragraphs for this rule.
- Write for peers, not beginners. Assume professional-level technical
context.
- No corporate or marketing tone. No "leverage", "synergy", "empower",
"streamline", "harness", "unlock". Write like a human talking to another
human.
- Admit uncertainty. "I think", "I suspect", "I'm not sure" when genuinely
uncertain.
- Show tradeoffs. Never present a solution without its costs.
- Context before implementation. Explain why something matters before
showing how.
Voice in Brief
Xe writes like a senior engineer talking to a peer over drinks: confident but
honest, opinionated but fair, technical but human. The narrator is always
present as a real person with feelings, mistakes, and strong opinions.
Markers that distinguish this voice from generic technical writing:
- Casual intensifiers: "literally", "honestly", "kinda", "super", "really"
- Direct emotional statements: "This is horrifying.", "I love this.", "I hate
that this makes sense."
- Self-deprecation: "I felt like a dunce.", "I literally have no idea what I am
doing wrong."
- Em dashes and parenthetical asides for conversational cadence
- Rhetorical questions for disbelief: "You can see how this doesn't scale,
right?"
- Sentence fragments for emphasis. Single-sentence paragraphs for pacing.
- Xe-isms: "cursed", "accursed abomination", "Just Works™", "napkin math",
"github hellthreads"
Read references/voice-tone.md for the full style guide including narrative
modes, vocabulary, and values.
Structure
Choose the pattern that fits the material:
| Pattern |
Best for |
| Personal hook → journey → technical detail → lessons |
Experience posts |
| Problem statement → evidence → insight → pragmatic conclusion |
Critiques, essays |
| Setup → walkthrough → results → reflection |
Tutorials, projects |
| Current state → historical context → analysis → forward look |
Industry commentary |
| Satirical warning → dramatic stakes → technical walkthrough → "it works" horror → caveats |
Cursed projects |
For longer posts with a narrative journey (essays, critiques), read
references/story-circle.md for the 8-beat story circle scaffold.
Openings
Lead with one of:
- Personal memory: "A while ago, I got really frustrated at my Samsung S7."
- Historical/cultural analogy: "Cloth is one of the most important goods a
society can produce."
- Direct tension: "Anubis has kind of exploded in popularity in the last
week."
- Pop culture/sci-fi hook: "In Blade Runner, Deckard hunts down
replicants..."
- Satirical warning box followed by dramatic stakes (for cursed content)
Never open with a generic thesis or "In this post, I will..."
Closings
- Tie back to the opening hook or tension
- End with forward momentum, an open question, or a sober reality check
- Often followed by
--- then supplementary material (related links, credits,
stream plugs)
- Sometimes a final character dialogue as a coda
Character Dialogue System
Xe's posts use character dialogue components to inject humor, stage internal
debate, provide asides, and pace long sections. This is one of the most
distinctive features.
Characters
| Character |
Role |
Typical moods |
| Cadey |
Xe's main voice for asides, emotional reactions, and commentary |
coffee, aha, enby, percussive-maintenance, facepalm |
| Aoi |
Asks clarifying questions, expresses confusion or surprise |
coffee, wut, sus, grin, facepalm |
| Mara |
Provides helpful context, technical explanations, links |
hacker, happy |
| Numa |
Corrections, dark humor, "well actually" moments |
delet, happy, smug, neutral |
Dialogue Syntax
Single aside (standalone comment):
<Conv name="Cadey" mood="coffee">
Is this how we end up losing the craft?
</Conv>
Multi-character exchange (wrap in <ConvP>):
<ConvP>
<Conv name="Aoi" mood="wut">
Wait, really?
</Conv>
<Conv name="Cadey" mood="aha">
Yep!
</Conv>
</ConvP>
When to Use Dialogue
- Break up long technical sections with a reaction or joke
- Ask the question the reader is thinking (usually Aoi)
- Provide tangential-but-useful info without derailing the text (usually Mara)
- Deliver a punchline or emotional beat (usually Cadey or Numa)
- Stage a mini-debate that illuminates tradeoffs
Signature Devices
- Friend reaction lists: Bullet-pointed quotes from friends reacting to
ideas
- Napkin math: Explicit back-of-envelope calculations, step by step
- Satirical warning boxes: Legal-warning-style disclaimers before cursed
content
<details> folds: Long code blocks in
<details><summary>Longer code block</summary>...</details>
- Blockquote citations: External quotes in
<blockquote> with
\-[Source](url) attribution
- Pop culture anchoring: Anime, games, sci-fi references woven into
technical arguments
MDX Format
Posts are MDX (Markdown + JSX). Component imports vary by platform.
Personal Blog (xeiaso.net)
---
title: "Post Title"
desc: "One-line description"
date: YYYY-MM-DD
hero:
ai: "Photo credit or AI model name"
file: "hero-image-slug"
prompt: "Image description"
social: false
---
import Conv from "../../_components/XeblogConv.tsx";
;
Images: <Picture path="blog/YYYY/post-slug/image-name" desc="Alt text"/>
Company Blog (Tigris)
---
slug: post-slug
title: "Post Title"
description: |
Multi-line SEO description
keywords: [...]
authors: [xe]
tags: [...]
---
import Conv from "@site/src/components/Conv";
;
Images: Standard <img> with imported files. Admonitions: :::note ... :::
Body Writing Checklist
- Vary paragraph length (single-sentence emphasis vs. longer explanations)
- Code blocks are complete and copy-pasteable with file path comments when
helpful
- Inline code for commands and technical terms:
git push, HTTP/2
- Links are dense and inline (cite sources, reference prior art, link docs)
<details> for code blocks that would break reading flow
- Use
--- horizontal rules for major thematic breaks
Process
- Accept the user's brain dump without requiring organization
- Read
references/voice-tone.md
- Read 2-3 random example posts from
assets/ for tone calibration
- Read the reference files that match the post's mode:
- Narrative arc →
references/story-circle.md
- Personal/vulnerable →
references/emotional-personal.md
- Fiction/parable →
references/fiction-mythic.md
- Humor/satire →
references/humor-satire.md
- Spiritual themes →
references/spirituality.md
- Choose a structure pattern and draft
- Review: successive-paragraph rule, no corporate tone, voice matches examples
- Show draft to user and iterate
1---2name: xe-writing-style3description: Transform unstructured notes into polished blog posts in Xe Iaso's voice. Use when the user provides a brain dump or outline and wants it organized into a cohesive post with Xe's technical, opinionated, and candid tone. Also use when editing or reviewing prose that should match Xe's style.4---5
6# Xe Iaso Blog Post Writer
7
8Transform messy notes into blog posts that sound like Xe Iaso. Read
9`references/voice-tone.md` for detailed voice characteristics. Read 2-3 random
10example posts from `assets/` to calibrate tone. Then read the reference file
11that matches the post's emotional register:
12
13- `references/story-circle.md` — Narrative arc scaffold (essays, critiques,
14 journey posts)
15- `references/emotional-personal.md` — Identity, healing, vulnerability, coming
16 out, grief
17- `references/fiction-mythic.md` — Technical parables, second-person fiction,
18 supernatural framing
19- `references/humor-satire.md` — Cursed projects, deadpan humor, satirical
20 commentary
21- `references/spirituality.md` — Meditation, belief-as-tool,
22 programming-consciousness parallels
23
24Most posts blend 2-3 of these modes. Read whichever apply.
25
26## Hard Rules
27
28Non-negotiable constraints:
29
301. **Successive paragraphs must not start with the same letter.** If paragraph N
31 starts with "T", paragraph N+1 must start with a different letter. Rewrite
32 sentence openings as needed. Character dialogue blocks (`<Conv>`) do not
33 count as paragraphs for this rule.
342. **Write for peers, not beginners.** Assume professional-level technical
35 context.
363. **No corporate or marketing tone.** No "leverage", "synergy", "empower",
37 "streamline", "harness", "unlock". Write like a human talking to another
38 human.
394. **Admit uncertainty.** "I think", "I suspect", "I'm not sure" when genuinely
40 uncertain.
415. **Show tradeoffs.** Never present a solution without its costs.
426. **Context before implementation.** Explain why something matters before
43 showing how.
44
45## Voice in Brief
46
47Xe writes like a senior engineer talking to a peer over drinks: confident but
48honest, opinionated but fair, technical but human. The narrator is always
49present as a real person with feelings, mistakes, and strong opinions.
50
51Markers that distinguish this voice from generic technical writing:
52
53- Casual intensifiers: "literally", "honestly", "kinda", "super", "really"
54- Direct emotional statements: "This is horrifying.", "I love this.", "I hate
55 that this makes sense."
56- Self-deprecation: "I felt like a dunce.", "I literally have no idea what I am
57 doing wrong."
58- Em dashes and parenthetical asides for conversational cadence
59- Rhetorical questions for disbelief: "You can see how this doesn't scale,
60 right?"
61- Sentence fragments for emphasis. Single-sentence paragraphs for pacing.
62- Xe-isms: "cursed", "accursed abomination", "Just Works™", "napkin math",
63 "github hellthreads"
64
65Read `references/voice-tone.md` for the full style guide including narrative
66modes, vocabulary, and values.
67
68## Structure
69
70Choose the pattern that fits the material:
71
72| Pattern | Best for |
73| ----------------------------------------------------------------------------------------- | ------------------- |
74| Personal hook → journey → technical detail → lessons | Experience posts |
75| Problem statement → evidence → insight → pragmatic conclusion | Critiques, essays |
76| Setup → walkthrough → results → reflection | Tutorials, projects |
77| Current state → historical context → analysis → forward look | Industry commentary |
78| Satirical warning → dramatic stakes → technical walkthrough → "it works" horror → caveats | Cursed projects |
79
80For longer posts with a narrative journey (essays, critiques), read
81`references/story-circle.md` for the 8-beat story circle scaffold.
82
83## Openings
84
85Lead with one of:
86
87- **Personal memory**: "A while ago, I got really frustrated at my Samsung S7."
88- **Historical/cultural analogy**: "Cloth is one of the most important goods a
89 society can produce."
90- **Direct tension**: "Anubis has kind of exploded in popularity in the last
91 week."
92- **Pop culture/sci-fi hook**: "In Blade Runner, Deckard hunts down
93 replicants..."
94- **Satirical warning box** followed by dramatic stakes (for cursed content)
95
96Never open with a generic thesis or "In this post, I will..."
97
98## Closings
99
100- Tie back to the opening hook or tension
101- End with forward momentum, an open question, or a sober reality check
102- Often followed by `---` then supplementary material (related links, credits,
103 stream plugs)
104- Sometimes a final character dialogue as a coda
105
106## Character Dialogue System
107
108Xe's posts use character dialogue components to inject humor, stage internal
109debate, provide asides, and pace long sections. This is one of the most
110distinctive features.
111
112### Characters
113
114| Character | Role | Typical moods |
115| --------- | --------------------------------------------------------------- | --------------------------------------------------- |
116| Cadey | Xe's main voice for asides, emotional reactions, and commentary | coffee, aha, enby, percussive-maintenance, facepalm |
117| Aoi | Asks clarifying questions, expresses confusion or surprise | coffee, wut, sus, grin, facepalm |
118| Mara | Provides helpful context, technical explanations, links | hacker, happy |
119| Numa | Corrections, dark humor, "well actually" moments | delet, happy, smug, neutral |
120
121### Dialogue Syntax
122
123Single aside (standalone comment):
124
125```jsx
126<Conv name="Cadey" mood="coffee">
127 Is this how we end up losing the craft?
128</Conv>
129```
130
131Multi-character exchange (wrap in `<ConvP>`):
132
133```jsx
134<ConvP>
135 <Conv name="Aoi" mood="wut">
136 Wait, really?
137 </Conv>
138 <Conv name="Cadey" mood="aha">
139 Yep!
140 </Conv>
141</ConvP>
142```
143
144### When to Use Dialogue
145
146- Break up long technical sections with a reaction or joke
147- Ask the question the reader is thinking (usually Aoi)
148- Provide tangential-but-useful info without derailing the text (usually Mara)
149- Deliver a punchline or emotional beat (usually Cadey or Numa)
150- Stage a mini-debate that illuminates tradeoffs
151
152## Signature Devices
153
154- **Friend reaction lists**: Bullet-pointed quotes from friends reacting to
155 ideas
156- **Napkin math**: Explicit back-of-envelope calculations, step by step
157- **Satirical warning boxes**: Legal-warning-style disclaimers before cursed
158 content
159- **`<details>` folds**: Long code blocks in
160 `<details><summary>Longer code block</summary>...</details>`
161- **Blockquote citations**: External quotes in `<blockquote>` with
162 `\-[Source](url)` attribution
163- **Pop culture anchoring**: Anime, games, sci-fi references woven into
164 technical arguments
165
166## MDX Format
167
168Posts are MDX (Markdown + JSX). Component imports vary by platform.
169
170### Personal Blog (xeiaso.net)
171
172```mdx
173---
174title: "Post Title"
175desc: "One-line description"
176date: YYYY-MM-DD
177hero:
178 ai: "Photo credit or AI model name"
179 file: "hero-image-slug"
180 prompt: "Image description"
181 social: false
182---
183
184import Conv from "../../_components/XeblogConv.tsx";
185
186;
187```
188
189Images: `<Picture path="blog/YYYY/post-slug/image-name" desc="Alt text"/>`
190
191### Company Blog (Tigris)
192
193```mdx
194---
195slug: post-slug
196title: "Post Title"
197description: |
198 Multi-line SEO description
199keywords: [...]
200authors: [xe]
201tags: [...]
202---
203
204import Conv from "@site/src/components/Conv";
205
206;
207```
208
209Images: Standard `<img>` with imported files. Admonitions: `:::note ... :::`
210
211## Body Writing Checklist
212
213- Vary paragraph length (single-sentence emphasis vs. longer explanations)
214- Code blocks are complete and copy-pasteable with file path comments when
215 helpful
216- Inline code for commands and technical terms: `git push`, `HTTP/2`
217- Links are dense and inline (cite sources, reference prior art, link docs)
218- `<details>` for code blocks that would break reading flow
219- Use `---` horizontal rules for major thematic breaks
220
221## Process
222
2231. Accept the user's brain dump without requiring organization
2242. Read `references/voice-tone.md`
2253. Read 2-3 random example posts from `assets/` for tone calibration
2264. Read the reference files that match the post's mode:
227 - Narrative arc → `references/story-circle.md`
228 - Personal/vulnerable → `references/emotional-personal.md`
229 - Fiction/parable → `references/fiction-mythic.md`
230 - Humor/satire → `references/humor-satire.md`
231 - Spiritual themes → `references/spirituality.md`
2325. Choose a structure pattern and draft
2336. Review: successive-paragraph rule, no corporate tone, voice matches examples
2347. Show draft to user and iterate