with one click
atproto-kotlin
atproto-kotlin contains 5 collected skills from kikin81, with repository-level occupation coverage and site-owned skill detail pages.
Skills in this repository
Use this skill when integrating AT Protocol OAuth 2.0 login into an Android app consuming the kikin81/atproto-kotlin library. Covers hosting the client-metadata JSON, configuring the Android intent filter for the redirect URI, implementing an encrypted OAuthSessionStore, constructing the AtOAuth flow orchestrator, and driving beginLogin / completeLogin / createClient / logout. DPoP proof-of-possession and token refresh are handled transparently by the library. Use this skill after atproto-setup and before any atproto-read or atproto-write-records work.
Use this skill when reading data from the AT Protocol (Bluesky timeline, author feeds, profiles, notifications, search) using the kikin81/atproto-kotlin library. Covers three related techniques: calling a generated *Service query method, paginating cursor-based endpoints with the generated *PageFlow() extensions, and dispatching over open unions (feed reasons, post embeds, quoted records) safely including the *Unknown fallback arm. Use after atproto-oauth (you need an authenticated XrpcClient).
Use this skill when setting up a new Kotlin, Android, or KMP project to consume the kikin81/atproto-kotlin library. Covers Maven Central coordinates, the three published artifacts (runtime, models, oauth), Ktor engine selection, and minimum JDK/Android SDK requirements. Use this skill before any of the atproto-oauth, atproto-read, or atproto-write-records skills.
Use this skill for the cross-cutting type rules that apply across every ATProto operation in the kikin81/atproto-kotlin library. Covers AtField<T> three-state optionality for mutation payloads, the runtime value classes (Did, Handle, AtUri, Cid, Datetime, Nsid, RecordKey, AtIdentifier) and when to use each, and a consolidated list of cross-skill pitfalls. Load this once per session alongside whichever task-specific skill you're using.
Use this skill when writing records to the AT Protocol via the kikin81/atproto-kotlin library — creating posts, likes, reposts, follows, blocks, or deleting any of those. Every record write goes through com.atproto.repo.createRecord (or deleteRecord), using the encodeRecord() helper to wrap a typed record with its $type discriminator. Use after atproto-oauth (you need an authenticated XrpcClient) and atproto-read (for reading the records you want to act on).