
Essay Authoring
- 9 installs
- 1 repo stars
- Updated August 2, 2026
- agentworkforce/proactive-agents
essay-authoring is a Claude Code skill that defines MDX authoring patterns (Scene scrollytelling, SVG figures, Callouts) for writing essays on the Proactive Agents site.
About
essay-authoring is a Claude Code skill that teaches the MDX authoring patterns for the Proactive Agents site. It defines how to use the Scene scrollytelling component, custom SVG figures, Callout, PullQuote, and Sidenote components, and embedded media. A developer loads it when writing or editing an essay on that site, and it ends with a voice checklist to catch predictable writing tics before publishing.
- Scene-based scrollytelling layout that pairs sticky SVG figures with scrolling text
- Callout, PullQuote, and Sidenote component conventions for MDX essays
- Pre-publish voice checklist that flags recurring AI-writing tells
Essay Authoring by the numbers
- 9 all-time installs (skills.sh)
- Ranked #1,150 of 1,879 Documentation skills by installs in the Skillselion catalog
- Data as of Aug 3, 2026 (Skillselion catalog sync)
essay-authoring capabilities & compatibility
- Capabilities
- mdx authoring · content writing · figure design · editorial review
- Use cases
- copywriting · documentation
What essay-authoring says it does
Every essay should use the **Scene** component to pair figures with text.
Figures are custom SVG React components in `components/mdx/figures.tsx`.
npx skills add https://github.com/agentworkforce/proactive-agents --skill essay-authoringAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 9 |
|---|---|
| repo stars | ★ 1 |
| Last updated | August 2, 2026 |
| Repository | agentworkforce/proactive-agents ↗ |
What it does
Write and edit MDX essays with scrollytelling figures, callouts, and a pre-publish voice check.
Who is it for?
Writing or editing MDX essays on the Proactive Agents site with figures, callouts, and a consistent voice.
Skip if: Generic Markdown or content outside this site's Scene/Callout/figure component system.
When should I use this skill?
When writing or editing any MDX essay for the Proactive Agents site.
What you get
Essays use consistent scrollytelling scenes, callouts, and pass a pre-publish voice check.
- Scrollytelling MDX essay
- Custom SVG figure components
- Pre-publish voice checklist pass
By the numbers
- 10 anti-pattern voice guardrails and a per-article checklist
- 3 Callout tones (thought, warm, cool)
Files
Essay Authoring Skill
When writing or editing an MDX essay for this site, follow these patterns to produce rich, scrollytelling-style content with sticky figures, callouts, and embedded media.
Article Structure
Every essay should use the Scene component to pair figures with text. Scenes create a two-column layout where the figure sticks to the viewport while the reader scrolls through the accompanying text. This is the core reading experience — articles without Scenes feel flat.
Scene component
<Scene figure={<MyFigure />} caption="Short description of the figure.">
## Section heading
Body text that scrolls alongside the sticky figure. Can include
multiple paragraphs, lists, callouts, etc.
</Scene>Props:
figure(required): A React SVG figure component. These live incomponents/mdx/figures.tsx.caption(optional): Short uppercase label below the figure.side(optional):"left"(default) or"right". Alternate sides for visual rhythm.
Rules:
- Alternate
side="left"andside="right"across consecutive Scenes for visual variety. - Each Scene should contain 1-3 sections of text — enough to scroll past the figure, but not so much the figure feels abandoned.
- The first Scene in an article should appear early (within the first 2-3 paragraphs) to establish the scrollytelling pattern.
- On mobile, Scenes stack vertically (figure above text), so content must make sense in both layouts.
Figure components
Figures are custom SVG React components in components/mdx/figures.tsx. They use a shared color constant object C:
const C = {
paper: "#fbf6ec",
ink: "#2a2521",
inkSoft: "#4d4640",
faint: "#8a7f74",
rule: "#e8ddc8",
peach: "#ffd6bf",
butter: "#fbe7a6",
sage: "#c8dcbf",
lavender: "#dccaee",
rose: "#f2c4cd",
sky: "#bedcef",
terracotta: "#d98a6b",
moss: "#6c8a5e",
plum: "#7a5d8c",
};When creating a new figure: 1. Add it to components/mdx/figures.tsx using the C color constants. 2. Register it in components/mdx/mdx-components.tsx. 3. Use viewBox="0 0 320 320" as the default canvas size (square, fits the Scene column). 4. Use className="w-full" on the SVG. 5. Keep figures illustrative and diagrammatic — not decorative. They should teach something.
Existing figures for reference:
PollingFigure— clock face with polling arrows (reactive loop)ProactiveFigure— world-to-agent push arrowTripleFigure— three circles (clock/listener/inbox) connected by dashed linesWebhookTaxFigure— list of webhook plumbing stepsRuntimeFigure— architecture diagram with runtime at centerPromptLayerFigure— two-layer diagram (prompt advises, runtime enforces)GapMapFigure— table-style comparison grid
Callout components
Use Callouts to surface key insights, asides, or further reading that break out of the main text flow.
<Callout tone="thought" label="Short label here">
Content goes here. Can include *markdown* and **formatting**.
</Callout>Tones:
"thought"— for key insights or "aha" moments"warm"— for human observations, ironies, or gentle critiques"cool"— for further reading, technical references, or next steps
Rules:
- Use 2-4 Callouts per essay. Too many dilutes their impact.
- Labels should be short (3-6 words) and intriguing.
- Don't use Callouts for content that should be in the main text. They're for insights that stand on their own.
PullQuote component
For a single memorable line that deserves emphasis:
<PullQuote>
The first time you add a webhook, it takes an afternoon. The third time — correctly — it takes longer than a sprint.
</PullQuote>Use sparingly — one per essay at most.
Sidenote component
Some main text.<Sidenote>Aside that appears in the margin on desktop.</Sidenote>Caution: Sidenotes use absolute positioning and can overlap body text below them. Only use when there is enough vertical space. If overlap is a risk, use a Callout instead.
Embedded media
iframes (LinkedIn, Twitter, etc.)
<iframe src="https://..." height="264" width="504" frameborder="0" allowfullscreen="" title="Embedded post"></iframe>Place contextually near the content the embed illustrates.
Voice guardrails
Before publishing, check the essay against these anti-patterns. Each one slipped past earlier drafts and became a recurring tic across the series.
- "That is/That's the [noun]." Do not end paragraphs with short declaratives that name the thing the reader just read about. ("That's the gap." "That is the wedge.") They say nothing. Cut or integrate.
- Dramatic closers. No grand closing lines that could be taglines. End with a specific observation or nothing. The reader doesn't need a drumroll.
- Branded phrase repetition. "Clock, listener, inbox" at most 2-3 times per essay (except three-primitives.mdx). Vary with "the three primitives," "the runtime's core," or just describe the concept.
- Tricolon overuse. "Not X. Not Y. Not Z." at most once per essay. Multiple parallel structures with identical openings are an LLM tell.
- Em-dash density. 1-2 per section. Convert excess to commas, colons, parentheses, or restructure.
Checklist for every article
Before considering an article complete:
- [ ] At least 2 Scene blocks with figures (alternating sides)
- [ ] Figures are illustrative SVGs that teach, not decorate
- [ ] 2-4 Callouts with varied tones
- [ ] All external references are linked
- [ ] Internal essay references use relative paths (
/posts/slug) - [ ] No HTML entities — use real Unicode characters (—, ', ", etc.)
- [ ] No markdown tables — use HTML
<table>elements - [ ] Frontmatter summary uses plain text (no HTML entities)
- [ ] Card illustration added in
components/card-illustrations.tsxfor the post slug - [ ] New figure components registered in
components/mdx/mdx-components.tsx - [ ] No "That is/That's the [noun]." declarative closers
- [ ] No dramatic mic-drop closing lines
- [ ] "Clock, listener, inbox" exact phrase used at most 2-3 times
- [ ] No more than one tricolon per essay
- [ ] Em dashes limited to 1-2 per section
- [ ] No "This matters because" sentence openers
- [ ] No "uncomfortable truth/math/pattern" labels
- [ ] No fabricated incidents, outages, or operational claims the founder didn't experience
Related skills
FAQ
What component pairs figures with text?
The Scene component creates a two-column layout where the figure sticks to the viewport while the reader scrolls through accompanying text.
How many Callouts should an essay use?
The skill recommends 2-4 Callouts per essay, since too many dilutes their impact.