# Venly

[venlyfinance.com](https://venlyfinance.com)

- **Overall score:** 39/100 (Grade F)
- **Checks passed:** 15 / 29
- **Last computed:** 2026-05-12

## Components

### Content Discoverability

- **Score:** 64/100 · **Status:** fail
- **Summary:** 1 failed, 1 warning, and 2 skipped across 6 AFDocs checks.
- **Rationale:** Agents need a clear entry point and crawl map before they can reliably discover the right pages.
- **Reference:** [AFDocs reference](https://afdocs.dev)

**Checks**

- ✅ **LLMS TXT Exists** — llms.txt found at 1 location(s)
- ❌ **LLMS TXT Valid** — llms.txt exists but contains no parseable links Your llms.txt exists but contains no parseable markdown links. Add links in [name](url): description format under heading-delimited sections.
- ✅ **LLMS TXT Size** — llms.txt is 8,801 characters (under 50,000 threshold)
- ⏭️ **LLMS TXT Links Resolve** — No HTTP(S) links found in llms.txt
- ⏭️ **LLMS TXT Links Markdown** — No HTTP(S) links found in llms.txt
- ⚠️ **LLMS TXT Directive** — llms.txt directive found in 2 of 15 sampled pages, but buried deep in the page (past 50%) An llms.txt directive was found on some pages but is missing from others, or is buried deep in the page. Ensure the directive appears near the top of every documentation page.

### Markdown Availability

- **Score:** 36/100 · **Status:** partial
- **Summary:** 2 warnings across 2 AFDocs checks.
- **Rationale:** When markdown is available directly, agents spend less effort stripping presentation markup and guessing structure.
- **Reference:** [AFDocs reference](https://afdocs.dev)

**Checks**

- ⚠️ **Markdown Url Support** — 1/13 sampled pages support .md URLs (8%); inconsistent support 0 of 13 pages support .md URLs inconsistently. Ensure all documentation pages serve markdown when .md is appended to the URL.
- ⚠️ **Content Negotiation** — Content negotiation partially supported: 11 correct type, 0 wrong type, 2 HTML only; 1 failed to fetch; 1 returned error pages; 1 .md URLs normalized Your server returns markdown content for Accept: text/markdown requests but with an incorrect Content-Type header. Set the response Content-Type to text/markdown for proper agent handling.

### Page Size and Truncation Risk

- **Score:** 29/100 · **Status:** fail
- **Summary:** 2 failed across 4 AFDocs checks.
- **Rationale:** Large pages and delayed primary content increase truncation risk and make retrieval less reliable.
- **Reference:** [AFDocs reference](https://afdocs.dev)

**Checks**

- ❌ **Rendering Strategy** — 12 of 15 sampled pages appear to be client-side rendered SPA shells (root detected); agents using HTTP fetches will see no content 12 of 15 pages use client-side rendering. Agents receive an empty shell with no documentation content. Enable server-side rendering or pre-rendering for documentation pages.
- ✅ **Page Size Markdown** — All 12 pages under 50K chars (median 9K, max 12K)
- ✅ **Page Size Html** — All 15 sampled pages convert under 50K chars (median 7K, 40% boilerplate)
- ❌ **Content Start Position** — 13 of 15 sampled pages have content starting past 50% (worst 101%) 13 of 15 pages have content starting past 50% of the converted output. Agents may never see the documentation content. Move or remove inline CSS/JS that precedes the content area.

**Evidence**

- **Score cap:** 39 (rendering-strategy: 75%+ of pages affected)

### Content Structure

- **Score:** 100/100 · **Status:** pass
- **Summary:** 3 AFDocs checks pass.
- **Rationale:** Predictable sections, valid code fences, and serialized tabs make the content easier for agents to parse correctly.
- **Reference:** [AFDocs reference](https://afdocs.dev)

**Checks**

- ✅ **Tabbed Content Serialization** — No tabbed content detected across 15 sampled pages
- ✅ **Section Header Quality** — No tabbed content found; header quality check not applicable
- ✅ **Markdown Code Fence Validity** — All 7 code fences properly closed across 13 pages

### URL Stability and Redirects

- **Score:** 48/100 · **Status:** fail
- **Summary:** 1 failed and 1 warning across 2 AFDocs checks.
- **Rationale:** Stable URLs and sane redirect behavior prevent retrieval drift and broken tool references.
- **Reference:** [AFDocs reference](https://afdocs.dev)

**Checks**

- ❌ **Http Status Codes** — 12 of 15 sampled pages return 200 for non-existent URLs (soft 404) Your site returns 200 for non-existent pages (soft 404). Agents try to extract information from the error page content instead of recognizing the page is missing. Configure your server to return 404 for pages that don't exist.
- ⚠️ **Redirect Behavior** — 1 of 15 sampled pages use cross-host redirects 1 pages use cross-host HTTP redirects, which some agents don't follow. Where possible, use same-host redirects or update URLs to point directly to the final destination.

### Observability and Content Health

- **Score:** 100/100 · **Status:** partial
- **Summary:** 1 skipped across 3 AFDocs checks.
- **Rationale:** Coverage, parity, and cache behavior determine whether agents can trust the content they retrieve.
- **Reference:** [AFDocs reference](https://afdocs.dev)

**Checks**

- ⏭️ **LLMS TXT Freshness** — No page URLs found in llms.txt
- ✅ **Markdown Content Parity** — All 12 pages have equivalent markdown and HTML content (avg 0% missing)
- ✅ **Cache Header Hygiene** — All 16 endpoints have appropriate cache headers

### Authentication and Access

- **Score:** 100/100 · **Status:** partial
- **Summary:** 1 skipped across 2 AFDocs checks.
- **Rationale:** Agents need either public access or a clear alternative path when documentation is gated behind auth.
- **Reference:** [AFDocs reference](https://afdocs.dev)

**Checks**

- ✅ **Auth Gate Detection** — All 15 sampled pages are publicly accessible
- ⏭️ **Auth Alternative Access** — All docs pages are publicly accessible; no alternative access paths needed

### Full Content Discoverability

- **Score:** 100/100 · **Status:** pass
- **Summary:** llms-full.txt passes all checks.
- **Rationale:** A full-document snapshot gives long-context agents a single canonical corpus to ingest without repeated crawling.
- **Reference:** [llms-full.txt guide](https://www.mintlify.com/docs/ai/llmstxt#llms-full-txt)

**Checks**

- ✅ **LLMS Full Exists** — Found llms-full.txt.
- ✅ **LLMS Full Size** — llms-full.txt size is within the expected range.
- ✅ **LLMS Full Valid** — llms-full.txt has a recognizable markdown structure.
- ✅ **LLMS Full Links Resolve** — llms-full.txt has no same-origin links to validate.

### Agent Skills

- **Score:** 100/100 · **Status:** pass
- **Summary:** skill.md passes all checks.
- **Rationale:** Agent skills provide product-specific operating guidance that plain documentation pages do not encode on their own.
- **Reference:** [skill.md guide](https://www.mintlify.com/docs/ai/skillmd)

**Checks**

- ✅ **Skill MD** — Found an agent skill definition.

### MCP Server

- **Score:** 0/100 · **Status:** fail
- **Summary:** MCP has 1 failing check.
- **Rationale:** A discoverable MCP server lets agents use first-class tools instead of scraping pages and inferring behavior.
- **Reference:** [MCP guide](https://www.mintlify.com/docs/ai/model-context-protocol)

**Checks**

- ❌ **MCP Server Discoverable** — No MCP server was discovered at the expected endpoints.
- ⏭️ **MCP Tool Count** — Skipped because the MCP server was not discoverable.
