{"version":"1","skills":[{"id":"dots-device-sign-in","name":"Device sign-in for bots and CLIs","description":"RFC 8628: POST /api/oauth/device, show user_code in chat, user approves at /oauth/device, poll token endpoint for access_token.","url":"https://www.dots.id/openapi.json","inputs":["client_id","scope"]},{"id":"dots-sign-in","name":"Sign in with dots.id","description":"Start OAuth 2.1 + PKCE against dots.id and upsert users by immutable OIDC sub.","url":"https://www.dots.id/developers","inputs":["client_id","redirect_uri","scopes"]},{"id":"dots-username","name":"Claim a dots.id username","description":"Check availability and create a permanent @handle with the username:create scope.","url":"https://www.dots.id/openapi.json","inputs":["access_token","username"]},{"id":"dots-mcp-context","name":"Portable context via MCP","description":"Call POST /mcp with a Bearer token. Tools: whoami (any token), search and recent (context:read), remember (context:write).","url":"https://www.dots.id/.well-known/mcp/server-card.json","inputs":["access_token","query"]},{"id":"dots-sync","name":"User sync engine bootstrap","description":"After OAuth, call GET /api/identity/bootstrap for identity, Jazz sync mode, and UR-db locators.","url":"https://www.dots.id/llms.txt","inputs":["access_token"]}]}