Ray Fu, ex-Meta senior engineer and AI automation educator

Ray Fu

I'm an Ex Meta Senior Engineer that makes content and teaches OpenClaw and AI Automations.

stan.store/raycfu

How to Create a Stock Research Analyst with Claude Fable

Your Stock Research Analyst

 

IMPORTANT: This guide is for educational purposes only. Nothing here is financial advice. An AI agent produces research, not recommendations, and it can be confidently wrong about a number. Verify every figure against the primary source before you risk money on it. Past performance does not guarantee future results.

This is the full guide from the video. You are going to build a stock research analyst inside Claude Fable that screens companies against your criteria, scores them the same way every time, and writes up a ranked watchlist. Then you add a loop, so every run gets checked, recorded, and calibrated to what you actually act on. After a few weeks it knows your style. After a few months it is a research system that compounds instead of a prompt you retype.

Setup takes about an hour. The weekly run takes you 10 minutes of reading.

Don't want to figure this out alone? I walk members through every step inside the community. Join the Skool → skool.com/raycfu

Step 1: Connect the Tools First

Give It Hands First

 

This is the step people skip and it is why their AI stock research is garbage. Claude on its own is working from training data that is months old, which is worthless for live markets. It needs hands. Connect these three before anything else:

Firecrawl, so the agent can search the web and scrape live financial data from sites like Finviz and Yahoo Finance, and pull it back as clean text it can actually read.

Playwright, so it can drive a real browser. This matters because the good data hides behind interaction, screeners that need ten filters set before they show results, investor pages with numbers behind a dropdown, portals that want you to click through a disclaimer first.

The Obsidian MCP, so it can read and write to a knowledge base on your computer. This is where every screen, every thesis, and every state file lives. Without it, each session starts from zero and nothing compounds.

You do not need to know how to install these. Tell Claude Code: "Install Firecrawl and Playwright for me, walk me through it step by step for my Mac or Windows machine, and run the commands you need to run." It handles its own setup. For Obsidian, create a vault first, then connect the MCP and point it at that folder.

With these three connected, the agent can pull insider trading data from this morning instead of guessing from last year.

Step 2: Build the Agent with a Real Scoring Framework

The Scoring Framework

 

Now you turn Claude into an analyst with a mandate instead of a chatbot you ask questions. Open Claude Fable and paste this. Edit every number to your own criteria, these are the example weights, not gospel:

You are a stock research analyst. Your job is to screen for undervalued companies and produce a scored watchlist.

Screening criteria:
- Insider buying activity in the last 14 days
- Positive free cash flow (trailing twelve months)
- Market cap above $500M
- Price-to-earnings ratio below the sector average
- Positive earnings surprise in the last two quarters

Scoring system (weight each factor):
- Insider buying signal: 30%
- Earnings surprise strength: 25%
- Free cash flow yield: 25%
- Analyst sentiment (upgrades vs downgrades): 20%

Output format for each company:
- Company name and ticker
- Composite score (0-100)
- One-line thesis
- Top risk
- Current price vs estimated intrinsic value

Rules: pull every figure from a live source using your tools, never from memory. If a figure is unavailable, write UNVERIFIED next to it rather than estimating. Cite the source and the date for every number. Never recommend an action, produce research only.

Save this as your screening skill. Every time I say "run a screen" use this framework automatically.

Two things make this different from asking Claude about stocks. The weights mean every company gets scored identically, so your watchlist is comparable week to week instead of vibes. And saving it as a skill file means the agent never starts from zero, you say "run a screen" and it already knows your criteria, your scoring, and your output format.

The rules paragraph is the part I would not remove. An analyst that estimates a number it could not find is worse than useless, and UNVERIFIED is the flag that keeps you honest.

Step 3: Add the Maker-Checker Loop

The Checker

 

An agent that grades its own homework will tell you every week that it did great. So the screen gets checked by a second pass with fresh eyes before it reaches you:

You are the checker. You did not run this screen and you have no loyalty to it. Assume it is wrong and find out how.

Here is the screening framework that was supposed to be followed: [PASTE THE SKILL]
Here is the watchlist that was produced: [PASTE THE OUTPUT]

Check, in order: is every figure sourced and dated, or are any of them unsourced? Recalculate two of the composite scores yourself from the stated weights, do they match? Does any thesis claim something the cited data does not actually support? Is any company on this list that fails a stated screening criterion? Are the risks real risks or filler?

Output: PASS, or FAIL with the specific company, the specific figure, and what is wrong with it. You may not fix anything and you may not rewrite the list. Report only.

When the checker fails something, the fix goes back to the screening agent, and then it runs again. Only a passed watchlist reaches you.

Recalculating two scores by hand is the highest-value line in that prompt. Score arithmetic is exactly the kind of thing that looks right and is not, and it is what a real second analyst would spot check.

Step 4: Give It a Memory with the State File

It Learns What You Pick

 

This is what turns a weekly task into a system that compounds. Create a file in your Obsidian vault called state.md, and add this instruction to the agent:

Maintain state.md in my vault. After every screen, append a dated entry recording: the date, every company that made the watchlist with its score, which names I acted on, which names I passed on and any reason I gave, and any company that appeared on a previous list and has since moved significantly.

At the start of every screen, read state.md first. Tell me: which names are repeat appearances and how their scores have moved, which names I have now passed on more than twice so you can stop surfacing that profile, and an updated risk note on anything I am already holding.

Never delete history. Append only.

Here is why this matters. Week one, the agent screens blind. Week four, it has a month of history and knows the profile of what you pass on, so the list gets sharper. Month three, it is calibrated to your actual preferences, because it has watched what you did, not what you said you wanted. That is the difference between running a prompt and running a research system.

Step 5: Automate the Weekly Run

Set a scheduled task so the whole chain runs before you wake up on your chosen day: read state.md, run the screen with live data through the tools, hand the output to the checker, fix anything that fails, and write the finished watchlist into the vault as a dated note.

You wake up to a passed, sourced, ranked watchlist with the history baked in. Your only job is the 10 minutes of reading and the one thing no agent should do for you, deciding.

Then close the loop by hand: after you read the list, tell the agent which names you acted on and which you passed and why. That single sentence per week is what feeds the calibration. An agent that never learns your decisions stays a stranger.

The Hard Rules for This One

The Hard Rules

 

Every number gets a source and a date, or it gets marked UNVERIFIED. No exceptions. A fabricated figure in financial research is the failure mode that actually costs money.

The agent produces research, never recommendations. It can score, rank, and flag risk. You decide, always, and you check its numbers against the primary source before acting on anything.

The checker never fixes, it only reports, and the screen never grades itself.

Scrape politely and legally. Use official data sources where they exist, respect the terms of the sites you pull from, and do not hammer a screener with automated requests.

And treat the whole thing as a research assistant with a fast pen and no judgment, because that is what it is. It compresses a morning of manual data gathering into a few minutes. It does not know whether a company is a good investment, and neither does a score.

The Recap

Connect Firecrawl, Playwright, and the Obsidian MCP so the agent works from live data. Give it a scoring framework with weights and save it as a skill so it never starts from zero. Add a checker that assumes the screen is wrong and recalculates the math. Keep a state file so it learns from what you act on. Schedule the whole chain weekly.

Build the agent. Add the loop. Let it compound.

Don't want to figure this out alone? I walk members through every step inside the community. Join the Skool → skool.com/raycfu