Fetch as an agent
Pick one of the item’s front-end URLs and request the live page with Accept: text/markdown, the way an agent would.
Open source Umbraco package
Crumpled AgentSpecs adds an Agent Specs view to every content item in the Umbraco backoffice. Fetch the published page the way an AI agent would, then see the markdown, the structured data and what to improve, without leaving the CMS.
Cloudflare’s Markdown for Agents can serve AI agents a clean, text-only version of your pages. Once it is enabled, the questions start: is it working, what exactly is being served, and what do agents see on our pages? Answering them usually means a command-line tool or Postman.
Agent Specs puts the answer where editors already work. It sits on every content item in the backoffice and requests the published page the way an agent would, so anyone can see the result for themselves.
Everything is one click from the content item you are editing. Nothing is requested until you press Fetch as agent.
Pick one of the item’s front-end URLs and request the live page with Accept: text/markdown, the way an agent would.
The front matter and rendered markdown an agent receives, with plain-language findings about clean text, content preferences and structured data.
The response exactly as it was served, in a read-only code editor with a copy button.
Each JSON-LD block in a collapsible viewer, with a link to validate the page at schema.org when it is publicly reachable.
A guide you can switch on and off explains Markdown for agents, content signals and structured data, with links to learn more.
If the site does not serve markdown yet, Agent Specs suggests what to do next, with a summary you can copy and send to whoever looks after the site.
Open any published content item, choose the Agent Specs view and press Fetch as agent. The result shows the response status, the content type and any content signals the site declares, with plain-language findings underneath.


The Preview tab shows the page as an agent reads it. The Markdown tab shows the raw response, and the JSON-LD tab lists every structured data block on the page, with a link to validate it at schema.org.



The package includes a guide that explains Markdown for agents, content signals and structured data in plain language, with links to the outside world to learn more. It is there so editors can understand what they are looking at.

Agent Specs only needs the site to answer a request with Accept: text/markdown with markdown. Cloudflare Markdown for Agents is the easiest way to do that, but it is not the only one. If it is not an option for your site, you can install AI Visibility for Umbraco, which serves markdown for those requests, or add a small middleware of your own. The README has an example.
If the site does not return markdown, Agent Specs says so and suggests the options. You also do not need Markdown for Agents to get on with designing good structured data for your pages.
Add the package with dotnet add package Crumpled.AgentSpecs. No configuration is required.
Choose the Agent Specs view on any published item and pick one of its front-end URLs.
Press Fetch as agent, then read the preview, the markdown and the JSON-LD.
No. Agent Specs needs the site to answer Accept: text/markdown requests with markdown. Cloudflare Markdown for Agents is the easiest way, but AI Visibility for Umbraco or your own middleware works too.
No. It only requests pages that are already published. The request is made by a small authenticated Management API endpoint, which only accepts URLs that belong to the content item and only follows redirects within the same origin.
The 1.x package line is for Umbraco 17. Each Umbraco major version has its own package version line.
No. Only published pages can be requested.
Yes. You can set the User-Agent, pin the base URL, exclude document types, and change the timeout and maximum response size. You can also register a URL processor to narrow or rewrite the URLs it offers. See the README for details.
Need help?
Tell us about your Umbraco site and we will reply within one working day.