{"name":"Shotlane","description":"A real browser for agents that can't run one: screenshots, Markdown and PDFs of public web pages, and a check of how a page looks on phone, tablet and desktop. Each render uses 1 credit from the caller's Shotlane account.","supportedInterfaces":[{"url":"https://shotlane.dev/a2a","protocolBinding":"JSONRPC","protocolVersion":"1.0"}],"provider":{"organization":"Shotlane","url":"https://shotlane.dev"},"version":"1.0.0","documentationUrl":"https://shotlane.dev/docs","iconUrl":"https://shotlane.dev/static/icon-512.png","capabilities":{"streaming":false,"pushNotifications":false,"extendedAgentCard":false},"securitySchemes":{"apiKey":{"httpAuthSecurityScheme":{"scheme":"Bearer","description":"A Shotlane API key (sl_...). Agents get one for the user: https://shotlane.dev/auth.md"}},"oauth":{"oauth2SecurityScheme":{"flows":{"authorizationCode":{"authorizationUrl":"https://shotlane.dev/oauth/authorize","tokenUrl":"https://shotlane.dev/oauth/token","scopes":{"render":"Render pages with the user's credits"},"pkceRequired":true}},"oauth2MetadataUrl":"https://shotlane.dev/.well-known/oauth-authorization-server"}}},"securityRequirements":[{"schemes":{"apiKey":{"list":[]}}},{"schemes":{"oauth":{"list":["render"]}}}],"defaultInputModes":["text/plain","application/json"],"defaultOutputModes":["image/png","image/jpeg","text/markdown","application/pdf","text/plain"],"skills":[{"id":"screenshot","name":"Screenshot","description":"Screenshot a public web page in a real Chromium browser (JavaScript runs). Send the URL; add \"full page\", \"mobile\" or a data part {\"skill\": \"screenshot\", \"url\": ..., \"device\": \"iphone\", \"full_page\": true}.","tags":["screenshot","browser","web page","image"],"examples":["Screenshot https://example.com","Full-page screenshot of https://example.com on iphone"],"outputModes":["image/png","image/jpeg","text/plain"]},{"id":"read_page","name":"Read page as Markdown","description":"Read a public web page as clean Markdown after JavaScript ran: the main content, links kept.","tags":["markdown","scrape","read","web page"],"examples":["Read https://example.com as markdown"],"outputModes":["text/markdown","application/json"]},{"id":"html_to_pdf","name":"PDF","description":"Render a public URL to a PDF, or HTML or Markdown sent as a data part {\"skill\": \"html_to_pdf\", \"html\": \"<h1>Invoice</h1>\"}. Answers with a download link valid 24 h.","tags":["pdf","html to pdf","markdown to pdf"],"examples":["PDF of https://example.com"],"outputModes":["application/pdf","text/plain"]},{"id":"check_page","name":"Check page on devices","description":"Show a page on phone, tablet and desktop, or only the devices named (\"on mobile\" is the phone), with the problems on each: horizontal overflow, a missing viewport tag, JavaScript errors, failed requests, broken images. 1 credit per device.","tags":["visual qa","responsive","mobile","check"],"examples":["Check https://example.com on phone, tablet and desktop","Check https://example.com on mobile"],"outputModes":["image/jpeg","text/plain"]}]}