Save X threads as clean Markdown
EN PT ID

Notula 2026: Human-Edited Markdown Your AI Agents Read

August 20, 2026 · 8 min read · Guide

On August 19 2026, a Show HN post introduced Notula with a deceptively simple pitch: a WYSIWYG Markdown editor for docs as code, where the whole team edits the Markdown in your git repo, including people who never open a terminal. The tagline that grabs any AI-tool user is the headline of this article: "where humans edit the Markdown your AI agents read." Notula is a local, free, no-account, no-server editor for macOS and Windows (downloads ship from its GitHub releases).

That framing matters for social-content archivists more than it first seems. Apps like ThreadGrab exist to turn public X posts and threads into clean Markdown. Once that content lives in your repository as editable files, the next question is whether those files stay clean enough for an AI agent to read back. Notula is a useful lens for that question: it is a tool that makes Markdown curation visual, for humans, while keeping the on-disk files exactly what an agent expects.

Quick take: AI agents read plain Markdown natively, so archived content is only as useful to them as the Markdown is clean. Notula (Show HN, Aug 19 2026) is a WYSIWYG editor that keeps docs-as-code files well-formed while letting non-developers edit them. Combine a clean converter (ThreadGrab) with a human curation layer, and your social archive becomes agent-ready.

What Notula Actually Solves

Most Markdown tooling splits into two camps. On one side are code editors, where the file is the truth but the syntax is the barrier: a product manager editing a spec has to learn hashes, asterisks, table pipes, and a diff before they can change a paragraph. On the other side are rich text apps, where editing is easy but the output drifts away from plain Markdown the moment someone adds a comment, a table, or an embed.

Notula refuses that trade. It is WYSIWYG, not live preview: no Markdown syntax is ever visible on the line your cursor is on, yet the file on disk stays ordinary Markdown. You edit a Mermaid diagram as a picture and it serializes back to the same fenced block. You select a passage, comment, reply, and resolve, and git records every version. Nobody is ever shown a rebase, a stash, or the words "detached HEAD."

Under the hood this is the docs as code model that pushed specs, PRDs, RFCs, and runbooks out of wikis and next to the code. The difference is the interface: Notula gives the people who do not use git a way in, without giving the files back.

Why "Clean Markdown" Is an AI-Agent Requirement

Agents read, write, and review plain .md files natively. Files in the repository are where they are strongest — that is a statement you see on the Notula homepage and it lines up with how agent tooling works in practice. A vector store chunks on headings. A prompt assembler slices whole files by their structure. An LLM that is told "read these notes" does best when the notes are unambiguous Markdown with clear heading levels and no leftover markup.

What ruins that?

This is precisely the class of problem that a conversion tool addresses at ingestion and a curation tool addresses afterward. ThreadGrab normalizes the source: every thread becomes the same deterministic structure of headings, paragraphs, lists, and code blocks. Notula normalizes the hand-off: a human keeps those files clean and structured before an agent ever reads them.

# The pipeline in one line
X thread --> ThreadGrab --> clean .md --> human curation (Notula) --> AI agent / KB

# What a well-formed archived thread looks like
---
title: "Why we archive threads as Markdown"
source: "https://x.com/user/status/123456"
archived: "2026-08-20"
---
## Why Markdown
Agents parse plain .md natively.
## Why clean
Messy files split retrieval.

Feature Matrix: Notula vs. Code Editors vs. Rich Text

To see where Notula sits, compare it against the two camps it bridges:

CapabilityCode EditorNotulaRich Text App
File on disk stays plain MarkdownYesYesNo
No Markdown syntax while editingNoYesYes
Git versioning for every editManualAutomaticNo
Comments, replies, resolutionPRsInlineYes
Mermaid diagrams as a visual objectNoYesPartial
Non-developers can contributeNoYesYes
Agent-readable output guaranteedYesYesNo

The column that matters for an archivist is the last one: agent-readable output guaranteed. A code editor gives you clean files but a syntax wall. A rich text app gives you easy editing but not clean files. Notula is the middle path — and middle paths are what a human-curated archive needs.

From Social Content to an Agent-Ready Archive

Here is the workflow that ties social archiving to the Notula idea. It assumes you already convert X posts and threads to Markdown; if you do not, that is the first step.

  1. Ingest with a converter. Turn each public X thread into clean Markdown with ThreadGrab. Keep the URL, the publish date, and the author in front-matter so the file is self-describing.
  2. Curate in a WYSIWYG editor. Open the archive in Notula. Fix headings, merge duplicate threads, add tags, and write a short summary at the top of each file. The edits stay plain Markdown on disk.
  3. Commit to git. Every change is versioned. An AI agent, a vector index, or a future you can walk the whole history and see what was added, changed, or removed.
  4. Feed the agent. Point your agent or knowledge base at the repo. It reads well-formed Markdown and returns grounded answers instead of guessing from a shelled or messy source.

Step two is the one most people skip, and it is the step Notula makes painless. Conversion is necessary but not sufficient: a folder of clean Markdown is only agent-ready if it stays clean, structured, and de-duplicated over time. That is a human job with an editor-shaped tool, not a terminal job.

Keep Provenance When You Curate

One caveat before you hand every archived thread to an AI editor: preserve provenance. When you curate social content — which is someone else's content, however public — keep the source, the archive date, and the original author in the file. If an agent later cites or summarizes that thread, the reader should be able to trace it back to the original post.

# Provenance block to keep in every curated file
---
title: "The original thread title"
author: "@username"
source_url: "https://x.com/username/status/123456"
archived_at: "2026-08-20"
curated_by: "you"
---

This matters for one more reason: it makes your archive honest. A curated Markdown file is a derivative work — it is the thread, cleaned up. Keeping the source block is what lets an AI agent reproduce the trail, and it is the difference between an archive and a paraphrase.

The Agent-Reading Test: Is Your Archive Actually Usable?

Before you trust an AI agent with your archive, run a quick readability check on a handful of files. You do not need an LLM for most of it; a few shell commands reveal whether your Markdown is agent-friendly or full of landmines.

# 1. Count files that are not really Markdown
find . -name "*.md" -size +2M -print            # suspiciously large = maybe rich-text or shelled

# 2. Flag missing front-matter (provenance is important for social archives)
grep -L "^---" $(find blog -name "*.md") | head

# 3. Spot inconsistent heading levels in one file
grep -n "^#\{1,4\} " notes/thread-1234.md

# 4. Find leftover HTML or markup that should not be in plain Markdown
grep -rn "

A file that passes all four checks is ready to feed an agent, a vector store, or a knowledge base. A file that trips any of them is exactly the kind of thing that will quietly degrade search, chunking, or retrieval later. The value of a curation tool like Notula is that it keeps the whole folder in the passing state, because edits are visual and serialization is deterministic.

What This Means for ThreadGrab Users

ThreadGrab's job stops at clean, faithful Markdown. It converts the public thread and leaves the curation to you. Tools like Notula fill the next step in the same pipeline: a visual layer where a human keeps the archive shaped for an AI agent, a knowledge base, or a future reader.

The practical takeaway is that you do not have to choose between easy editing and clean files. A WYSIWYG editor that serializes to plain Markdown, sitting on a git repo, next to a deterministic converter, is a full pipeline for agent-ready social archives. Convert clean, curate visually, commit always, and feed the agent well-formed files.

FAQ

What is Notula?

Notula is a WYSIWYG Markdown editor for docs as code. It launched as a Show HN project on August 19 2026. The core idea is that the whole team edits the Markdown files in your git repository, including people who do not use git, so the docs stay as plain .md files while non-developers get a visual editor. It is free, requires no account and no server, and ships for macOS and Windows.

Why does clean Markdown matter for AI agents?

AI agents read plain Markdown natively. When your notes, specs, and archived content are stored as clean .md files with clear headings and no markup clutter, an agent can parse them reliably and feed them into prompts, vector stores, or downstream pipelines. Messy or redundant Markdown is exactly where agent parsing starts to fail, which is why curating the files matters as much as converting them.

How does a WYSIWYG editor keep the Markdown clean?

Notula is WYSIWYG, not live preview. You never touch Markdown syntax while editing, but the file on disk stays ordinary Markdown. Fenced code blocks, tables, and Mermaid diagrams are edited as visual objects and serialized back to standard Markdown. Every version is stored in git, so nothing changes under your cursor without a record. This is the "docs as code" trade: humans get a document editor, agents get well-formed files.

How does ThreadGrab fit into a Markdown pipeline for AI agents?

ThreadGrab turns public X posts and threads into clean, deterministic Markdown. That is the ingestion step: social content lands in your repo as readable .md files. From there you can curate, structure, and augment those files in a tool like Notula, then hand the whole set to an AI agent or a knowledge base. The archive is only as useful to an agent as the Markdown is clean, which is why conversion quality and human curation go together.

Can I use Notula with my existing Markdown archive?

Yes. Because Notula operates on plain .md files in a git repository, you can point it at an existing archive and it will open the Markdown without conversion. Content archived today with ThreadGrab, or any clean Markdown you already hold, can be browsed and edited in Notula's document tree. Folders with no documents never appear, so a large social archive stays browsable.