Flowlu: is the website ready for AI agents
Agents read the site but miss some important things.
Paste the task into Claude Code, Cursor or another agent with access to the site’s code.
- Agent access: 93
- Discoverability: 75
- Content for models: 14
- AI bot rules: 50
- API and protocols: 41
Fix these first
First, what gets in agents’ way the most.
- 01
The site serves Markdown when an agent asks
FailedWhen the homepage is requested with “Accept: text/markdown”, return Markdown with “Content-Type: text/markdown” and “Vary: Accept”. Keep serving HTML for ordinary requests.
An agent can ask for a page in Markdown instead of HTML and spend far less of its budget on markup.
›What the site returned
- Response code
- 200
- Headers
- content-type: text/html; charset=utf-8vary: accept-encoding
Repeat the check yourself
curl -sSL -c /dev/null -A "agent-readiness-index/0.1" -H "Accept: text/markdown" -D - -o /dev/null "https://www.flowlu.com/" - 02
Pages have Markdown versions
FailedServe a Markdown version of pages at the URL ending in .md and reference it with <link rel="alternate" type="text/markdown"> on the page itself.
The same page at a URL ending in .md: clean text with no menus or scripts.
›What the site returned
- Response code
- 403
Repeat the check yourself
curl -sSL -c /dev/null -A "agent-readiness-index/0.1" -H "Accept: text/markdown" -D - -o /dev/null "https://www.flowlu.com/index.md" - 03
Open API docs or an MCP server exist
PartialOpen your API docs without a login and link to them from the homepage. The landing page must show methods, endpoints and a sample request in the HTML.
To work with the product and not just read the site, an agent needs a programmatic interface documented without a login.
›What the site returned
- Response code
- 200
- Headers
- content-type: text/htmlvary: accept-encoding
- Found
- words of text: 5API markers: 0
Repeat the check yourself
curl -sSL -c /dev/null -A "agent-readiness-index/0.1" -D - -o /dev/null "https://www.flowlu.com/api/" - 04
llms.txt exists
FailedPut an llms.txt in Markdown at the site root: a top-level heading with the product name, a short description and a list of links to key pages. The links must resolve.
A short file for language models: what the product is and where the key pages are.
›What the site returned
- Response code
- 404
- Headers
- content-type: text/html; charset=utf-8vary: accept-encoding
Repeat the check yourself
curl -sSL -c /dev/null -A "agent-readiness-index/0.1" -H "Accept: text/markdown" -D - -o /dev/null "https://www.flowlu.com/llms.txt" - 05
robots.txt has rules for AI bots
FailedAdd separate User-agent groups for AI bots to robots.txt: GPTBot, ClaudeBot, OAI-SearchBot, PerplexityBot, YandexAdditional. Naming two is enough.
AI bots are listed by name. Whether you allow or block them, it shows the choice was made.
›What the site returned
- Response code
- 200
Repeat the check yourself
curl -sSL -c /dev/null -A "agent-readiness-index/0.1" -D - -o /dev/null "https://www.flowlu.com/robots.txt"
Other issues19
- 06
Alice AI robots are allowed
PartialAdd a group to robots.txt with “User-agent: YandexAdditional” and “User-agent: YandexAdditionalBot” and an “Allow: /” rule.
The YandexAdditional robots bring a site into Alice AI answers. Best to allow them with a rule of their own.
›What the site returned
- Response code
- 200
Repeat the check yourself
curl -sSL -c /dev/null -A "agent-readiness-index/0.1" -D - -o /dev/null "https://www.flowlu.com/robots.txt" - 07
Prices are visible without JavaScript
PartialLink to the pricing page from the homepage and put the prices in that page’s HTML, not in a script that fills them in after load.
Agents are often asked to compare pricing. If a script fills in the prices, the agent never sees them.
›What the site returned
- Response code
- 200
- Headers
- content-type: text/html; charset=utf-8vary: accept-encoding
Repeat the check yourself
curl -sSL -c /dev/null -A "agent-readiness-index/0.1" -D - -o /dev/null "https://www.flowlu.com/pricing/" - 08
llms-full.txt exists
FailedPut an llms-full.txt at the site root with the full text of the site or docs in Markdown.
The full text of the site or docs in one file. An agent reads it in a single request.
›What the site returned
- Response code
- 404
- Headers
- content-type: text/html; charset=utf-8vary: accept-encoding
Repeat the check yourself
curl -sSL -c /dev/null -A "agent-readiness-index/0.1" -H "Accept: text/markdown" -D - -o /dev/null "https://www.flowlu.com/llms-full.txt" - 09
Content use is declared
FailedAdd a “Content-Signal: search=yes, ai-input=yes, ai-train=yes” line to robots.txt. Choose yes or no for each value yourself.
The Content-Signal line says whether your text may be used for search, AI answers and model training.
›What the site returned
- Response code
- 200
Repeat the check yourself
curl -sSL -c /dev/null -A "agent-readiness-index/0.1" -D - -o /dev/null "https://www.flowlu.com/robots.txt" - 10
An MCP server exists
PartialPublish an MCP server and state its address in the docs, or put a server card at /.well-known/mcp/server-card.json.
MCP is a way to plug a product into Claude, ChatGPT and other assistants as a set of ready-made tools.
- 11
An agent can find how to sign in
FailedPublish /.well-known/oauth-authorization-server (or /.well-known/openid-configuration) as JSON with an issuer field and the authorization endpoints.
A service file with OAuth endpoints. Without it an agent needs a person to explain where to get a token.
›What the site returned
- Response code
- 403
- Headers
- content-type: text/html
Repeat the check yourself
curl -sSL -c /dev/null -A "agent-readiness-index/0.1" -D - -o /dev/null "https://www.flowlu.com/.well-known/oauth-authorization-server" - 12
Company markup has a description and contacts
FailedAdd description, logo and contactPoint (address, email or telephone also work) to your Organization JSON-LD.
The description, logo and contacts in the markup let an assistant confirm this is a real company before recommending it.
›What the site returned
Repeat the check yourself
curl -sSL -c /dev/null -A "agent-readiness-index/0.1" -D - -o /dev/null "https://www.flowlu.com/" - 13
Pricing is available in Markdown
FailedServe the pricing page in Markdown: at the page URL ending in .md or at /pricing.md. The file must contain prices.
An agent comparing products reads pricing most easily from a plain text file.
›What the site returned
- Response code
- 403
- Headers
- content-type: text/html
Repeat the check yourself
curl -sSL -c /dev/null -A "agent-readiness-index/0.1" -D - -o /dev/null "https://www.flowlu.com/pricing.md" - 14
Company or product markup is present
PartialAdd JSON-LD markup of type Organization or SoftwareApplication with name and url to the homepage.
JSON-LD is company data in a machine format: name, site URL, product type.
›What the site returned
- Found
- JSON-LD types: AggregateRating, Offer, SoftwareApplication
Repeat the check yourself
curl -sSL -c /dev/null -A "agent-readiness-index/0.1" -D - -o /dev/null "https://www.flowlu.com/" - 15
The site points agents to its machine-readable files
PartialAdd a Link header or a <link> tag on the homepage pointing to llms.txt, the page’s Markdown version (rel="alternate" type="text/markdown") or the API description (rel="service-desc").
Links in the response header or page code lead to llms.txt, a Markdown version or an API description.
›What the site returned
Repeat the check yourself
curl -sSL -c /dev/null -A "agent-readiness-index/0.1" -D - -o /dev/null "https://www.flowlu.com/" - 16
The API reports errors in a machine format
FailedAnswer API requests without a token with 401 or 403 and a JSON body, not an HTML page.
A request without a token should return a JSON refusal, not an HTML page. Then the agent knows what went wrong.
›What the site returned
- Response code
- 400
- Headers
- content-type: text/plain; charset=utf-8
Repeat the check yourself
curl -sSL -c /dev/null -A "agent-readiness-index/0.1" -D - -o /dev/null "https://{your_company}.flowlu.com/api/v1/module/customfields/fieldsets/list" - 17
An API catalog exists
FailedPublish /.well-known/api-catalog as application/linkset+json with links to your API descriptions (RFC 9727).
One file at a standard URL linking to all of the company’s APIs and their descriptions.
›What the site returned
- Response code
- 403
- Headers
- content-type: text/html
Repeat the check yourself
curl -sSL -c /dev/null -A "agent-readiness-index/0.1" -D - -o /dev/null "https://www.flowlu.com/.well-known/api-catalog" - 18
Agent skills are published
FailedPublish /.well-known/agent-skills/index.json with a list of skills in the skills field.
Ready-made instructions for how an agent does common tasks in the product.
›What the site returned
- Response code
- 403
- Headers
- content-type: text/html
Repeat the check yourself
curl -sSL -c /dev/null -A "agent-readiness-index/0.1" -D - -o /dev/null "https://www.flowlu.com/.well-known/agent-skills/index.json" - 19
The API says which server grants access
FailedPublish /.well-known/oauth-protected-resource as JSON with a resource field on the API domain (RFC 9728).
A service file: which authorization server issues tokens for this API.
›What the site returned
- Response code
- 404
- Headers
- content-type: text/html
Repeat the check yourself
curl -sSL -c /dev/null -A "agent-readiness-index/0.1" -D - -o /dev/null "https://{your_company}.flowlu.com/.well-known/oauth-protected-resource" - 20
Markup links to official profiles
FailedAdd a sameAs field to your JSON-LD with links to official profiles: GitHub, social networks, app stores.
sameAs links to GitHub, social networks and app stores. They tell an assistant that mentions elsewhere are about you.
›What the site returned
- Found
- sameAs links: 0
Repeat the check yourself
curl -sSL -c /dev/null -A "agent-readiness-index/0.1" -D - -o /dev/null "https://www.flowlu.com/" - 21
An agent-to-agent card exists
FailedPublish /.well-known/agent-card.json in the A2A format: JSON with a name field, a description and the agent’s URL.
A file in the A2A standard: who you are, what you can do and how another agent reaches you.
›What the site returned
- Response code
- 403
- Headers
- content-type: text/html
Repeat the check yourself
curl -sSL -c /dev/null -A "agent-readiness-index/0.1" -D - -o /dev/null "https://www.flowlu.com/.well-known/agent-card.json" - 22
There is a guide for how an agent gets access
FailedPut an auth.md file at the site root with step-by-step instructions for how an agent gets a key or token.
An auth.md file walks an agent through getting a key or token without a person’s help.
›What the site returned
- Response code
- 403
- Headers
- content-type: text/html
Repeat the check yourself
curl -sSL -c /dev/null -A "agent-readiness-index/0.1" -D - -o /dev/null "https://www.flowlu.com/auth.md" - 23
A catalog of AI interfaces exists
FailedPublish /.well-known/ai-catalog.json as JSON listing your MCP servers and other interfaces for agents.
One file at a standard URL listing the company’s MCP servers and other interfaces for agents.
›What the site returned
- Response code
- 403
- Headers
- content-type: text/html
Repeat the check yourself
curl -sSL -c /dev/null -A "agent-readiness-index/0.1" -D - -o /dev/null "https://www.flowlu.com/.well-known/ai-catalog.json" - 24
Content starts near the top of the page
PartialMove the main content closer to the top of the HTML: the main heading should appear in the first quarter of the page text, before long menus.
If a long menu comes before the main text, the agent spends its budget on it and may never reach the point.
›What the site returned
- Found
- text before the heading, %: 30
Repeat the check yourself
curl -sSL -c /dev/null -A "agent-readiness-index/0.1" -D - -o /dev/null "https://www.flowlu.com/"
What already works17
Homepage opens without a CAPTCHA
›What the site returned
- Response code
- 200
- Headers
- content-type: text/html; charset=utf-8vary: accept-encoding
Repeat the check yourself
curl -sSL -c /dev/null -A "agent-readiness-index/0.1" -D - -o /dev/null "https://www.flowlu.com/"Text is visible without JavaScript
›What the site returned
- Found
- words of text: 2,548
Repeat the check yourself
curl -sSL -c /dev/null -A "agent-readiness-index/0.1" -D - -o /dev/null "https://www.flowlu.com/"A missing page returns 404
›What the site returned
- Response code
- 404
- Headers
- content-type: text/html; charset=utf-8vary: accept-encoding
Repeat the check yourself
curl -sSL -c /dev/null -A "agent-readiness-index/0.1" -D - -o /dev/null "https://www.flowlu.com/agent-readiness-check-ddf5afda4f"A short path from http to https
›What the site returned
- Response code
- 200
- Headers
- content-type: text/html; charset=utf-8vary: accept-encoding
- Found
- redirects: 2
Repeat the check yourself
curl -sSL -c /dev/null -A "agent-readiness-index/0.1" -D - -o /dev/null "https://www.flowlu.com/"The homepage is light and fast
›What the site returned
- Found
- page size, KB: 323response time, s: 1.021
Repeat the check yourself
curl -sSL -c /dev/null -A "agent-readiness-index/0.1" -D - -o /dev/null "https://www.flowlu.com/"robots.txt exists
›What the site returned
- Response code
- 200
- Headers
- content-type: text/plain
Repeat the check yourself
curl -sSL -c /dev/null -A "agent-readiness-index/0.1" -D - -o /dev/null "https://www.flowlu.com/robots.txt"A sitemap exists
›What the site returned
- Response code
- 200
- Headers
- content-type: text/xmlvary: accept-encoding
Repeat the check yourself
curl -sSL -c /dev/null -A "agent-readiness-index/0.1" -D - -o /dev/null "https://www.flowlu.com/sitemap.xml"Homepage metadata is filled in
›What the site returned
Repeat the check yourself
curl -sSL -c /dev/null -A "agent-readiness-index/0.1" -D - -o /dev/null "https://www.flowlu.com/"The homepage links to API docs
›What the site returned
Repeat the check yourself
curl -sSL -c /dev/null -A "agent-readiness-index/0.1" -D - -o /dev/null "https://www.flowlu.com/"A clear heading structure
›What the site returned
- Found
- H1 headings: 1H2 headings: 3has <main>: yes
Repeat the check yourself
curl -sSL -c /dev/null -A "agent-readiness-index/0.1" -D - -o /dev/null "https://www.flowlu.com/"Agents and AI search are allowed
›What the site returned
- Response code
- 200
Repeat the check yourself
curl -sSL -c /dev/null -A "agent-readiness-index/0.1" -D - -o /dev/null "https://www.flowlu.com/robots.txt"An API description (OpenAPI) is published
›What the site returned
- Response code
- 200
Repeat the check yourself
curl -sSL -c /dev/null -A "agent-readiness-index/0.1" -D - -o /dev/null "https://www.flowlu.com/api/json/openapien.json"The homepage is not hidden from search
›What the site returned
Repeat the check yourself
curl -sSL -c /dev/null -A "agent-readiness-index/0.1" -D - -o /dev/null "https://www.flowlu.com/"Homepage text fits an agent’s memory
›What the site returned
- Found
- tokens, approx.: 5,680
Repeat the check yourself
curl -sSL -c /dev/null -A "agent-readiness-index/0.1" -D - -o /dev/null "https://www.flowlu.com/"ChatGPT and Claude get the same page people do
›What the site returned
- Response code
- 200
- Headers
- content-type: text/html; charset=utf-8vary: accept-encoding
Repeat the check yourself
curl -sSL -c /dev/null -A "agent-readiness-index/0.1" -D - -o /dev/null "https://www.flowlu.com/"Page preview data is filled in
›What the site returned
- Found
- found: og:title, og:description, og:image, og:type
Repeat the check yourself
curl -sSL -c /dev/null -A "agent-readiness-index/0.1" -D - -o /dev/null "https://www.flowlu.com/"About, contact and policy pages are linked from the homepage
›What the site returned
- Found
- found: about, contacts, privacy
Repeat the check yourself
curl -sSL -c /dev/null -A "agent-readiness-index/0.1" -D - -o /dev/null "https://www.flowlu.com/"
Not scored5
These checks do not apply to the site and do not lower the score.
- llms.txt is structured well enough to navigate
- The Markdown version has a header with page data
- The MCP server answers a connection
- MCP tools have descriptions
- An access refusal says where to sign in
Check your own site
Paste the address and get the same breakdown in half a minute.
Other checked sites
- Advanta65.9
- Aspro.Cloud25.9
- ELMA365 Projects61.2
- EvaTeam62.8
- Kaiten61
- LeaderTask68.7
- Planfix64.2
- Platrum74.1
- Pyrus59.4
- Shtab90.3
- SimpleOne SDLC54.1
- TeamStorm64.9
- WEEEK63.6
- Yandex Tracker54.9
- YouGile65.2