The Atomic Moat

The Atomic Moat

I Fed Claude 60 Years of Buffett Letters and My Exact Framework. Here Is What I Built.

Increase your understanding and spot fat pitch triggers for every stock you analyze. Here is how to use Claude as a trustworthy, critical, and efficient research partner.

Rob H. | Atomic Moat's avatar
Rob H. | Atomic Moat
Jun 28, 2026
∙ Paid

Most people use AI for investing the same way they have used Google all these years.

They type a question. They get an answer. They move on.

And, well… that is not exactly how you should use it.

With AI, you are able to build your very own research partner, which is much more powerful and valuable than a search engine.

My own research partner, for example, holds sixty years of Buffett’s shareholder letters in its working memory. It has read every letter Nick Sleep ever wrote from the Nomad Investment Partnership. It knows my analytical framework in full: the specific tests I run, the order I run them in, and the exact reasons I reject most companies at the first gate.

When I hand my Research Partner a company, it does not summarise a Wikipedia page. It runs the same eight-movement analysis I would run myself, flags the weakest link, builds an owner-earnings model in Python, and produces a full research memo I can push straight into my library.

Here is how I built it, and how you can build something similar.


Why most people get this wrong

The generic prompt produces a generic answer.

“Is Medistim a good investment?” tells the model nothing about what framework you use, what return you need, what risks you care about, or what you already own. The answer you get back is the answer you would get from a financial blog written for nobody in particular.

The problem is not the AI itself.

No, the problem is the absence of context.

A model with no instructions will tend to find positives. It is trained to be helpful. But ‘helpful’, without further instruction, usually means agreeable.

That is an awful output for us investors, because we need the opposite.

You need a thinking partner who tries hard to find the reason to say no, who surfaces the argument against the company you are excited about, and who does not move on until the weakest link has been named.

The difference between a generic AI prompt and a properly built research setup is not small. It is the difference between a calculator and a co-pilot.

The context is everything. And the context has to be built.


The foundation: what goes into the knowledge base

Before I run a single company through the system, three things are loaded into the model’s working memory.

In my case, I mostly relate to the investing strategies and philosophies of investors Warren Buffett, Charlie Munger, and Nick Sleep/Qais Zakaria from Nomad. But if you have other inspirations, my approach will work just fine with that in mind, too.

1. My primary sources.

  • All of Buffett’s shareholder letters from 1977 to 2019, organised into five clean decade-based files.

  • All of Nick Sleep’s Nomad Investment Partnership letters.

  • Summaries and transcripts of Berkshire annual meetings spanning 1999 to 2012.

Here is the first practical tip, and it is worth taking seriously: do not use PDFs.

A PDF of sixty years of Buffett letters is too large to upload in one piece, and the text extraction is worse than you think. The model reads compressed, imperfectly parsed text and produces imperfectly reasoned analysis.

The solution is simple. Convert to markdown (MD files).

In the case of the Berkshire letters, split by decade. Five files of eighty pages each upload cleanly, parse cleanly, and the model reasons from them cleanly.

It takes little time, and it is worth it.

By doing this, the model uses your specific, curated selection of primary material, organised the way you organised it. When the model cites Buffett on owner earnings or Sleep on the destination, it cites the letter, the year, and the argument. Not a paraphrase of a paraphrase.

2. The framework document.

This is the most important file in the setup, and the one most people would never think to build.

It is an eight-thousand-word document that contains my entire analytical process.

  • The specific tests I run at each stage.

  • The order I run them in.

  • The language I want used in outputs and the language I do not want used.

  • The rules for when to stop early and when to keep going.

  • The exact format of the finished memo.

This is an instruction set that never changes. It is what turns a general-purpose AI into something that thinks the way I think, applies the tests I care about, and produces output in a consistent format every single time.

If you take one idea from this article, take this one: write your investment framework down before you do anything else with AI. If you do not have a written framework, the model has nothing to apply. The framework is the foundation. Without it, you are just asking questions into the dark.

3. The research library.

Every completed analysis is exported as a clean markdown file and uploaded to NotebookLM. NotebookLM becomes the searchable archive: every company ever analysed, every trigger price ever set, every moat verdict ever written. When a stock approaches a price I set a year ago, I open NotebookLM, find the file in seconds, and read the original work.

This is the compound interest of a research operation. Each analysis makes the library more valuable than the one before it.

I then like to transfer these files to my reMarkable tablet and read the analysis in peace with a strong coffee (or a glass of wine) to get a deeper understanding.

Share


The actual workflow

Here is what happens when a new company comes across my desk.

Step one: the screener.

I export a list of companies screened from a financial data service (I use Börsdata, as I am Scandinavian and mostly look for, and feel comfortable owning Nordic companies).

The screener consists of financial metrics that I like to look for, such as a high ROIC, 5 year avg revenue growth, cash flow and more.

Sometimes the screener find twenty names, sometimes three hundred.

Then I export the results and upload it to Claude and ask for a triage: apply the three gates, reject everything that fails, tell me which eight to twelve names deserve a closer look, and why.

The model works through all of them. It rejects most immediately, with a one-line reason for each. It promotes the survivors with a paragraph explaining what earned them a second look.

What would take me a day of manual work takes the model twenty minutes.

Step two: the financial data.

Once Claude has filtered the screener and highlighted the companies that match my framework, I pull the trigger on the deep dive. I return to Börsdata and download the full financial history for each business. It’s a fantastic Nordic service that exports clean Excel files going back 15 to 20 years (you can use Finchat, Koyfin, or similar services for international stocks).

The model reads the raw data, identifies the correct metric columns, and runs Python to compute the numbers that matter: five-year average return on capital, incremental return on capital, owner earnings net of stock-based compensation, free-cash-flow conversion, gross margin trend over a decade.

Owner earnings is the number that counts. Net income plus depreciation, minus maintenance capital expenditure, minus stock-based compensation always, minus any significant working capital change. Not EBITDA. Never EBITDA. The model knows this because the framework document says so, in plain terms, with the reason behind it.

Share

Step three: the eight-movement analysis.

This is the core. The model runs the full framework.

The grizzly test: could a well-funded, intelligent rival take meaningful market share within five years? If yes, there is no moat.

The Patterson sentence: one sentence naming a specific structural barrier, not “customers like us,” explaining why a well-resourced competitor would find it prohibitively difficult to take share.

The eighteen financial checks, each with a pass or fail and a one-line reason. A single accounting artifact counted once, not as three separate failures.

Three-scenario DCF discounted at 12 percent. A destination cross-check: what does this business look like in fifteen to twenty years, and what are those mature earnings worth discounted back today?

An eight-dimension quality score. An inversion: two or three specific ways this becomes a permanent loss, each told as a short story, each with a named response I have decided on in advance.

The weakest link is named explicitly.

I also feed it additional screenshots and information from other services like Simplywall.st. This service has a great insider transaction and ownership overview for example, which also is factors I look for in my analysis.

Simplywall.st is a tool I have been using since 2020, and still going strong. Highly recommend that you try it out if you haven’t. Visit Simplywall.st here (sponsored link)

Step four: the output.

A clean, self-contained markdown file. Plain language throughout. The verdict at the top. All the numbers in an appendix. A fat-pitch trigger price: the specific price at which the margin of safety is finally wide enough that I would act without hesitation.

The file goes into NotebookLM. The trigger price goes into the watchlist at my broker.

Want the exact framework I use? Paid subscribers can download my eBook below to get a simple, copy/paste method for building this exact Research Partner, guaranteeing the same high-quality results every single time.


What the AI does, and what it does not

The model applies the framework consistently. It does not get excited. It does not get tired. It does not skip a check because the business looks obviously good and the next one looks more interesting. Consistency is underrated in investment research, and it is the thing AI does best.

It runs the numbers without arithmetic errors. It structures the output the same way every time. And it plays devil’s advocate: instructed to try hard to reject the company, it finds the argument against. You may still buy the company. But you will have heard the case against it, in full, before you do.

What it does not do: decide whether the moat is real. It surfaces the evidence. The conviction is yours.

It cannot assess management with any texture. It cannot hear the difference between a CEO who is slightly evasive and one who is outright dishonest. It reads transcripts and letters. It does not read rooms.

And it cannot sit through a 40 percent drawdown without flinching, because it does not hold positions. That is temperament, and temperament is irreducibly human.

The AI does the legwork. You do the judgment. Neither works without the other.


How to start, step by step

Write your framework down first. Even two pages. What do you require of a business before you will look at the price? What do you always check? What would make you walk away?

Then convert your primary source documents to markdown. Paste or export to a text editor, clean the headers, and save as .md. Split anything over a hundred pages into smaller files. Upload them to the AI project you are building.

If you are using Claude, create a project; if you use ChatGPT, create a custom GPT, or if you use Gemini, create a GEM.

Then write the instruction document. What should the model always do? What should it never do? What order should the analysis follow? What should the output look like? This file is the difference between a generic assistant and a thinking partner.

Then start the library. Every analysis you complete becomes a file. After thirty analyses, the library is the most valuable thing in the setup.

The process compounds. That is the whole point.


The Framework Blueprint

An AI without specific instructions will agree with every thesis you bring it. It confirms your moat claim, leaves your valuation unchallenged, and sends you away more confident than you should be.

That confidence is expensive.

Keeping it disciplined requires a specific architecture: a hard rejection list, defined sequencing rules, and output templates the AI cannot deviate from. Getting that wrong means getting a polished-sounding analysis that is functionally useless.

The ebook below shares my exact blueprint. The five structural components you need, alongside my complete 8,000-word framework document you can paste directly into a Claude Project, Custom GPT, or Gemini Gem today.

Get the ebook below:

This post is for paid subscribers

Already a paid subscriber? Sign in
© 2026 AtomicMoatResearch · Privacy ∙ Terms ∙ Collection notice
Start your SubstackGet the app
Substack is the home for great culture