Author: Lee Manley
Spec URL: https://intent-web.io
Repo: https://github.com/greenhill32/intent-site
Version: Draft 001
The Intent Layer is a lightweight convention for exposing machine-readable intents on websites. It allows AI agents like ChatGPT, Claude, or Grok to:
Inspired by API manifests like package.json or openapi.yaml, this is a minimal format optimized for read-only crawling.
A flat JSON manifest describing supported actions:
{
"name": "get_status",
"method": "GET",
"endpoint": "/status.json"
}
You can also support multiple intents:
[
{ "name": "get_status", "method": "GET", "endpoint": "/status.json" },
{ "name": "book", "method": "POST", "endpoint": "/api/book" }
]
Structured data that reflects dynamic or real-time state — such as availability, offers, or links:
{
"available": true,
"message": "Currently accepting new projects",
"booking_url": "https://cal.com/lee"
}
Use semantic HTML tags or embedded JSON-LD to enhance AI understanding. For example:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Person",
"name": "Lee Manley",
"url": "https://intent-web.io"
}
</script>
Imagine an AI that wants to:
agent.json to learn you support bookingsstatus.json to check availabilityIt all works without scraping, parsing, or guesswork.
Let the web become agent-actionable by default — with zero backend or complex APIs. If you can host a static file, you can support AI.
This is just the beginning.
For updates, follow @web_intents and visit intent-web.io.