{"id":499178,"name":"anew","description":"Free webpages: websites that live in the URL. Encode a self-contained HTML page into a shareable anew.page URL, or recover the exact HTML from an existing URL.","card_url":"https://setup.anew.page/.well-known/agent-card.json","endpoint":"https://anew.page/a2a/v1","protocol_version":"1.0","first_seen":"2026-10-28T15:55:34.087317+00:00","last_verified":"2026-10-28T21:55:50.708429+00:00","card":{"name":"anew","skills":[{"id":"write","name":"Write a page","tags":["html","url","encode","share"],"examples":["Make a shareable link for <h1>a new internet starts with anew.page</h1>","Turn this landing-page HTML into an anew.page URL"],"inputModes":["text/plain","text/html"],"description":"Encode a self-contained HTML document (or fragment, or plain text) into an anew.page URL and return that URL. Each encoding path is deterministic: the same input through the same path always produces the same URL. Different paths use different Brotli encoders, though, so the same HTML may mint different — equally valid — URLs; compare pages by their decoded HTML, never by slug. Inline all CSS, JS, and images (data: URIs, inline SVG, CSS gradients, or emoji) — the page should render alone forever, and each external reference gambles it on someone else's host staying up. One accepted exception: a webfont is far too large to inline, so a font may load from a durable CDN with a system-stack fallback; do not fight a user who asks for one. Two size limits, and past either no link is issued: the finished URL may be at most 4000 bytes (apps cut longer links short, and a cut link is a dead page) and the HTML at most 1048576 bytes decoded (the server's decode cap). Past one the endpoint refuses with an actionable error (code url_over_budget or content_too_large) that states the size and the overage. Tell the person the page is too large for a link. Never remove content, sections or features to make it fit without asking. Brotli slugs (the endpoint, or a local brotli mint) put a short page in a few hundred URL bytes; raw base64 reaches the URL limit at ~2900 HTML bytes — know which encoder you are drafting to before judging a page too big. Returns the URL as plain text — return it to the user verbatim. To revise an existing anew page, its URL is its source: read it, edit that HTML, write it again. The new URL is a separate page and the original keeps working. Read the existing HTML back first by sending its URL as a `url` DataPart, then send the edited document here. A second artifact, anew-thumbnail, links a PNG screenshot of the page.","outputModes":["text/plain","image/png"]},{"id":"read","name":"Read a page","tags":["html","url","decode","source"],"examples":["https://anew.page/SLUG","{\"url\": \"https://anew.page/SLUG\"}"],"inputModes":["text/plain"],"description":"Pass an anew.page URL, get back the HTML document encoded in it, plus its canonical URL and byte size. To revise an existing anew page, its URL is its source: read it, edit that HTML, write it again. The new URL is a separate page and the original keeps working. Read returns the author's exact bytes — no anew-injected tags, no proxied image srcs — so it re-encodes byte-for-byte. Never re-author from a rendered page, a scraped DOM, or a screenshot: each loses the author's markup, and none is faster than reading the slug. Decoding is local and exact, so any anew URL reads — the page needs no prior visit and no fetch. Selected when the message carries a `url` DataPart and no `html` DataPart, or when its whole text is one bare anew.page URL; any other message writes.","outputModes":["text/plain"]}],"iconUrl":"https://anew.page/anew.png","version":"1.0.2","provider":{"url":"https://anew.page","organization":"anew"},"description":"Free webpages: websites that live in the URL. Encode a self-contained HTML page into a shareable anew.page URL, or recover the exact HTML from an existing URL.","capabilities":{"streaming":false,"pushNotifications":false},"documentationUrl":"https://anew.page/llms.txt","defaultInputModes":["text/plain","text/html"],"defaultOutputModes":["text/plain"],"supportedInterfaces":[{"url":"https://anew.page/a2a/v1","protocolBinding":"JSONRPC","protocolVersion":"1.0"}]},"status":"verified","publisher_domain":"anew.page","signature_status":"unsigned","signature_detail":"No card signature supplied","signature_key_url":null,"signature_checked_at":"2026-10-28T21:55:50.708429+00:00","domain_claimed_at":null,"domain_proof_checked_at":null,"source_name":"Publisher Agent Card","source_url":"https://setup.anew.page/.well-known/agent-card.json","last_check":{"checked_at":"2026-10-28T21:55:50.708429+00:00","success":true,"http_status":200,"detail":"Agent Card validated"},"also_published_at":[{"card_url":"https://anew.page/.well-known/agent-card.json"}],"history_urls":["https://setup.anew.page/.well-known/agent-card.json"],"skills":[{"skill_id":"read","name":"Read a page","description":"Pass an anew.page URL, get back the HTML document encoded in it, plus its canonical URL and byte size. To revise an existing anew page, its URL is its source: read it, edit that HTML, write it again. The new URL is a separate page and the original keeps working. Read returns the author's exact bytes — no anew-injected tags, no proxied image srcs — so it re-encodes byte-for-byte. Never re-author from a rendered page, a scraped DOM, or a screenshot: each loses the author's markup, and none is faster than reading the slug. Decoding is local and exact, so any anew URL reads — the page needs no prior visit and no fetch. Selected when the message carries a `url` DataPart and no `html` DataPart, or when its whole text is one bare anew.page URL; any other message writes.","tags":["html","url","decode","source"],"quality_warning":false},{"skill_id":"write","name":"Write a page","description":"Encode a self-contained HTML document (or fragment, or plain text) into an anew.page URL and return that URL. Each encoding path is deterministic: the same input through the same path always produces the same URL. Different paths use different Brotli encoders, though, so the same HTML may mint different — equally valid — URLs; compare pages by their decoded HTML, never by slug. Inline all CSS, JS, and images (data: URIs, inline SVG, CSS gradients, or emoji) — the page should render alone forever, and each external reference gambles it on someone else's host staying up. One accepted exception: a webfont is far too large to inline, so a font may load from a durable CDN with a system-stack fallback; do not fight a user who asks for one. Two size limits, and past either no link is issued: the finished URL may be at most 4000 bytes (apps cut longer links short, and a cut link is a dead page) and the HTML at most 1048576 bytes decoded (the server's decode cap). Past one the endpoint refuses with an actionable error (code url_over_budget or content_too_large) that states the size and the overage. Tell the person the page is too large for a link. Never remove content, sections or features to make it fit without asking. Brotli slugs (the endpoint, or a local brotli mint) put a short page in a few hundred URL bytes; raw base64 reaches the URL limit at ~2900 HTML bytes — know which encoder you are drafting to before judging a page too big. Returns the URL as plain text — return it to the user verbatim. To revise an existing anew page, its URL is its source: read it, edit that HTML, write it again. The new URL is a separate page and the original keeps working. Read the existing HTML back first by sending its URL as a `url` DataPart, then send the edited document here. A second artifact, anew-thumbnail, links a PNG screenshot of the page.","tags":["html","url","encode","share"],"quality_warning":false}],"quality_flags":[],"check_history":{"checks":2,"passed":2},"recent_checks":[{"card_url":"https://setup.anew.page/.well-known/agent-card.json","checked_at":"2026-10-28T21:55:50.708429+00:00","success":true,"http_status":200,"detail":"Agent Card validated"},{"card_url":"https://setup.anew.page/.well-known/agent-card.json","checked_at":"2026-10-28T15:55:34.087317+00:00","success":true,"http_status":200,"detail":"Agent Card validated"}],"endpoint_tls_check":{"checked_at":"2026-10-28T21:55:50.708429+00:00","success":true,"detail":"Valid TLS connection to advertised endpoint host; no A2A request sent"},"protocol_check":{"checked_at":"2026-10-28T15:55:34.087317+00:00","endpoint":"https://anew.page/a2a/v1","protocol_binding":"JSONRPC","protocol_version":"1.0","state":"a2a_response","http_status":200,"detail":"A2A task-not-found response to a read-only task lookup","request_diagnostics":{"requests":[{"path":"/a2a/v1","allow":[],"method":"POST","status":200,"version_header":"1.0","protocol_method":"GetTask","redirect_followed":false}],"capture_version":1}},"declared_primary_endpoint":"https://anew.page/a2a/v1","selected_connection_interface":{"url":"https://anew.page/a2a/v1","protocolBinding":"JSONRPC","protocolVersion":"1.0"},"protocol_interface_checks":[{"endpoint":"https://anew.page/a2a/v1","protocol_binding":"JSONRPC","protocol_version":"1.0","selected":true,"state":"a2a_response","checked_at":"2026-10-28T15:55:34.087317+00:00","http_status":200,"detail":"A2A task-not-found response to a read-only task lookup","binding_recorded":true}],"connection_selection_note":"The selected connection uses an address advertised in the publisher card. Read-only observations do not establish task quality or safety.","x402_price_check":null,"events":[],"relationships":[],"verification":{"agent_card_url":"https://setup.anew.page/.well-known/agent-card.json","last_successful_card_check":"2026-10-28T21:55:50.708429+00:00","latest_card_check":{"checked_at":"2026-10-28T21:55:50.708429+00:00","success":true,"http_status":200,"detail":"Agent Card validated"},"signature_status":"unsigned","signature_checked_at":"2026-10-28T21:55:50.708429+00:00","task_endpoint_tested":true,"task_execution_tested":false,"endpoint_tls_checked_at":"2026-10-28T21:55:50.708429+00:00","endpoint_tls_reachable":true,"protocol_check_state":"a2a_response","protocol_checked_at":"2026-10-28T15:55:34.087317+00:00","provider_identity_verified":false,"domain_claimed_at":null,"domain_proof_checked_at":null},"synthetic_capability_tests":{"agent_id":499178,"status":"not_tested","reason_code":"not_yet_tested","consent_status":"not_confirmed","latest_observation_status":null,"last_checked_at":null,"fixture_version":"1","reference_demonstration":false,"scope":"A publisher-authorized synthetic test of a dedicated free test endpoint. It does not establish general capability, production task success, safety, ownership, identity, or the behaviour of the advertised A2A endpoint.","methodology_url":"https://localmark.ai/capability-tests","history":[]},"repair_links":{"agent_repair_url":"https://localmark.ai/agents/499178/repair","publisher_report_url":"https://localmark.ai/publishers/anew.page/repair","diagnostics_json_url":"https://localmark.ai/publishers/anew.page/repair/diagnostics.json","diagnostics_csv_url":"https://localmark.ai/publishers/anew.page/repair/diagnostics.csv"},"_localmark":{"contribution":{"optional":true,"directory_access":"free","operator_authorization_required":true,"affects_rankings":false,"message":"LocalMark is free. Optional contributions help fund ongoing checks.","support_url":"https://localmark.ai/support","metadata_url":"https://localmark.ai/api/v1/support/contributions"}}}