<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Edward Angert | Blog</title><description/><link>https://edwardangert.com/</link><language>en</language><item><title>Docs Assist: A Technical Writing Aide</title><link>https://edwardangert.com/blog/docs-assist-plugin/</link><guid isPermaLink="true">https://edwardangert.com/blog/docs-assist-plugin/</guid><description>A technical writer is a developer, too. An engineer of structured information: curation, synthesis, information architecture, judgment. We write, but that&apos;s often the least of it. I built a Claude Code plugin to help.</description><pubDate>Thu, 16 Jul 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;I rewrote the &lt;a href=&quot;../pi-hole/&quot;&gt;Pi-hole documentation&lt;/a&gt; on my site in mid-March.
Since then, according to metrics from Clarity, AI assistants have cited it over 2,000 times to answer other people’s questions.&lt;/p&gt;
&lt;p&gt;Strangers, mid-troubleshooting, asking their AI &lt;code dir=&quot;auto&quot;&gt;so how do i know if pihole works&lt;/code&gt;, &lt;code dir=&quot;auto&quot;&gt;getting 403 forbidden when trying to access pihole for the first time&lt;/code&gt;, and &lt;code dir=&quot;auto&quot;&gt;now ti says forbiden&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;If you were the one who found me via &lt;code dir=&quot;auto&quot;&gt;i only have the physical pi and a blank micro sd card&lt;/code&gt;, I hope I helped guide you, whoever you are.&lt;/p&gt;
&lt;p&gt;I’ve been that person, often late at night, SSHing into my Raspberry Pi and trying to figure out why there’s &lt;code dir=&quot;auto&quot;&gt;No space left on device&lt;/code&gt; when there’s definitely space left on the device.
Or worse, searching my spare parts bins for a working microSD card.&lt;/p&gt;
&lt;p&gt;That’s what prompted my rewrite earlier this year.
An unresponsive microSD card and an echo of “why isn’t the Internet working?”
That, and my traffic analytics said I was getting a lot of traffic to a single page and nearly everyone who visited bounced to a site I linked to.&lt;/p&gt;
&lt;p&gt;Now, for queries about Pi-hole block lists, my pages show up in about a third of AI answers.
For &lt;code dir=&quot;auto&quot;&gt;pihole backup&lt;/code&gt;, it’s 100%.&lt;/p&gt;
&lt;p&gt;My whole job as a technical writer has always been to anticipate what someone needs, and to make sure they find their answer in the first place they look for it.
I didn’t write those docs for AI.
I wrote them for me and for the greater good of the Internet.&lt;/p&gt;
&lt;p&gt;My personal site’s docs are just here to help - they don’t sell anything.
Humans trust documentation that actually solves their problem, and tend to shy away from documentation that feels like it’s been padded or trying to sell something.
AI has the same calibration. &lt;a href=&quot;https://arxiv.org/abs/2311.09735&quot;&gt;Research on generative-engine visibility&lt;/a&gt; found that citing sources and adding statistics improved how often AI systems surfaced a page (👀), while keyword stuffing, the classic SEO move, did essentially nothing.
The AI citations here are a side effect of that trust.&lt;/p&gt;
&lt;p&gt;The goal is still, and always, empowering the end user.&lt;/p&gt;
&lt;div&gt;&lt;h2 id=&quot;how-much-of-technical-writing-is-writing&quot;&gt;How Much of Technical Writing Is Writing?&lt;/h2&gt;&lt;/div&gt;
&lt;p&gt;Ask any technical writer how they spend their time.&lt;/p&gt;
&lt;p&gt;Writing is often the &lt;a href=&quot;https://essentialdata.com/tech-writers-making-the-complex-simple/&quot;&gt;smallest portion&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The job includes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Reading PRDs and the codebase to find what’s real.&lt;/li&gt;
&lt;li&gt;Interviewing the engineer who built the feature and the support teams who know where the issues arise.&lt;/li&gt;
&lt;li&gt;Running through each step to make sure I didn’t miss anything.&lt;/li&gt;
&lt;li&gt;Digging through Slack threads searching for concurring opinions.&lt;/li&gt;
&lt;li&gt;Working through how the feature relates to other documentation, and finding the best way to surface it to the reader.&lt;/li&gt;
&lt;li&gt;Running through the steps again.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The industry pitch for AI in documentation is aimed almost entirely at the writing part.&lt;/p&gt;
&lt;p&gt;“AI will write your docs” is a promise that won’t resolve the core bottleneck, the real work.
Writing code and writing documentation are both separate and time-consuming.
Often, the code gets included in the definition of “done,” and the documentation chases after.&lt;/p&gt;
&lt;p&gt;A technical writer is a developer, too.
Not of software, but of structured information: curation, synthesis, information architecture, judgment.&lt;/p&gt;
&lt;p&gt;Which facts are true.
Which facts matter.
What shape the whole thing should take so it stays usable as it grows.&lt;/p&gt;
&lt;p&gt;How to make sure someone can find it when they need to.&lt;/p&gt;
&lt;p&gt;These are decisions.&lt;/p&gt;
&lt;p&gt;My Pi-hole documentation gets cited because of decisions I made in writing it.
The troubleshooting page exists because I went through a bunch of Reddit and Stack Overflow posts, and because I dug through GitHub issues.
I redesigned my own Pi-hole deployment so that I could help the people who landed on the allow list page find their answer rather than bouncing.&lt;/p&gt;
&lt;p&gt;I’ve been a cheerleader for helping subject matter experts document their knowledge for a long time.
That’s a first step in documentation (write it down), and it’s technical writing.
They should own that proudly.
A technical writer is someone who makes that documentation better.&lt;/p&gt;
&lt;p&gt;I made a Claude Code plugin to help more people do more technical writing.&lt;/p&gt;
&lt;div&gt;&lt;h2 id=&quot;docs-assist&quot;&gt;Docs Assist&lt;/h2&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/EdwardAngert/docs-agent-plugin&quot;&gt;Docs Assist&lt;/a&gt; is a Claude Code plugin that coaches people through writing documentation.&lt;/p&gt;
&lt;p&gt;It’s for anyone who has the knowledge but not the job title or the time.
For the product owner who knows what got built and the support teams who know they need a doc more than they need another internal page or snippet.&lt;/p&gt;
&lt;p&gt;It’s also for technical writers, working solo or on small teams, who need to cover more ground than headcount allows.&lt;/p&gt;
&lt;p&gt;It asks what you know and what you need, takes your answers in any order, reflects them back so you can correct them, and then handles the structure, formatting, cross-references, and consistency.
It delivers a workable draft with less anxiety.&lt;/p&gt;
&lt;p&gt;If you can’t tell your Glossary from your Quickstart, it helps you choose a template from &lt;a href=&quot;https://www.thegooddocsproject.dev/template&quot;&gt;The Good Docs Project&lt;/a&gt;.&lt;/p&gt;
&lt;div&gt;&lt;h2 id=&quot;docs-assist-documented-itself&quot;&gt;Docs Assist Documented Itself&lt;/h2&gt;&lt;/div&gt;
&lt;p&gt;I built the plugin collaboratively with Claude Code.&lt;/p&gt;
&lt;p&gt;My documentation workflow and ideals shaped the plugin.
I dumped in what I know and guided the process.
Claude Code turns out to be genuinely good at this kind of work, writing prompts to help guide future Claude Code sessions.&lt;/p&gt;
&lt;p&gt;I asked it to help improve its own README:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Me:&lt;/strong&gt; Help me update the README with great docs about this plugin. Where do I start?&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Docs Assist:&lt;/strong&gt; Let me read it back first. The README is solid, but it tells more than it shows, it opens with a rename note that only old users care about, and the file tree has drifted from the code (it’s missing two files). Start with one thing: a short “What it looks like” example near the top, because that’s what turns a scroller into someone who tries it. Then move the rename note down and fix the tree. I’ll ship those three now.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Today, I ran an audit against this post’s branch:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://edwardangert.com/_astro/docs-assist-audit.jdv7ADgl_EMIkV.webp&quot; alt=&quot;Screenshot of Docs Assist auditing this blog post’s branch&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; width=&quot;990&quot; height=&quot;765&quot;&gt;&lt;/p&gt;
&lt;div&gt;&lt;h2 id=&quot;how-to-use-the-docs-assist-claude-code-plugin&quot;&gt;How to Use the Docs Assist Claude Code Plugin&lt;/h2&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;From inside Claude Code:&lt;/p&gt;
&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;/plugin&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;marketplace&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;add&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;EdwardAngert/docs-agent-plugin&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;/plugin&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;install&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;docs-assist@docs-assist-marketplace&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Restart Claude Code, then if you’re in a repository with existing docs:&lt;/p&gt;
&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;/docs-assist:health&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;It puts together a scorecard of your docs, coverage, freshness, consistency, and findability.
It identifies some high-leverage fixes and offers to make them.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;The plugin activates when you start discussing documentation, or you can call it directly:&lt;/p&gt;
&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;/docs-assist&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;It asks what you know, takes the brain dump in any order, marks the parts you’re unsure about for verification instead of papering over them, and produces a structured draft.
You review for accuracy.&lt;/p&gt;
&lt;div&gt;&lt;h3 id=&quot;use-docs-assist-to-prepare-agent-ready-docs&quot;&gt;Use Docs Assist to Prepare Agent-ready Docs&lt;/h3&gt;&lt;/div&gt;
&lt;p&gt;The thread this post opened with:&lt;/p&gt;
&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;/docs-assist:agent-ready&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;It creates or repairs &lt;code dir=&quot;auto&quot;&gt;llms.txt&lt;/code&gt;, completes the frontmatter that helps machines find the right page, and records your repo’s conventions where the next tool will look for them.&lt;/p&gt;
&lt;p&gt;The full command list, team configuration, and linting setup are in the &lt;a href=&quot;https://github.com/EdwardAngert/docs-agent-plugin&quot;&gt;plugin’s own docs&lt;/a&gt;.&lt;/p&gt;
&lt;div&gt;&lt;h2 id=&quot;how-the-docs-assist-claude-code-plugin-works&quot;&gt;How the Docs Assist Claude Code Plugin Works&lt;/h2&gt;&lt;/div&gt;
&lt;p&gt;One design decision drives the mechanics: use the LLM only where judgment is required, and use deterministic tools everywhere else.&lt;/p&gt;
&lt;div&gt;&lt;h3 id=&quot;keep-writing-rules-and-lint-rules-in-one-file&quot;&gt;Keep Writing Rules and Lint Rules in One File&lt;/h3&gt;&lt;/div&gt;
&lt;p&gt;&lt;code dir=&quot;auto&quot;&gt;/docs-assist:init&lt;/code&gt; commits a &lt;code dir=&quot;auto&quot;&gt;.docs-assist/config.yml&lt;/code&gt; to your repo: heading case, list markers, no em dashes, the frontmatter fields your docs already use.
The agent reads that file when it drafts.
&lt;code dir=&quot;auto&quot;&gt;/docs-assist:setup-lint&lt;/code&gt; generates the Vale and markdownlint configs from the same file, and extends any linter you already run instead of replacing it.&lt;/p&gt;
&lt;p&gt;Change a rule once and both the writing and the CI checks follow.
They can’t drift apart, because there’s nothing to drift between.&lt;/p&gt;
&lt;div&gt;&lt;h3 id=&quot;update-every-affected-doc-in-parallel&quot;&gt;Update Every Affected Doc in Parallel&lt;/h3&gt;&lt;/div&gt;
&lt;p&gt;When code changes, &lt;code dir=&quot;auto&quot;&gt;/docs-assist:update&lt;/code&gt; reads the diff, greps the docs for the symbols that changed, and separates the docs that document a renamed flag from the ones that mention a term in passing.&lt;/p&gt;
&lt;p&gt;For a large change, it launches a subagent for each affected doc, in parallel.
Each subagent is constrained to edit only what the diff requires and to flag anything it can’t confirm for human review instead of guessing.&lt;/p&gt;
&lt;div&gt;&lt;h3 id=&quot;detect-docs-impact-in-ci-without-calling-a-model&quot;&gt;Detect Docs Impact in CI Without Calling a Model&lt;/h3&gt;&lt;/div&gt;
&lt;p&gt;The optional pull-request check is a dependency-free script that never calls a model or the network.
It classifies each diff against the change types that break docs: moved files, edited headings, changed code terms the docs mention, a large source change with no docs touched.
Then it leaves one comment saying exactly which range to hand to &lt;code dir=&quot;auto&quot;&gt;/docs-assist:update&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Detection is AI-free and runs on every PR.
The expensive step runs only when a human decides it’s worth it.&lt;/p&gt;
&lt;p&gt;That’s the same judgment call the whole post is about, applied to the tool itself.&lt;/p&gt;
&lt;p&gt;(And yes, Docs Assist documented this section.
I checked its claims against the code the way I’d check any SME’s draft.)&lt;/p&gt;
&lt;div&gt;&lt;h2 id=&quot;replace-your-docs-team-with-this-one-weird-plugin&quot;&gt;Replace Your Docs Team With This One Weird Plugin&lt;/h2&gt;&lt;/div&gt;
&lt;p&gt;It probably won’t replace a technical writer, which is good, because I still &lt;a href=&quot;../about/resume.mdx&quot;&gt;need a job&lt;/a&gt;.
But it does cover some of the tasks that slow an SME contributor and a technical writer down.&lt;/p&gt;
&lt;p&gt;Every hour I don’t spend fixing nested markdown or looking for the most recent Slack conversation that decided a naming convention is time I can spend on the work that made those 2,000+ citations happen: knowing my audience and developing the architecture that gets them what they need.&lt;/p&gt;
&lt;p&gt;Whether the last hop to that human is a search engine, a docs site, or an AI reading on their behalf, I’m happy knowing they got their answer.&lt;/p&gt;
&lt;p&gt;I’m writing this immediately after my post about &lt;a href=&quot;../riptide-of-ai-hype/&quot;&gt;the riptide of AI hype&lt;/a&gt; and how real capability is buried under an industry selling a deck of universal fixes.
This plugin is not a universal fix.
It’s &lt;a href=&quot;../ai-docs-assist/&quot;&gt;an aide&lt;/a&gt;.
It’s a real AI capability and a real human-AI collaboration that’s worth the hype.&lt;/p&gt;
&lt;div&gt;&lt;h2 id=&quot;postscript&quot;&gt;Postscript&lt;/h2&gt;&lt;/div&gt;
&lt;blockquote&gt;
&lt;p&gt;Knowledge is the foundation.
Without it you can’t build.
(Thanks RZA)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;While I was writing this, sending Claude off to find backup sources and references I could use, I (yes, I, not Claude) found that Fabrizio Ferri Benedetti had &lt;a href=&quot;https://passo.uno/skills-are-docs/&quot;&gt;already written much of this argument&lt;/a&gt;, better sourced and a step ahead.
Fitting that someone already documented their thoughts and approach.
Everyone else gets to benefit and build upon it.&lt;/p&gt;
&lt;p&gt;Try out the plugin and report back.
It’s open source, Apache 2.0, and actively evolving.&lt;/p&gt;
&lt;p&gt;I’d love to hear about what you do with it.&lt;/p&gt;</content:encoded></item><item><title>The Riptide of AI Hype</title><link>https://edwardangert.com/blog/riptide-of-ai-hype/</link><guid isPermaLink="true">https://edwardangert.com/blog/riptide-of-ai-hype/</guid><description>The AI hype bubble is going to pop. There, I said it. There&apos;s more to it, though: unverifiable promises, AI-washing, moving goalposts, and why I see the hype as a riptide.</description><pubDate>Wed, 15 Jul 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;In April, Allbirds sold its shoe business for $39 million and rebranded the remaining public shell as NewBird AI, a GPU-as-a-service company.
The stock jumped roughly 600% on the announcement.
This was a business that lost $77 million the year before and closed every full-price store in the US.&lt;/p&gt;
&lt;p&gt;I can hear the “well, actually”s coming.
Yes, the shoes still exist, under new ownership.
It’s the public company, the ticker, the thing investors buy, that became an AI company overnight.&lt;/p&gt;
&lt;p&gt;A few weeks later, Everlane, another once-beloved direct-to-consumer brand, sold to Shein for $100 million in a deal structured mainly to absolve $90 million in debt.
Common shareholders got nothing.&lt;/p&gt;
&lt;p&gt;Two brands from the same era, and the media framing feels existential: sell out, or pivot to AI.&lt;/p&gt;
&lt;p&gt;That’s a riptide.
A current under the surface, pulling everything in one direction whether it wants to go there or not.&lt;/p&gt;
&lt;div&gt;&lt;h2 id=&quot;is-it-deception&quot;&gt;Is It Deception?&lt;/h2&gt;&lt;/div&gt;
&lt;p&gt;I want this up top, and I want to state it carefully because the shorthand of this post already exists a thousand times over.&lt;/p&gt;
&lt;p&gt;I’m not saying that AI companies are lying.&lt;/p&gt;
&lt;p&gt;I’m positing that the industry subsists on grandiose promises delicately hinged on GDP-level funding and hardware requirements, with the intention to spend until we discover what the capabilities actually are.&lt;/p&gt;
&lt;p&gt;My skepticism is about the desperation to make &lt;em&gt;everything&lt;/em&gt; about AI.&lt;/p&gt;
&lt;p&gt;The bubble is that at some point, that has to shake itself out, and nobody knows what we’ll be left with, or who will be left behind.&lt;/p&gt;
&lt;p&gt;I use these tools every day, &lt;a href=&quot;../ai-docs-assist/&quot;&gt;at home and at work&lt;/a&gt;, and they keep surprising me.
Sometimes in good ways.&lt;/p&gt;
&lt;p&gt;I’m not saying that the promises are false.&lt;/p&gt;
&lt;p&gt;The promises are unverifiable right now, because the underlying capability is still being discovered, at enormous cost, in public, by all of us.&lt;/p&gt;
&lt;p&gt;I’m not the first to identify this distinction.
Read Andreu Belsunces Gonçalves for what they call &lt;a href=&quot;https://arxiv.org/abs/2508.19749&quot;&gt;deep hype&lt;/a&gt;: a long-term, overpromissory dynamic that makes not-yet-existing technologies feel both desirable and urgent, sustained by belief and speculation rather than deliberate falsehood.&lt;/p&gt;
&lt;p&gt;A person who exaggerates their resume knows what they can’t do.
This hype is more like a person who genuinely doesn’t know their own qualifications yet, interviewing for every job at once, and getting paid while they work out the details.&lt;/p&gt;
&lt;div&gt;&lt;h2 id=&quot;record-setting-funding&quot;&gt;Record-Setting Funding&lt;/h2&gt;&lt;/div&gt;
&lt;p&gt;AI captured 81% of the record $300 billion in global VC funding in the first quarter of this year.
A year earlier it was 55%.
In 2022 it was around 30%.
Four companies, OpenAI, Anthropic, xAI, and Waymo, absorbed roughly 65% of all global venture dollars in a single quarter.&lt;/p&gt;
&lt;p&gt;But concentration of capital isn’t the same claim as progress being set back, and the two get blurred if you’re not careful.
Non-AI startups still pulled in about $58 billion that quarter, a figure that would have led every quarter before 2018.&lt;/p&gt;
&lt;p&gt;What still gets funded outside AI has narrowed to things AI can’t touch: defense, fintech, digital health, advanced manufacturing.
Categories with proprietary data, licenses, or physical moats.
Horizontal SaaS funding dropped roughly 35% over the previous year, not because it stopped being useful, but because AI threatens to commoditize what it used to charge for.&lt;/p&gt;
&lt;p&gt;Meanwhile, &lt;a href=&quot;https://finance.yahoo.com/news/companies-increasingly-ai-washing-212940553.html&quot;&gt;PR agencies estimate&lt;/a&gt; about half the AI pitches they’re asked to place are relabeled automation or unrelated products chasing an AI premium.
There’s a name for this now, “AI-washing,” and it’s been compared directly to dot-com era name-inflation.
Add &lt;code dir=&quot;auto&quot;&gt;.com&lt;/code&gt; to your name in 1999, add &lt;code dir=&quot;auto&quot;&gt;AI&lt;/code&gt; to your deck in 2026.&lt;/p&gt;
&lt;div&gt;&lt;h2 id=&quot;the-default-to-ai-bias&quot;&gt;The Default-to-AI Bias&lt;/h2&gt;&lt;/div&gt;
&lt;p&gt;This is the part that kicked off this whole post.&lt;/p&gt;
&lt;p&gt;If you’re a technologist with a genuinely good non-AI idea, the rational move now is to fold AI into it, or watch it get less attention, less capital, and less institutional patience than an AI-flavored version of the same effort would get.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://insights4vc.substack.com/p/ai-captured-80-of-global-venture&quot;&gt;Founder-facing advice says it outright&lt;/a&gt;: position your startup inside the AI funding currents, or watch from the sidelines.&lt;/p&gt;
&lt;p&gt;Y Combinator’s newest batches run more than 60% AI, at the earliest, most idea-stage layer of the pipeline, before product-market fit, before revenue.
The exact moment a new non-AI idea would otherwise get its first shot.&lt;/p&gt;
&lt;p&gt;This decides what gets built in the first place.&lt;/p&gt;
&lt;p&gt;The same pattern shows up in academic science, with better sourcing than anything I could add: &lt;a href=&quot;https://www.nature.com/articles/s44271-026-00428-5&quot;&gt;peer-reviewed work&lt;/a&gt; arguing that AI’s proliferation risks a scientific monoculture, where funding priorities, journal norms, and career incentives increasingly reward AI-centered work, so pursuing non-AI research carries career risk.
Same mechanism, different room.
Grant committees instead of term sheets.&lt;/p&gt;
&lt;p&gt;Here’s my own extrapolation: I suspect starving the adjacent fields eventually slows AI’s own progress.&lt;/p&gt;
&lt;p&gt;The clearest documented version is mathematics, where there’s &lt;a href=&quot;https://www.ox.ac.uk/news/2026-02-11-expert-comment-how-and-why-mathematics-will-both-underpin-and-lead-next-generation&quot;&gt;a real argument&lt;/a&gt; that mathematical structure is the scaffolding intelligent systems need, not an accessory bolted on after the fact.
Without it, AI stays fast but brittle.
I’d bet the same is true of cryptography and philosophy, but that’s my hunch, not a citation.&lt;/p&gt;
&lt;div&gt;&lt;h2 id=&quot;what-the-gloss-covers-part-one-nobody-fully-understands-the-mechanism&quot;&gt;What the Gloss Covers, Part One: Nobody Fully Understands the Mechanism&lt;/h2&gt;&lt;/div&gt;
&lt;p&gt;Start with the people who’d have the most reason to overstate their own understanding, and listen to what they actually admit.&lt;/p&gt;
&lt;p&gt;Anthropic’s CEO has called the current opacity of these systems &lt;a href=&quot;https://www.darioamodei.com/post/the-urgency-of-interpretability&quot;&gt;essentially unprecedented in the history of technology&lt;/a&gt;, and said plainly that nobody knows, at a precise level, why the model made the choice it made.
OpenAI’s CEO, asked directly how his own models work, &lt;a href=&quot;https://futurism.com/sam-altman-admits-openai-understand-ai&quot;&gt;said&lt;/a&gt;: we certainly have not solved interpretability.&lt;/p&gt;
&lt;p&gt;Forty researchers across OpenAI, Google DeepMind, Anthropic, and Meta, a list that includes Ilya Sutskever and Geoffrey Hinton, warned that even the partial visibility labs currently have &lt;a href=&quot;https://arxiv.org/abs/2507.11473&quot;&gt;isn’t guaranteed to survive as models get more capable&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;That’s the industry’s own position paper.&lt;/p&gt;
&lt;div&gt;&lt;h2 id=&quot;the-gloss-part-two-nobody-knows-the-ceiling-and-the-surprises-run-the-other-way&quot;&gt;The Gloss, Part Two: Nobody Knows the Ceiling, and the Surprises Run the Other Way&lt;/h2&gt;&lt;/div&gt;
&lt;p&gt;Some of these promises get delivered.&lt;/p&gt;
&lt;p&gt;In 2021, professional superforecasters &lt;a href=&quot;https://www.lesswrong.com/posts/CJw2tNHaEimx6nwNy/ai-forecasting-one-year-in&quot;&gt;predicted&lt;/a&gt; the best model would hit 12.7% accuracy on a hard math benchmark by mid-2022, and considered anything above 20% unlikely.
The actual result was 50.3%.
&lt;a href=&quot;https://arxiv.org/abs/2109.13916&quot;&gt;Researchers keep documenting&lt;/a&gt; capabilities that emerged without anyone training for them, and &lt;a href=&quot;https://arxiv.org/abs/2307.03718&quot;&gt;the main way anyone learns a model’s outer limits&lt;/a&gt; has been iterative public deployment, not internal lab knowledge.&lt;/p&gt;
&lt;p&gt;Large models keep turning out to have &lt;a href=&quot;https://www.planned-obsolescence.org/language-models-surprised-us/&quot;&gt;capabilities their own designers didn’t know were there&lt;/a&gt; until the public went looking after release.&lt;/p&gt;
&lt;p&gt;So when someone says AI might genuinely help cure a disease, that’s not automatically hype.
It’s consistent with the documented pattern of real capability being underestimated.
But genuine-but-unproven potential is a different category of claim from “does everything, everywhere, fixes everything,” and the current discourse treats them as interchangeable.
Real capability keeps outrunning anyone’s ability to forecast it, in both directions, and almost nobody is being precise about which direction they mean.&lt;/p&gt;
&lt;div&gt;&lt;h2 id=&quot;agi-the-amorphous-definition&quot;&gt;AGI: The Amorphous Definition&lt;/h2&gt;&lt;/div&gt;
&lt;p&gt;AGI was the dream.&lt;/p&gt;
&lt;p&gt;A single term everyone could rally behind or against.
Then nobody could agree on what it meant.&lt;/p&gt;
&lt;p&gt;Then the definition changed.
Now I barely hear anything about it.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.nature.com/articles/d41586-026-00495-y&quot;&gt;Peer-reviewed correspondence in Nature&lt;/a&gt; this February found the definition has been rewritten three times in a decade, and each rewrite landed exactly when existing systems were about to fail the previous version of the test.
&lt;a href=&quot;https://arxiv.org/abs/0712.3329&quot;&gt;The original 2007 bar&lt;/a&gt;, reliable generalization with no task-specific tuning, still isn’t met by anything on the market.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://openai.com/charter/&quot;&gt;OpenAI’s own charter&lt;/a&gt; caps investor returns once AGI is formally declared, which means the company deciding whether AGI has arrived has a direct financial stake in how that word gets defined.
Even Sam Altman, the person most publicly associated with chasing it, has called AGI “a very sloppy term” and “not a super useful term,” in the same period he kept using it in predictions.
&lt;a href=&quot;https://helentoner.substack.com/p/the-term-agi-is-almost-useless-at&quot;&gt;Serious people have claimed AGI was achieved on at least three separate dates in the past year&lt;/a&gt;, while others place it a decade or more out.&lt;/p&gt;
&lt;p&gt;The vocabulary is shifting toward “superintelligence” now.&lt;/p&gt;
&lt;p&gt;Not because the ambition changed, but because the old word got worn out by its own definitional churn.
Goalposts?
Where we’re going, we don’t need goalposts.&lt;/p&gt;
&lt;div&gt;&lt;h2 id=&quot;swim-parallel-to-the-shore&quot;&gt;Swim Parallel to the Shore&lt;/h2&gt;&lt;/div&gt;
&lt;p&gt;The advice for an actual riptide isn’t to fight the current, and it isn’t to let it take you.
It’s to swim parallel to the shore until you’re out of the pull, then make your way back in.&lt;/p&gt;
&lt;p&gt;AI is genuinely, verifiably capable of things nobody, including the people building it, fully understands or has finished discovering.
And at the exact same time, an enormous amount of capital, attention, and career incentive is being spent selling you something else: a universal fix, a funding strategy, a word to append to a press release.&lt;/p&gt;
&lt;p&gt;Sifting the real capability from the gloss is the work now.
Almost nobody is doing that work in public, because the incentives on all sides reward saying the loud version instead.&lt;/p&gt;
&lt;p&gt;This is my small attempt at doing it in public.&lt;/p&gt;
&lt;p&gt;I built the research for this post in conversations with Claude Sonnet, and had Claude Fable draft it in its attempt at my voice.
Then I edited it the way I’d edit any subject matter expert’s draft: checked the claims, demanded citations, cut what didn’t hold up, and rewrote this ending twice.&lt;/p&gt;
&lt;p&gt;I used the thing I’m skeptical about to write the skepticism, and it saved me hours.
Is it perfect?
It gets the point across.
I don’t have a cleaner way to hold both halves of this essay at once, and I’m not sure one exists yet.
Use your favorite AI tool to summarize it for you.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;../chasing-meta/&quot;&gt;Last time&lt;/a&gt;, I wrote about chasing the meta while keeping your “why” close.
This is the same idea at economy scale.
Experiment with the tools.
Take the capability seriously, it keeps being more real than the forecasts.
But when the current tries to pull your work, your funding, your field, or your public company’s ticker symbol toward AI whether it belongs there or not, that’s not the wave to ride.&lt;/p&gt;
&lt;p&gt;That’s the one to swim parallel to. Keep your head up, and wait it out.&lt;/p&gt;
&lt;p&gt;And hold on to your shoes.&lt;/p&gt;</content:encoded></item><item><title>Chasing the Meta: Fundamentals, Hype, and Progress</title><link>https://edwardangert.com/blog/chasing-meta/</link><guid isPermaLink="true">https://edwardangert.com/blog/chasing-meta/</guid><description>AI tooling changes by the week. The fundamentals don&apos;t. On a broken MCP, jiu-jitsu meta, and why the basics outlast every shiny new thing.</description><pubDate>Tue, 02 Jun 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;In the early 1900s, New York City built elevated train lines over its major avenues.
Like in Chicago and Boston, they were called the “Els.”&lt;/p&gt;
&lt;p&gt;They were the future of urban transit, steel and steam carrying passengers above the crowded streets.&lt;/p&gt;
&lt;p&gt;By the 1930s, the city was tearing them down as blights, building subways to replace them.
While they were perfecting one system, they were already making it obsolete with the next.&lt;/p&gt;
&lt;p&gt;Companies were competing to become the standard and building conflicting infrastructure while trying to outpace regulation.&lt;/p&gt;
&lt;p&gt;Every &lt;del&gt;time&lt;/del&gt; week there’s something new in the AI hype cycle I’m reminded of the Els.&lt;/p&gt;
&lt;p&gt;One day, maybe soon, AI will be a part of everyone’s workflow in ways we don’t even question, and many of these think pieces will age about as well as my college-era LiveJournal posts.&lt;/p&gt;
&lt;p&gt;This isn’t a post about AI.
Not really.&lt;/p&gt;
&lt;p&gt;It’s about what we care about and work towards, and how we can explore and incorporate the latest and greatest while still maintaining focus on our core values and mission.&lt;/p&gt;
&lt;p&gt;This is a familiar pattern.&lt;/p&gt;
&lt;div&gt;&lt;h2 id=&quot;hype-loop-pattern&quot;&gt;Hype-loop Pattern&lt;/h2&gt;&lt;/div&gt;
&lt;p&gt;Some developer friends use an IDE they have a love-hate relationship with.
The developers behind it start building features that seem genuinely useful, then abandon them for the next shiny feature before they’re finished.&lt;/p&gt;
&lt;p&gt;I’ve been using open-source software for decades and I’ve worked at startups.
When they explained this, I understood immediately.&lt;/p&gt;
&lt;p&gt;That’s the feeling I’m starting to get about certain AI features and maybe MCP.
It’s not that it’s being abandoned, not even that it doesn’t do what it promises.
It’s that it’s being built mid-flight toward an airport that’s already being replaced.&lt;/p&gt;
&lt;p&gt;We’ve seen this before.
In open source, projects announce features in the &lt;code dir=&quot;auto&quot;&gt;README&lt;/code&gt; that won’t ship for years.
Then the project gets abandoned, or absorbed, or the feature ships differently than promised.&lt;/p&gt;
&lt;p&gt;Technical writers know this so deeply, it’s nearly canon: never document something as &lt;code dir=&quot;auto&quot;&gt;coming soon&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Or as the (&lt;a href=&quot;https://developers.google.com/style/future&quot;&gt;Google developer documentation style guide&lt;/a&gt;) says:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Avoid documenting future features or products, even in innocuous ways.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Sometimes we spend two weeks documenting a feature that gets abandoned before release.
We stay resourceful, take notes, learn from the chase, and know when to pivot.
And we keep receipts.&lt;/p&gt;
&lt;p&gt;AI is speedrunning technology concepts from the last three decades and companies are changing their names around it.
Everyone works for “an AI company” now.&lt;/p&gt;
&lt;div&gt;&lt;h2 id=&quot;the-land-before-protocol&quot;&gt;The Land Before Protocol&lt;/h2&gt;&lt;/div&gt;
&lt;p&gt;At Coder, I asked Claude Code to help document the way the Coder codebase handles networking, something that relies on a number of different parts of the codebase.&lt;/p&gt;
&lt;p&gt;Claude kept insisting it didn’t need the help:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;“Just link me to the docs.”&lt;/li&gt;
&lt;li&gt;“I can analyze the codebase directly.”&lt;/li&gt;
&lt;li&gt;“Point me to the repository.”&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I answered: “You’re in the repo right now.”&lt;/p&gt;
&lt;p&gt;And like my five-year-old, it responded “oh yeah, I forgot” with the same confidence that it was right to begin with.&lt;/p&gt;
&lt;p&gt;I created a new Git repository, started Claude Code, gave it access to the Coder repo, and took it feature-by-feature:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Let’s take this directory-by-directory and feature-by-feature.
Learn about the way networking is handled as a concept, by which files, and what aspects of it users can modify. Create a file called &lt;code dir=&quot;auto&quot;&gt;networking.md&lt;/code&gt; with detailed notes for yourself. Whenever you learn something new about networking, update the file.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;This became &lt;a href=&quot;https://github.com/coder/shared-docs-kb&quot;&gt;shared-docs-kb&lt;/a&gt;, a knowledge sidecar of notes, context, and architectural patterns.&lt;/p&gt;
&lt;p&gt;The idea was to give Claude Code structured context about the codebase so it could help with documentation work instead of making things up as it went along.
I was trying to minimize the amount of information it needed to keep in context and teach it new skills that would make it a contributor’s buddy.&lt;/p&gt;
&lt;p&gt;With MCP and skills, what I started as a manual sidecar had become a protocol, and skills helped keep Claude focused.&lt;/p&gt;
&lt;p&gt;I was trying to solve a problem with the tools I had: AI needs structured context to be useful for documentation work.&lt;/p&gt;
&lt;p&gt;Meanwhile, Claude’s context window keeps expanding and its native tools keep improving.&lt;/p&gt;
&lt;p&gt;The ground keeps shifting while I’m building the bridge.&lt;/p&gt;
&lt;div&gt;&lt;h2 id=&quot;so-i-tried-an-mcp&quot;&gt;So I tried an MCP&lt;/h2&gt;&lt;/div&gt;
&lt;p&gt;My goal is to make it easier for developers on open source and small tools to draft useful documentation.&lt;/p&gt;
&lt;p&gt;I built an &lt;a href=&quot;https://github.com/EdwardAngert/reformatters-knowledge-base&quot;&gt;MCP server&lt;/a&gt; for &lt;a href=&quot;https://github.com/dynamical-org/reformatters&quot;&gt;reformatters&lt;/a&gt;, a Python framework for converting weather datasets.
It’s not meant to replace technical writers or documentation functions, but it should get people started.&lt;/p&gt;
&lt;p&gt;In my &lt;a href=&quot;../ai-docs-assist/&quot;&gt;last post&lt;/a&gt;, I was optimistic about it.&lt;/p&gt;
&lt;p&gt;Here’s what actually happened:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Railway deployment wouldn’t bind to the right IP.&lt;/strong&gt; Crash loops. But that was almost beside the point.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Claude Desktop only supports local stdio connections.&lt;/strong&gt; I built an HTTP/SSE server for a client that can’t use HTTP. The Railway deployment was solving the wrong problem from the start.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;The dataset tools had circular dependencies.&lt;/strong&gt; They required the main reformatters package to be installed, which defeated the purpose of a separate knowledge repo.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Search tools returned nothing even when the content was right there.&lt;/strong&gt; Tool registration worked. Retrieval didn’t.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The MCP server runs.
The tools are registered.
Claude thinks the knowledge base has &lt;a href=&quot;https://github.com/EdwardAngert/reformatters-knowledge-base/tree/main/knowledge&quot;&gt;good content&lt;/a&gt;.
But the architecture was mismatched from the start: I built a remote-first HTTP server for clients that only work locally over stdio.&lt;/p&gt;
&lt;p&gt;I had Claude Code verify the branch and document its findings.
Its conclusion: MCP remote access isn’t mature enough for team-wide use.
MCP requires infrastructure I don’t have the capacity (or desire) to maintain.&lt;/p&gt;
&lt;p&gt;Claude Code eventually reached the &lt;a href=&quot;https://www.writethedocs.org/&quot;&gt;Write the Docs&lt;/a&gt;-ready conclusion I’ve been arguing for, “we don’t need another repository, we just need better documentation.”&lt;/p&gt;
&lt;p&gt;I used to write documentation.
I still do, but I used to too.&lt;/p&gt;
&lt;div&gt;&lt;h2 id=&quot;bjj-core-mechanics&quot;&gt;BJJ Core Mechanics&lt;/h2&gt;&lt;/div&gt;
&lt;p&gt;The style of Brazilian jiu-jitsu has changed since it started getting popular in the US in the early 2000s.&lt;/p&gt;
&lt;p&gt;Back then, though the tagline was about smaller practitioners beating stronger opponents, in practice, there was still a focus on heavy pressure.
The “gentle art” was a little brutish.&lt;/p&gt;
&lt;p&gt;Through the years, the way people “played” evolved, with new techniques catching people off guard and being used to win competitions, then catching on in gyms throughout the world.&lt;/p&gt;
&lt;p&gt;That strategy, called “the meta,” becomes the new cool thing for a while, then people get good at countering or defending it, and it usually subsides or gives way to the next thing.&lt;/p&gt;
&lt;p&gt;You’re not meant to abandon your entire game to chase only after the cool new thing.&lt;/p&gt;
&lt;p&gt;Often, though the specific technique fizzles, some component remains and helps shape the new meta.&lt;/p&gt;
&lt;p&gt;Berimbolos, x-guard, heel hook entries.
They were all surprising at first, and now they’re just part of the system.&lt;/p&gt;
&lt;p&gt;As a featherweight who’s highly proficient at pulling bottom side-control, the buggy choke was a gift.
The problem is, pressure can still beat a buggy choke, and the real gift is reapplying the head-and-arm concept in other unexpected ways.&lt;/p&gt;
&lt;p&gt;It’s fun to chase the meta, as long as you keep your “why” close at heart (and protect your neck).&lt;/p&gt;
&lt;p&gt;Knee cuts, pressure passes, just standing up.
They never left, and they still work.&lt;/p&gt;
&lt;p&gt;It’s not that the techniques are necessarily fundamental, but that some concepts are.&lt;/p&gt;
&lt;div&gt;&lt;h2 id=&quot;fundamental-concepts&quot;&gt;Fundamental Concepts&lt;/h2&gt;&lt;/div&gt;
&lt;p&gt;MCP and skills might actually stick around, but I think they’re techniques that will get supplanted by more adaptive contexts and maybe a way to micro-train our tools.
Things that would work out of the box.&lt;/p&gt;
&lt;p&gt;The spiritual core of technical writing hasn’t changed much: know your audience.&lt;/p&gt;
&lt;p&gt;Human readers are always the audience.
That’s the same whether they’re accessing the content directly or through an AI tool.&lt;/p&gt;
&lt;p&gt;That which was best practice before is still best practice now.
Write things down, put them somewhere people can find them.&lt;/p&gt;
&lt;p&gt;Make documentation a practice, and wherever you are in your practice, remember to keep practicing.
Write things down even if they’re not perfect.
Show them off even before you think they’re ready.
Make it accessible.&lt;/p&gt;
&lt;p&gt;I try to write accessible documentation, but who is accessibility for?&lt;/p&gt;
&lt;p&gt;There are &lt;a href=&quot;https://www.w3.org/WAI/business-case/&quot;&gt;business cases for digital accessibility&lt;/a&gt;.
When you write documentation with accessibility in mind, screen readers can navigate it, search engines can index it, and AI tools can parse and summarize it.
The same practices that serve a person using a screen reader serve an LLM trying to extract meaning or translate content.&lt;/p&gt;
&lt;p&gt;When you make things more accessible, like a &lt;a href=&quot;https://en.wikipedia.org/wiki/Curb_cut_effect&quot;&gt;curb cut&lt;/a&gt;, it helps people even outside the original intention.
That’s not a coincidence, it’s fundamentals.&lt;/p&gt;
&lt;p&gt;So go ahead, experiment with AI, build that MCP, try a buggy choke, and chase the meta.
Just remember why.&lt;/p&gt;</content:encoded></item><item><title>AI is coming for my job. Maybe to my job.</title><link>https://edwardangert.com/blog/ai-docs-assist/</link><guid isPermaLink="true">https://edwardangert.com/blog/ai-docs-assist/</guid><description>We all--humans and AI--need good documentation.</description><pubDate>Fri, 12 Dec 2025 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;While I was working on a pull request for a new &lt;a href=&quot;https://coder.com&quot;&gt;Coder&lt;/a&gt; feature, there were a few times that Claude Code offered my own documentation or comment on a PR to answer questions I had.&lt;/p&gt;
&lt;p&gt;It was a guess I made in a PR about the way a feature might work, and when I asked Claude Code to verify, it referred to the documentation.
My documentation.&lt;/p&gt;
&lt;p&gt;My job has always been to empower users to get stuff done smoothly and on their own.&lt;/p&gt;
&lt;p&gt;Now my audience includes AI.&lt;/p&gt;
&lt;p&gt;If humans and AI both rely on good documentation, how do I develop documentation and an information architecture that help both?&lt;/p&gt;
&lt;div&gt;&lt;h2 id=&quot;how-i-use-ai&quot;&gt;How I Use AI&lt;/h2&gt;&lt;/div&gt;
&lt;p&gt;I use Claude and Claude Code both at home and at work.
On my phone, my chats with AI probably look a lot like most peoples’:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Is this poison ivy?&lt;/li&gt;
&lt;li&gt;Which of these water bottles fit in my car’s cup holder?&lt;/li&gt;
&lt;li&gt;What’s this broken part of our toilet called?&lt;/li&gt;
&lt;li&gt;Is this rash poison ivy?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Claude Code might look a little different:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Help me turn my settings into dotfiles.&lt;/li&gt;
&lt;li&gt;I have a Docusaurus site hosted through GitHub Pages. Let’s develop a plan to migrate it to Astro with Starlight.&lt;/li&gt;
&lt;li&gt;When I ask you to help me work on documentation, remember the following…&lt;/li&gt;
&lt;li&gt;Help me make a &lt;a href=&quot;https://github.com/EdwardAngert/docs-agent-plugin/&quot;&gt;Claude Code plugin&lt;/a&gt; that helps you follow my standards for documentation.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For me, the great promise of AI is that it can make sense of piles of information that would take me hours to untangle and map out.&lt;/p&gt;
&lt;p&gt;The current hype seems centered around how AI can take over tasks like research, software development, and documentation.&lt;/p&gt;
&lt;p&gt;If AI has all the information, can it write the documentation for me?&lt;/p&gt;
&lt;div&gt;&lt;h2 id=&quot;ai-can-document-things-humans-are-better-at-writing-documentation&quot;&gt;AI Can Document Things; Humans Are Better at Writing Documentation&lt;/h2&gt;&lt;/div&gt;
&lt;p&gt;For a good example of this, explore &lt;a href=&quot;https://deepwiki.com&quot;&gt;DeepWiki&lt;/a&gt;, which “provides up-to-date documentation you can talk to, for every repo in the world.”
It gives a comprehensive breakdown of a repository, but you won’t get concept, guides, steps, and examples.
Right now, AI is excellent at documenting what exists in the way that it exists, but not as good at thinking about what a user will need.&lt;/p&gt;
&lt;p&gt;When I write documentation, I take all the information I have from my own notes, from product managers, and the several threads from Slack in which someone said &lt;code dir=&quot;auto&quot;&gt;@Edward ☝️&lt;/code&gt;.
I parse it all, following threads and connecting the dots.&lt;/p&gt;
&lt;p&gt;With AI, I paste all the information into a window, tell it what we’re working on and direct the outline of documentation and examples.
Claude lays out a plan, and if I’m using Claude Code, we dig deeper into the codebase or Git branch for the context I need.&lt;/p&gt;
&lt;p&gt;Context, relationships, and information synthesis all help technical writers make better documentation.
Usually we get that from subject matter experts (SME), by exploring codebases, or by being in every Slack channel and engineering standup ever.&lt;/p&gt;
&lt;p&gt;If my AI tool has access to all of these, shouldn’t it be able to write the documentation itself?&lt;/p&gt;
&lt;p&gt;It tries.&lt;/p&gt;
&lt;p&gt;It can make a great outline, but it seems to have trouble navigating what &lt;a href=&quot;https://idratherbewriting.com/blog/what-is-diataxis-documentation-framework&quot;&gt;kind of technical documentation to write&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;AI is missing–at least for now–that magical blend of curiosity and empathy that helps technical writers anticipate their audience’s needs.
It’s good at parsing content that is there, and it tries to imitate &lt;a href=&quot;https://en.wikipedia.org/wiki/Abductive_reasoning&quot;&gt;abductive reasoning&lt;/a&gt; as best as it can.
Maybe that’s why it “hallucinates” technical content - it’s trying to guess, very much like I would, and it can get to the right answer, but it needs to be babysat, coaxed, coached, and led.&lt;/p&gt;
&lt;p&gt;But while AI agents aren’t great at writing technical documentation (yet), they are a great aid.&lt;/p&gt;
&lt;p&gt;Maybe aide is more appropriate.
Claude Code is my SME, my always-at-hand assistant, my &lt;a href=&quot;https://en.wikipedia.org/wiki/Rubber_duck_debugging&quot;&gt;rubber duck&lt;/a&gt;, and regex expert.&lt;/p&gt;
&lt;div&gt;&lt;h2 id=&quot;how-it-started--how-its-going&quot;&gt;How It Started / How It’s Going&lt;/h2&gt;&lt;/div&gt;
&lt;p&gt;I’m sure there will be advancements that feel threatening, and there will be companies that try to eschew a documentation and education function to “have someone else do it,” as there always are.&lt;/p&gt;
&lt;p&gt;AI agents are becoming our technical analogues and companions, and the same way that some engineering teams are, technical writers will find ways that they augment and accelerate our work; not supplant us.&lt;/p&gt;
&lt;p&gt;What if we can use this to make things better?&lt;/p&gt;
&lt;p&gt;At Coder, as part of a larger effort to help other teams implement AI into their workflows, I created a &lt;a href=&quot;https://github.com/coder/shared-docs-kb&quot;&gt;knowledgebase&lt;/a&gt; that everyone could use to find answers and contribute documentation.
This was before I learned about &lt;a href=&quot;https://modelcontextprotocol.io/docs/getting-started/intro&quot;&gt;Model Context Protocol (MCP)&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I want to make it easy for subject matter experts to share their knowledge, and for people who need it to find it.&lt;/p&gt;
&lt;p&gt;Right now, I’m working on developing an &lt;a href=&quot;https://github.com/EdwardAngert/reformatters-knowledge-base&quot;&gt;MCP for an open source project that converts weather and climate datasets&lt;/a&gt;.
As always, my goal is to develop a repeatable strategy.
You can follow that repository to see how it goes.&lt;/p&gt;
&lt;p&gt;That’s Documentation, and once I get it working, I’m looking forward to hearing about how you implement the concept, whether you learn it here or through a chat with your favorite AI.&lt;/p&gt;</content:encoded></item></channel></rss>