md2rich

2026-09-12 · Markdown tools

Marginal 2026: A Markdown Editor Built for Coding Agents

Here is a sentence that would have been nonsense in 2020: the most consequential prose most developers write now is not the code, it is the Markdown that tells an agent how to write the code. A CLAUDE.md at the root of a repository changes behavior on every future session. A SKILL.md with a malformed YAML front matter block silently stops loading. A rule file scoped to one subdirectory quietly overrides a rule you thought was global.

For most of the last year the tooling for that authoring work has been whatever editor you already had open — a general-purpose code editor, a note-taking app, or vim in a terminal tab. On September 2, 2026, Kunihiro Ishiguro published a blog post titled Markdown Editors Weren't Built for Coding Agents, So I Made One and shipped Marginal, a native Markdown editor whose headline feature is finding the files your coding agent actually reads. This article looks at what it does, where it fits, and — because the honest answer matters more than the launch copy — where it does not.

The problem Marginal is solving

The author's own description of the problem is more useful than any feature list. He writes that he uses coding agents heavily every day, mainly Claude Code, and has them write dev plans, run security audits, and generate BDD test cases. Each of those artifacts lands in Markdown. He also periodically maintains his CLAUDE.md and installs other engineers' skills. The result, in his words: an overwhelming number of Markdown documents, sometimes more than 100, scattered across different subdirectories.

Then the harder part. He had lost track of which skills were currently available, which sub-agents were installed, and which rules were in effect. Some of those files are project-local; some are shared across an account on a specific machine. He also uses other agents like Codex and OpenCode, and each of them searches different paths for its configuration.

The specific pain that made him build the tool is sharper still: SKILL.md files use a special Markdown format with YAML front matter containing mandatory fields such as name and description. He wanted an editor that understood that structure and highlighted it properly. He went looking, and, in his account, could not find anything that met the requirements.

That framing is worth pausing on, because it is not a complaint about Markdown editors being bad. It is a claim about a category mismatch: today's Markdown editors work well for note-taking and for getting things done, and neither of those is the same job as maintaining an agent's configuration surface.

What it actually does

Marginal's first feature is the one that motivated the project. You pick your coding agent — Claude Code is the default — and the sidebar lists every Markdown file that agent will read for the open folder, along with its skills, rules, sub-agents, and commands. Each entry shows the name from the file's front matter when it has one, its description as a second line, and a badge indicating provenance.

Badge Meaning
projectIn the workspace, shared with everyone who clones the repository
localIn the workspace but yours alone, such as CLAUDE.local.md
userIn your home folder, applied to every project you open

Entries are ordered project first, then local, then user — which happens to be the same precedence order agents resolve them in, so reading the list top to bottom approximates reading the effective configuration. The sections (CLAUDE.md, RULES, SKILLS, AGENTS, COMMANDS) start collapsed and only appear when they have entries.

The agent table

Marginal knows the layout of six agents. The mapping is not cosmetic — each of these tools genuinely names its instruction file something different, which is the root cause of the confusion the article opens with.

Agent Made by Instruction file
Claude CodeAnthropicCLAUDE.md
CodexOpenAIAGENTS.md
Grok BuildxAIAGENTS.md
OpenCodeopen sourceAGENTS.md
CursorAnysphereAGENTS.md and .cursor/rules
Qwen CodeAlibabaQWEN.md

Switching the agent changes what is listed, not what is on disk. A folder carrying both a CLAUDE.md and an AGENTS.md shows one or the other depending on which agent you selected — which is a genuinely useful way to see, with your own eyes, why the same repository behaves differently under two different agents.

Not every agent file is Markdown

A detail worth noting for anyone who has been confused by a config file that would not open: Cursor rules are .mdc, Codex sub-agents and execution rules are .toml and .rules, and Qwen Code still reads its older .toml commands. Marginal lists them because the agent reads them, and opens them in the editor as plain text. The tool follows the agent's reality rather than enforcing a purist definition of Markdown.

Everything else in the app

The part most launch posts would leave out

Engagement on this one has been small. The blog post was submitted to Hacker News on September 3, 2026 and, as of this writing, sits at 2 points with no comments. That is not a knock on the software — plenty of useful tools launch quietly, and a native app with a subscription is a harder sell to a forum that rewards free and self-hosted. But it does mean you should evaluate this on its own merits rather than on a wave of enthusiasm, so here are the caveats that come with it.

That last point is the kind of thing worth knowing before you decide the feature is broken. It is documented, which is to the author's credit, but it will bite someone.

Why this category is suddenly real

The reason Marginal is interesting is not the editor. It is what the editor implies about where Markdown sits in a developer's workflow now.

Markdown has been the lingua franca of notes, README files, and static site generators for years. What changed is that Markdown became the control plane for software that acts. A skill file is not documentation about capabilities, it is the capability. A rules file is not a style guide, it is enforcement. When you edit one of those files you are programming an agent in prose, and the feedback loop is the agent's next session.

Once you accept that framing, the requirements change in ways a note-taking editor does not satisfy. You need to see which files are in effect and which are shadowed. You need front matter treated as structure, not as text that happens to start with ---. You need the terminal in the same window as the file, because the edit and the test are one action. None of that is exotic, but all of it is specific, and specific requirements are what justify a purpose-built tool.

Two Markdown-to-rich-text examples

Here is where the agent-authoring world meets the publishing world, which is the seam this site lives on. Suppose you have just written a skill file and you want to share the pattern with your team in a LinkedIn post or a Medium article. The Markdown is correct. The paste is where it breaks.

Take a small skill definition with front matter, a heading, and a task list:

---
name: changelog-writer
description: Turns merged PR titles into a dated changelog entry.
---

# Changelog Writer

## Steps
- [x] Read the merge log for the target window
- [x] Group entries by area
- [ ] Flag breaking changes for review

Run it after every release tag.

Pasted raw into a rich-text editor, the front matter can survive as a visible fence, the heading can flatten into bold body text, and the task list can degrade into a stack of literal - [x] lines. Second example, the one people get wrong most often — a short post that includes a config snippet and a table:

# We standardized our agent config on Markdown

One instruction file, one skills folder, no tribal knowledge.

| Agent | Instruction file |
| - | - |
| Claude Code | CLAUDE.md |
| Codex | AGENTS.md |

If a rule is not in the repo, it does not exist.

Both of those convert through md2rich entirely client-side — the site is a pure front-end tool, so nothing you paste ever leaves your browser. That property is not incidental in an agent workflow. The skills and rules you write are frequently the most internal prose your team produces: they describe how you handle customer data, what you must never touch, which systems require approval. A conversion step that uploads your draft to a server to format it is a worse trade than one that does not, and it is a strange thing to accept from a tool whose whole premise is that your files stay on your disk.

Where the two jobs separate

Marginal edits the Markdown that configures agents. You give it a folder; it finds the instruction file, the skills, the rules, and the commands that are actually in effect for the agent you selected. Its job is orientation — telling you what your agent will read before it reads it.

md2rich converts the Markdown you wrote for humans. You give it a finished draft; it gives you rich text you paste into LinkedIn, X Articles, Medium, or Notion. Its job is fidelity — making sure the platform does not destroy your structure on the way in.

Put another way: one is an authoring surface for machine-facing prose, the other is a conversion step for human-facing prose. They touch the same file format at two completely different moments, and neither one substitutes for the other. A team that writes a lot of agent configuration and also publishes about it will end up with both, and the reason is not upsell — it is that the two problems live at opposite ends of the document's life.

Bottom line

If you maintain agent configuration files for six or more projects and you have ever been unsure which SKILL.md was actually loading, Marginal addresses a real problem that no general-purpose editor addresses, and $10 a month is a fair price for seeing your effective configuration in one list. The 14-day trial needs no card, so the honest recommendation is to point it at the messiest repository you have and see whether it tells you something you did not know. If it does, the subscription is easy to justify. If your config is one CLAUDE.md and three skills, you already know what is in effect and you can skip it.

And when you turn that configuration work into a post — a migration write-up, a skill pattern, a postmortem — remember that the last mile is a separate problem. Convert it with md2rich before you paste it into LinkedIn, X Articles, Medium, or Notion. The Markdown stays on your machine the whole way through, which is the same promise a good native editor makes about your files.

Write the agent's Markdown. Publish yours properly.

Marginal discovers the config your coding agent reads; md2rich turns your finished Markdown into rich text for LinkedIn, X Articles, Medium, and Notion — all in your browser, nothing uploaded.

Try md2rich