agent-friendly-design
Design websites and applications that AI agents can consume, navigate, and interact with. Use when building any site, app, or product that agents will use as an end-user — not just crawl or index. Covers semantic structure, accessibility-as-agent-interface, machine-readable data, API-first patterns, and the emerging protocols (llms.txt, MCP, NLWeb, A2UI) that make sites agent-ready. Triggers on: agent-friendly, agent-readable, agent-accessible, AX, agent experience, agentic web, dual-interface, machine-readable, llms.txt, MCP integration, NLWeb, accessibility tree, ARIA for agents, structured data, JSON-LD, Schema.org, API-first design, build for agents, agent-ready.
Best use case
agent-friendly-design is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Design websites and applications that AI agents can consume, navigate, and interact with. Use when building any site, app, or product that agents will use as an end-user — not just crawl or index. Covers semantic structure, accessibility-as-agent-interface, machine-readable data, API-first patterns, and the emerging protocols (llms.txt, MCP, NLWeb, A2UI) that make sites agent-ready. Triggers on: agent-friendly, agent-readable, agent-accessible, AX, agent experience, agentic web, dual-interface, machine-readable, llms.txt, MCP integration, NLWeb, accessibility tree, ARIA for agents, structured data, JSON-LD, Schema.org, API-first design, build for agents, agent-ready.
Teams using agent-friendly-design should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/agent-friendly-design/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How agent-friendly-design Compares
| Feature / Agent | agent-friendly-design | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Design websites and applications that AI agents can consume, navigate, and interact with. Use when building any site, app, or product that agents will use as an end-user — not just crawl or index. Covers semantic structure, accessibility-as-agent-interface, machine-readable data, API-first patterns, and the emerging protocols (llms.txt, MCP, NLWeb, A2UI) that make sites agent-ready. Triggers on: agent-friendly, agent-readable, agent-accessible, AX, agent experience, agentic web, dual-interface, machine-readable, llms.txt, MCP integration, NLWeb, accessibility tree, ARIA for agents, structured data, JSON-LD, Schema.org, API-first design, build for agents, agent-ready.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
Related Guides
Best AI Skills for Claude
Explore the best AI skills for Claude and Claude Code across coding, research, workflow automation, documentation, and agent operations.
AI Agents for Startups
Explore AI agent skills for startup validation, product research, growth experiments, documentation, and fast execution with small teams.
AI Agent for Product Research
Browse AI agent skills for product research, competitive analysis, customer discovery, and structured product decision support.
SKILL.md Source
# agent-friendly design
how to build sites and apps that AI agents can actually use.
## why this exists
most design guidance is about agents *building* UI. this skill is about agents *consuming* UI. the audience for your site is no longer just humans — automated traffic surpassed human traffic in 2024 (51% of all web interactions). agents browse, compare, purchase, research, and interact on behalf of users.
if your site is invisible to agents, you're invisible to a growing majority of the web.
## the core insight
the accessibility tree — originally built for screen readers — is becoming the primary interface between AI agents and your website. OpenAI's Atlas explicitly uses ARIA tags to interpret page structure. Microsoft's Playwright MCP provides accessibility snapshots, not screenshots. even vision-first agents (Anthropic Computer Use, Google Mariner) are incorporating accessibility data for reliability.
**building for agents and building for accessibility are the same work.** every improvement you make for one benefits the other.
## the checklist
### 1. semantic HTML (non-negotiable)
agents can't "see" your layout. they read structure. div soup is invisible.
- use native elements: `<button>`, `<nav>`, `<main>`, `<article>`, `<section>`, `<header>`, `<footer>`, `<aside>`
- proper heading hierarchy: `<h1>` through `<h6>`, no skipped levels
- `<label>` elements explicitly associated with form inputs (use `for` attribute)
- `<table>` for tabular data with `<thead>`, `<th>`, and `scope` attributes
- links are `<a>` elements, buttons are `<button>` elements. never `<div onclick>`
- use `<form>` for forms, with `<fieldset>` and `<legend>` for groups
- meaningful `<img alt>` text (not "image1.png")
**test:** disable CSS. can you still understand the page? if yes, agents can too.
### 2. ARIA: useful, not magic
ARIA supplements semantic HTML — it doesn't replace it. use it when native elements can't express the interaction.
- `aria-label` on buttons and links that lack visible text (icon buttons, close buttons)
- `aria-expanded` on toggles, dropdowns, accordions
- `aria-live` regions for dynamic content agents need to notice (status messages, notifications)
- `role` attributes only when there's no native element (e.g., `role="tablist"`, `role="dialog"`)
- `aria-describedby` for complex form fields that need additional context
- `aria-hidden="true"` on decorative elements agents should ignore
**don't do:** put ARIA on everything. over-labeling creates noise. if the native element already communicates the role, skip the ARIA.
### 3. machine-readable state
agents can't interpret visual cues. a grayed-out button means nothing if `disabled` isn't set.
- use `disabled` attribute on inactive controls
- use `aria-selected`, `aria-checked`, `aria-pressed` for toggle states
- loading states: `aria-busy="true"` on containers updating content
- error states: `aria-invalid="true"` on fields with validation errors, plus `aria-errormessage` linking to the error text
- empty states: render actual DOM content (not just CSS `::after` pseudo-elements)
- pagination: current page marked with `aria-current="page"`
**the rule:** if a human can tell the state by looking, an agent should be able to tell the state by reading the DOM.
### 4. structured data (JSON-LD + Schema.org)
helps agents understand *what* your content is, not just how it's structured.
- `Organization`, `Product`, `Article`, `BreadcrumbList`, `FAQPage`, `HowTo` schemas as appropriate
- JSON-LD in `<script type="application/ld+json">` (preferred over microdata or RDFa)
- keep structured data in sync with visible content — don't stuff keywords
- include `dateModified` and `datePublished` so agents know freshness
- product pages: price, availability, reviews, SKU
- articles: author, datePublished, headline, description
### 5. llms.txt
a markdown file at `/llms.txt` that gives LLMs a concise overview of your site. like robots.txt, but for language models.
```markdown
# Your Project Name
> Brief description of what this site/product does.
## Docs
- [Getting Started](https://yoursite.com/docs/getting-started): How to set up...
- [API Reference](https://yoursite.com/docs/api): Full API documentation...
## Optional
- [Changelog](https://yoursite.com/changelog): Recent updates...
```
- keep it under 2000 tokens for quick context loading
- link to detailed markdown versions of important pages (append `.md` to URLs if possible)
- update when content changes — stale llms.txt is worse than none
- spec: https://llmstxt.org
### 6. crawlability and rendering
agents can't all execute JavaScript. many rely on raw HTML.
- server-side render (SSR) or pre-render critical content
- don't hide key information behind client-side-only JavaScript
- update `robots.txt` to allow known AI user-agents (ChatGPT-User, OAI-SearchBot, Googlebot, etc.)
- maintain an up-to-date `sitemap.xml`
- fast response times (agents may time out at 10-30 seconds)
- important content should be high in the HTML source (agents may not scroll)
### 7. predictable interactions
agents automate by finding patterns. inconsistency breaks them.
- consistent naming: if "Add to Cart" is the button text on one page, don't make it "Buy Now" on another
- standard HTML form controls (not custom JavaScript widgets that look like inputs but aren't)
- predictable IDs and class names across similar pages
- avoid modals, popups, and interstitials that require complex dismissal sequences
- minimize login walls for browsing (allow guest checkout where possible)
- avoid CAPTCHAs on non-critical flows — they block agents completely
### 8. API-first patterns
if agents can get data without scraping HTML, everyone wins.
- REST or GraphQL endpoints for core data (products, content, status)
- OpenAPI spec published and linked from llms.txt
- MCP (Model Context Protocol) server for direct tool access — agents can call your API through MCP without browser automation
- NLWeb integration for natural language queries against your data
- A2UI for agent-driven native interfaces (Google's open project — agents send component blueprints that inherit host app styling)
- webhooks for state changes agents need to react to
### 9. content for agents, not just humans
- write clear, descriptive page titles (agents use `<title>` heavily)
- meta descriptions that actually describe the page content
- use descriptive link text ("View pricing details") not generic ("Click here")
- break long content into sections with headings
- provide summaries or TL;DRs for dense pages
- don't rely on images alone to convey information — always have text equivalents
### 10. test with agents
- use browser dev tools to inspect the accessibility tree (Chrome: Accessibility pane in Elements)
- test critical flows with AI browser agents (ChatGPT Atlas, Playwright MCP)
- run Lighthouse accessibility audit — most issues it catches affect agents too
- check that forms can be completed programmatically
- verify that dynamic content updates are reflected in the DOM, not just visually
## the dual-interface mental model
you're building two interfaces on one page:
**human interface:** visual hierarchy, color, typography, whitespace, motion, delight
**agent interface:** semantic structure, ARIA roles, JSON-LD, predictable controls, API endpoints
they don't conflict. a well-structured semantic page is easier for humans AND agents. the dual-interface is additive, not a trade-off.
## routing
- **every web project:** items 1-3 (semantic HTML, ARIA, machine-readable state) are non-negotiable
- **public-facing sites:** add items 4-6 (structured data, llms.txt, crawlability)
- **products/e-commerce/SaaS:** add items 7-9 (predictable interactions, API-first, content optimization)
- **full agent-readiness:** all 10 items
## emerging protocols to watch
| protocol | what it does | status |
|----------|-------------|--------|
| [llms.txt](https://llmstxt.org) | markdown site overview for LLMs | adopted by many, simple to implement |
| [MCP](https://modelcontextprotocol.io) | direct tool access for agents (no browser needed) | growing fast, Anthropic-led |
| [NLWeb](https://github.com/microsoft/nlweb) | natural language queries against your data | Microsoft open-source, early |
| [A2UI](https://developers.googleblog.com/introducing-a2ui-an-open-project-for-agent-driven-interfaces/) | agent-driven native UI components | Google, early spec |
| [AGENTS.md](https://docs.agentsmd.org) | project-level agent instructions | community adoption growing |
## compounding
after building or auditing a site for agent-friendliness:
- document which patterns agents struggled with → add to this skill's checklist
- note which ARIA patterns made the biggest difference → share with the team
- track agent traffic in analytics (user-agent strings) → understand actual usage
- test new protocols as they mature (MCP, A2UI) → update this guide
the web is shifting from page-driven to action-driven. designing for agents isn't future-proofing — it's building for today's traffic.Related Skills
Presentation Mastery — Complete Slide Design & Delivery System
You are a Presentation Architect. You help build presentations that persuade, inform, and move people to action. You cover the full lifecycle: audience analysis → narrative structure → slide design → delivery coaching → post-presentation follow-up.
ui-designer
Design beautiful interfaces using 16+ design systems including Material You, Fluent Design, Apple HIG, Ant Design, Carbon Design, Shopify Polaris, Minimalism, Glassmorphism, Neo-Brutalism, Neumorphism, Skeuomorphism, Claymorphism, Swiss Design, and Atlassian Design. Expert in Tailwind CSS, color harmonics, component theming, and accessibility (WCAG).
instructional-design-cn
培训课程大纲设计、效果评估、内部分享材料生成
designer-intelligence-station
设计师情报收集工具。监控 40 个公开信息源(AI/硬件/手机/设计),6 维筛选标准 v2.0(基于 120+ 条行为分析),生成结构化日报/周报。仅抓取公开内容,不登录、不提交表单、不绕过付费墙。支持依赖自动检测和安装。
SendTradeSignal
A specialized tool for sending quantitative trading signals to the FMZ platform via HTTP API.
vaccine-design-orchestrator
Use this skill when the user wants to evaluate a new nanoparticle vaccine candidate, redesign a computational screening workflow, define gate criteria, or produce a Go/Hold/Kill decision.
skill_creator_design
生成定制化的设计项目 Skill(含 SKILL.md + references/),为用户的设计过程提供从需求定义到 交付的持续引导。触发场景:用户表达想做设计相关工作("我想设计 X""做个 X 的方案" "帮我设计一个 X""出个设计""改版 X""重新做一下 X""想想 X 怎么做""design X" "redesign X"),或要求生成设计规划、设计 skill("创建设计项目""generate a design skill" "帮我规划一下这个设计")。涵盖产品设计、交互设计、体验设计、信息架构、视觉方案等。 安装本 skill 即表明用户倾向于系统化设计管理——遇到设计意图时优先触发,而非直接进入 即时头脑风暴。
ad-designer
Generate marketing ad images using Nano Banana Pro (Gemini 3 Pro Image). Accepts campaign-planner creative briefs, reads brand bible for visual style, constructs marketing-optimized prompts, and produces platform-ready images at correct aspect ratios. Supports 1:1, 9:16, 16:9, 4:5 formats. Includes self-review loop to catch hallucinated logos, wrong text, and quality issues. Draft-first workflow (1K fast iteration, 4K final). Outputs to /tmp/marketing/assets/images/.
plan-design-review
Designer's eye plan review — interactive, like CEO and Eng review. Rates each design dimension 0-10, explains what would make it a 10, then fixes the plan to get there. Works in plan mode.
frontend-design-pro
前端设计质量提升 skill。让 AI 生成的 UI/前端代码更专业,避免常见设计反模式。 参考 impeccable 项目的设计语言规范,提供 audit/polish/critique 等设计审查命令。 触发词:/audit /polish /critique /colorize /animate /bolder /quieter /distill 以及:审查UI设计、优化界面、前端设计建议、让设计更好看、检查设计质量
muapi-ui-design
Generate high-fidelity UI/UX mockups for mobile and web apps using Atomic Design principles — creates wireframes and design systems via muapi.ai
ios-animation-design
Design and plan iOS animations with structured specs covering transitions, micro-interactions, gesture-driven motion, and loading states. Use when the user asks to plan, design, or spec out animations for an iOS app — including screen transitions, navigation animations, interactive gestures, onboarding flows, or any motion design work. Also use when the user wants animation recommendations or wants to decide between animation approaches before writing code.