| name | xe-writing-style |
| description | 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. |
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.
What's Load-Bearing
The structural arc and an unbroken register decide whether a post lands; the
signature devices (dialogue, warning boxes, friend-reaction lists) are garnish.
A post that runs its full arc with zero devices reads as a Xe post —
assets/objgit.mdx uses no character dialogue and is the strongest example in
this collection. A post with Xe diction but no architecture does not. Spend
effort on structure, voice consistency, and evidence before any ornament.
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, on the page. Never present a solution without its costs,
and argue the costs where the claims are — don't defer them to a footnote or
another site. The strongest form is a confession: one embarrassing,
self-inflicted failure ("It was completely dead in production.") buys more
credibility than any disclaimer.
- Context before implementation. Explain why something matters before
showing how.
- One narrator. Narrative beats belong to a single first-person voice;
"we" appears only in genuinely collective engineering statements. No
customer-logo dumps or "You could be next!" closes.
- Numbers carry the argument. Quantify the failure the claim rests on
("over 8,500
GetObject calls before I killed it"), not just the effort of
building. Every "many", "significant", or "often" becomes a real number or
gets cut.
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. For cursed
projects, read references/humor-satire.md — it covers the formula's beats and
the ways posts fumble them.
Headings
Read the H2s aloud as a list: they should carry the plot, jokes second. The
target is a scan that gives the reader the whole shape — premise → "oh no, it
works" → disaster 1 → disaster 2 → now what. Voicey headings that don't
sequence read as a table of contents wearing a costume. Question-shaped H3s
under the voicey H2s cost no voice and help search.
Openings
Lead with one of:
- Question with stakes: "What happens if I just point a git server at an
object storage bucket?" — the question is the experiment the post then runs,
not scaffolding.
- 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, "In this post, I will...", a product-brochure
line ("At Tigris, we make..."), or "Imagine a world where...". The test: if the
first paragraph could front any other post unchanged, rewrite it.
Closings
Every ending adds something the reader didn't have; it never recaps.
- Sections close on an earned generalization: convert the section's
specific disaster into a portable insight ("Serving Git repositories is an
accidental filesystem latency benchmark."). Ration these — two or three per
post; more reads as aphorism farming.
- The post ends with exactly one of: a new generalization, a next step, or
a hand-off, tied back to the opening hook or tension. Never "In conclusion"
or a "Key takeaways" list that restates the body.
- 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. It is distinctive but optional
garnish: reach for it when a beat needs it, and skip it freely — the strongest
posts sometimes use none.
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
- The payoff the opening promises lands on the page — deliver the result, or
make its absence the explicit caveat ("I haven't trained it yet; here's what
would tell us it worked"). "I plan to do it when I get the time" quietly
concedes the premise.
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 against all of:
- Successive-paragraph rule holds; no corporate tone; voice matches examples
- Opener passes the portability test (couldn't front any other post)
- The promised payoff lands on the page
- Each load-bearing claim has a failure-cost number
- At least one self-inflicted confession or argued tradeoff
- H2s read as an arc when scanned as a list
- Sections and the closer add insight rather than recap
- Show draft to user and iterate