Markdown Negotiation Support

Return Markdown responses with token counts when Accept headers request it.

21|1|Updated Feb 20, 2026
One-click install
npx skills add https://github.com/berkayoztunc/orquestra --skill markdown-negotiation-support
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: Markdown Negotiation Support
Source: https://github.com/berkayoztunc/orquestra/tree/main/packages/frontend/assets/.well-known/agent-skills/markdown-negotiation
Command: npx skills add https://github.com/berkayoztunc/orquestra --skill markdown-negotiation-support

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes assets (resource) components.

What problem does it solve?

This Skill removes the guesswork of choosing the right response format for different clients by automatically returning Markdown when an agent requests it, while keeping HTML as the default for browsers.

Core Features & Use Cases

  • Content negotiation for agent clients: Detects requests that include Accept: text/markdown and returns Markdown instead of HTML.
  • Correct response metadata: Sets Content-Type: text/markdown; charset=utf-8, includes Vary: Accept, and provides x-markdown-tokens with an estimated token count.
  • Browser-friendly default: Keeps HTML as the default representation when Markdown is not explicitly requested, improving compatibility across user interfaces and tools.

Quick Start

Ask your agent to call the HTML route with an Accept: text/markdown header to receive Markdown content and accurate token estimates in x-markdown-tokens.

Frequently Asked Questions about Markdown Negotiation Support

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I serve Markdown instead of HTML to agent clients using HTTP headers?

Serve Markdown to agent clients by detecting the Accept: text/markdown HTTP header in incoming requests and returning Markdown content instead of the default HTML response format.

What HTTP response headers are needed for Markdown content negotiation?

Markdown content negotiation requires setting Content-Type to text/markdown, including Vary: Accept, and providing an x-markdown-tokens header with an estimated token count for LLM processing.

How does content negotiation work for LLM token estimation in web routes?

Content negotiation for LLM token estimation works by intercepting agent HTTP requests with Accept: text/markdown, returning Markdown formatted content, and attaching the x-markdown-tokens header with estimated token counts.

Does Markdown content negotiation change the default HTML response for browsers?

Markdown content negotiation keeps HTML as the default representation for browsers, only switching to Markdown output when an agent explicitly requests it via the Accept: text/markdown header.

Can I use HTTP Accept headers to control Markdown vs HTML output for downstream LLM processing?

You can use HTTP Accept headers to control output representation by sending Accept: text/markdown to receive Markdown content with token estimates, or omitting it to receive the default HTML response.