# Brodin

[brodin.dev](https://brodin.dev)

- **Overall score:** 88/100 (Grade B)
- **Checks passed:** 14 / 29
- **Last computed:** 2026-05-11

## Components

### Content Discoverability

- **Score:** 97/100 · **Status:** fail
- **Summary:** 1 failed and 1 warning 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 follows the proposed structure (H1, blockquote, heading-delimited link sections)
- ✅ **LLMS TXT Size** — llms.txt is 9,386 characters (under 50,000 threshold)
- ✅ **LLMS TXT Links Resolve** — All 5 same-origin links resolve (55 total links)
- ❌ **LLMS TXT Links Markdown** — Same-origin links point to HTML and no markdown alternatives detected (50 external links excluded) Your llms.txt links point to HTML pages. Update them to .md URL variants so agents receive markdown instead of converted HTML.
- ⚠️ **LLMS TXT Directive** — llms.txt directive found in 7 of 7 pages, but buried deep in the page (past 50%); 4 failed to fetch 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:** 23/100 · **Status:** fail
- **Summary:** 1 failed and 1 warning 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** — 4/11 pages support .md URLs (36%); inconsistent support 0 of 11 pages support .md URLs inconsistently. Ensure all documentation pages serve markdown when .md is appended to the URL.
- ❌ **Content Negotiation** — Server ignores Accept: text/markdown header (0/11 pages return markdown) Your server ignores Accept: text/markdown and returns HTML. Some agents (Claude Code, Cursor, OpenCode) request markdown this way. Configure your server to honor content negotiation.

### Page Size and Truncation Risk

- **Score:** 87/100 · **Status:** fail
- **Summary:** 1 failed and 1 warning 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** — All 11 pages contain server-rendered content
- ✅ **Page Size Markdown** — All 4 pages under 50K chars (median 9K, max 11K)
- ⚠️ **Page Size Html** — 2 of 11 pages convert to 50K–100K chars (max 85K, 69% boilerplate) 2 of 11 pages convert to 50K-100K characters of markdown. These may be truncated on some agent platforms.
- ❌ **Content Start Position** — 5 of 11 pages have content starting past 50% (worst 100%) 5 of 11 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.

### 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 11 pages
- ✅ **Section Header Quality** — No tabbed content found; header quality check not applicable
- ✅ **Markdown Code Fence Validity** — All 22 code fences properly closed across 5 pages

### URL Stability and Redirects

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

**Checks**

- ✅ **Http Status Codes** — All 11 pages return proper error codes for bad URLs
- ✅ **Redirect Behavior** — No redirects detected across 11 pages

### Observability and Content Health

- **Score:** 100/100 · **Status:** fail
- **Summary:** 1 failed 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** — llms.txt covers 100% of 1 sitemap doc pages
- ❌ **Markdown Content Parity** — Could not fetch HTML for any pages to compare; 4 failed to fetch 0 pages have substantive content differences between markdown and HTML (avg 0% missing). Agents receiving the markdown version are getting outdated or incomplete content. Regenerate markdown from source or fix the build pipeline.
- ✅ **Cache Header Hygiene** — All 12 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 11 pages are publicly accessible
- ⏭️ **Auth Alternative Access** — All docs pages are publicly accessible; no alternative access paths needed

### Full Content Discoverability

- **Score:** 0/100 · **Status:** fail
- **Summary:** llms-full.txt has 1 failing check.
- **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** — No llms-full.txt file was discovered.
- ⏭️ **LLMS Full Size** — Skipped because llms-full.txt was not found.
- ⏭️ **LLMS Full Valid** — Skipped because llms-full.txt was not found.
- ⏭️ **LLMS Full Links Resolve** — Skipped because llms-full.txt was not found.

### Agent Skills

- **Score:** 0/100 · **Status:** fail
- **Summary:** skill.md has 1 failing check.
- **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** — No agent skill definition was discovered.

### 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.
