READMEs, awesome lists and documentation lose links every year, and almost nobody notices until a reader clicks one. Pew Research Center found that 38% of the web pages that existed in 2013 were gone ten years later. During the last week of Hacktoberfest 2026 I built Linkmortem, an open source AI agent that finds those dead links, explains why each one died and writes the fix. The full story, with the traces, the model comparison and every bug that shaped it, is on DEV.
👉 Read “Linkmortem, an Autopsy for Every Dead Link” on DEV
What Linkmortem does
You paste a website or a public GitHub repository at linkmortem.tech, and Linkmortem checks up to 150 links, down to the section each one points to. For every dead link it recovers the last healthy copy from the Wayback Machine, looks for the place where the content lives now and writes a patch with only the replacements it can prove. As a GitHub Action, it opens one pull request with those fixes and keeps one issue with the full report, and it never merges on its own.
Why it isn't another broken link checker
Most broken link checkers only look at the status code. A parked domain that says it's for sale answers 200, and so does a page whose heading was renamed years ago, so both look alive. Linkmortem builds the anchors of every Markdown file the way GitHub does, spots pages that answer but are dead inside, and only calls something a ghost when it has evidence.
The rule behind the whole project is simple. Code decides everything it can verify, and Gemma 4, an open weights model, reads only the pages code can't judge. In one night of production scans, 271 of 301 links never needed the model at all.
Three things I learned
- The model proposes, the code decides. Almost every bug I found ended up moving a decision from the model into code, and the agent got more trustworthy each time.
- A number without evidence lies. My first comparison of open models said two of them scored 0%. They had never answered a single question, and only the traces showed it.
- Honesty is a feature. Saying "could not be confirmed" instead of guessing, and saying how many links were checked, matters as much as finding the ghosts. The DEV post tells the stories behind each of these, including a dead page that announced where it had moved, a prompt injection found in the wild and the comparison of nine open models through a single Backboard key.
Try it
You can scan a repository at linkmortem.tech, watch the demo video, which runs under three minutes, or read the code on GitHub, where it's MIT licensed and ready to use as a GitHub Action.
Linkmortem is my entry for the Hacktoberfest Open Source AI Challenge on DEV. If the full post is useful to you, a reaction or a comment there helps it reach more maintainers.
Which dead link do you think is hiding in your README?

