<?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>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/documentation-agent-skill/&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>