Finalizing the report
Preparing the stored Is Agentic score
Preparing the stored Is Agentic score
temporal.io
These checks describe whether an ordinary agent can enter, read, and operate the public site.
Agents can reach the site
Crawler access and bot defenses.
Core content is available
Useful content remains accessible without a fragile browser-only path.
Navigation fails safely
Redirects and missing pages give agents a recoverable path.
Controls are understandable
Forms and interactive controls expose usable names and structure.
The public website is always evaluated. Optional surfaces appear when the scan finds positive evidence that they apply.
Ready with gaps
Weighted across 16 applicable checks
Blocked
Weighted across 8 applicable checks
Critical access gaps come first, followed by other applicable readiness gaps.
Verify that major agent User-Agents can reach the homepage. If your WAF or bot rules block them, remove or narrow the blocking rule. Add an allow rule only when your security setup denies them by default.
Return a real HTTP 404 (or 410) status for nonexistent paths - never a 200 with your app shell, which makes agents believe every path exists. For full credit, give the 404 response a short markdown body pointing agents at your sitemap, llms.txt, or docs index. Verify with curl -s -o /dev/null -w "%{http_code}" https://yourdomain.com/some-path-that-does-not-exist - it must print 404.
Serve at least 500 characters of meaningful homepage content in raw HTML. Add a clear H1, keep deeper heading levels sequential, and remove excessive non-content markup.
Publish an OpenAPI (Swagger) specification at /openapi.json or /api/openapi.yaml. This is how agents understand your API surface automatically.
Return structured JSON error responses with error codes, messages, and resolution hints. Agents can't parse HTML error pages.
Checks are grouped by relevance for Docs & content sites.
5161 chars with H1, but heading hierarchy skips H1 to H3; 3.9% content ratio is below the 5% target
How to pass
Serve at least 500 characters of meaningful homepage content in raw HTML. Add a clear H1, keep deeper heading levels sequential, and remove excessive non-content markup.
Some AI crawlers are blocked - ChatGPT-User: reachable, ClaudeBot: unknown, Google-Extended: reachable, ora-agent: unknown, DeepSeekBot: unknown
How to pass
Verify that major agent User-Agents can reach the homepage. If your WAF or bot rules block them, remove or narrow the blocking rule. Add an allow rule only when your security setup denies them by default.
No meta-refresh stubs, JavaScript-redirect stubs, or cross-domain hops across 6 checked pages
All 5 sampled pages are publicly readable (5 with substantive content)
No OpenAPI/Swagger specification found
How to pass
Publish an OpenAPI (Swagger) specification at /openapi.json or /api/openapi.yaml. This is how agents understand your API surface automatically.
Not acceptmarkdown.com compliant: Accept: text/markdown returned text/html; Vary header missing Accept (got "none")
How to pass
On the responses that serve text/markdown via Accept negotiation, add Accept to the Vary header (Vary: Accept, Accept-Encoding). Without it, CDNs can serve the cached HTML variant to an agent asking for markdown (or vice versa), depending on which variant landed in cache first.
API does not return JSON error responses (or no API detected)
How to pass
Return structured JSON error responses with error codes, messages, and resolution hints. Agents can't parse HTML error pages.
Nonexistent paths return a real HTTP 404. For full credit, include a short markdown body (site map links, where to look next) so agents can recover.
How to pass
Return a real HTTP 404 (or 410) status for nonexistent paths - never a 200 with your app shell, which makes agents believe every path exists. For full credit, give the 404 response a short markdown body pointing agents at your sitemap, llms.txt, or docs index. Verify with curl -s -o /dev/null -w "%{http_code}" https://yourdomain.com/some-path-that-does-not-exist - it must print 404.
Agent discovered 2 developer-resource types by name (auth docs, API docs) across 6 pages
temporal.io appears 2 times in brand-name search results for "Temporal infrastructure devops" (top position: #5)
How to pass
Make sure a clean search for your brand name returns your own domain in the top results. If it does not, your brand may be too generic, conflict with a more established term, or not yet indexed. Strengthen brand-name search by claiming consistent NAP across listings, earning press mentions that link to the canonical domain, and avoiding redirect chains that mask the apex domain in search results.
Valid sitemap found at https://temporal.io/sitemap.xml with 1057 entries
Rich JSON-LD identity: Organization with name, description, url, and sameAs/logo/address (2 blocks)
Documentation site found at https://docs.temporal.io
When-to-use guidance found in llms.txt
All metadata signals present: canonical URL, lang="en", og:image, og:type
Organization schema complete with contactPoint and address
All trust anchor pages verified: About, Contact, Privacy
All 6 measured pages fit an agent context budget (largest ~6K tokens)
Code fences balanced across 1 markdown document
Developer portal found at https://docs.temporal.io
REST API documentation found at https://github.com/temporalio/skill-temporal-developer. Best-of-protocols score: 7/7.
CLI tool mentioned in llms.txt
How to pass
Publish an official CLI tool on npm, PyPI, or Homebrew. A CLI lets agents and developers script interactions with your product without building API integrations from scratch.
No API schema detected
How to pass
Make your API spec self-describing: a unique operationId and a description on every operation, typed parameters, and response schemas. For GraphQL, a fully typed schema with a documented cost or rate limit reads best.
No API spec found - function calling requires discoverable endpoints
How to pass
Ensure API endpoints have unique operation IDs, typed schemas, and descriptions compatible with LLM function-calling formats.
NPM package found: @js-temporal/polyfill - "Polyfill for Temporal (https://github.com/tc39/proposal-temporal), an ECMA TC39 Stage 3 proposal"
Agent config found: github.com/temporalio/temporal/blob/main/AGENTS.md
4 official skills published on skills.sh - 33 total installs (skills.sh/temporal-cortex)
pricing.md found at /pricing.md but thin (210 lines) - add plan tiers, prices, and feature breakdowns
How to pass
Create a /pricing.md file with your pricing tiers, features, and limits in plain markdown. This lets AI agents compare costs and recommend plans without scraping HTML pricing pages.
100% of 500 sampled sitemap entries carry lastmod; newest is 0 day(s) old
Found the llms.txt at https://docs.temporal.io/llms.txt.
The llms.txt is well-formatted: 154 lines with markdown links, 12,904 characters in total.
Skills.sh presence exists but limited - 4 skills (goal: 5+), 33 installs (goal: 200+)
How to pass
Expand your skills.sh presence with multiple skill repos covering different use cases. Add descriptive skill names, clear SKILL.md files, and organize by capability area.
Strong entity linking via sameAs: linkedin.com, github.com
1 of 5 probed llms.txt links do not resolve: https://temporal.mcp.kapa.ai
How to pass
Make every link your llms.txt declares resolve to real content. Verify each one with curl -L <url> - you should see the linked document, not your homepage. If your app returns the homepage shell for unknown paths (common with single-page apps), a 200 status is not proof: check the body. Fix or remove any dead link; agents that follow the index treat a broken link as a dead end.
SDK found in npm, additional SDKs mentioned at https://docs.temporal.io/develop/python/client/temporal-client
How to pass
Publish official SDK packages across multiple language ecosystems (npm, PyPI, Go modules, RubyGems). Auto-generate them from your OpenAPI spec using tools like openapi-generator. For each package set the project URL or homepage to your product domain (package.json repository/homepage, PyPI Home-Page or project_urls, RubyGems homepage_uri) - this is how agents verify the package is your official SDK.
Server HTML is a well-structured document (main=true, landmarks=3/4, h1=1, maxHeadingSkip=2).
92 native controls, 0 non-native div-soup affordances (100% native).
92/92 interactive elements have a computable accessible name (100%).
1/1 form controls have an associated label (100%).
No hidden instruction text detected in accessibility-tree attributes or off-screen content.
What does temporal.io do and who is it for? Explain it back to me.
Sign me up for Vercel product updates and marketing emails.
Unsubscribe anytime. Privacy Notice
Source: Ora API
What does temporal.io do and who is it for? Explain it back to me.
27 steps9 reasoning steps10 searches
The agent successfully assembled a comprehensive explanation of Temporal by combining fetches from the main site (homepage, pricing, product pages) with targeted web searches to fill gaps and validate understanding. The site's main pages rendered as JavaScript-heavy HTML without meaningful content in the fetches, forcing the agent to rely heavily on prior knowledge (50%) and search results (13%) to construct the answer. Despite this friction, the agent delivered a well-structured, accurate breakdown of what Temporal does, who it's for, pricing tiers, and competitive positioning—all the elements the user requested.