atproto-identity-resolution

Resolve AT Protocol handles to DIDs and validate DID documents.

46|3|Updated Apr 21, 2026
One-click install
npx skills add https://github.com/ngerakines/atproto-skills --skill atproto-identity-resolution
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: atproto-identity-resolution
Source: https://github.com/ngerakines/atproto-skills/tree/main/skills/atproto-identity-resolution
Command: npx skills add https://github.com/ngerakines/atproto-skills --skill atproto-identity-resolution

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This skill helps users resolve AT Protocol identities by converting human-friendly handles to DIDs and retrieving the corresponding DID documents across the Plc (did:plc:), Web (did:web:), and WebVH (did:webvh: ) methods. It also supports parsing, validating, and debugging identity relationships between handles and DIDs.

Core Features & Use Cases

  • Resolve a handle to a DID using DNS TXT records and HTTPS well-known endpoints concurrently.
  • Fetch and validate the associated DID document against the AT Protocol requirements (handle binding, atproto Multikey, and PDS service).
  • Perform bidirectional verification to ensure the DID document back-links to the input handle and surface handle.invalid in failure scenarios.
  • Language-aware guides: Rust, TypeScript, and Go implementations with per-language caveats and interoperability notes.

Quick Start

Call the identity resolver with a handle to obtain the corresponding DID and its DID document.

Frequently Asked Questions about atproto-identity-resolution

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I resolve an AT Protocol handle to a DID?▼

AT Protocol handle resolution involves converting handles to DIDs by concurrently querying DNS TXT records and HTTPS well-known endpoints. This fetches the target DID and retrieves its associated DID document.

How does DID document validation work in the AT Protocol?▼

DID document validation verifies handle binding, the atproto Multikey, and the PDS service endpoint against AT Protocol requirements. It enforces bidirectional checks ensuring the DID document back-links to the original input handle.

Can I use this for did:plc, did:web, and did:webvh identity resolution?▼

Yes, this resolves identities across the Plc, Web, and WebVH methods, covering did:plc:, did:web:, and did:webvh:. It enforces DNS TXT and HTTPS resolution rules to fetch and validate the associated documents.

Does AT Protocol identity resolution support Rust, TypeScript, and Go?▼

Yes, identity resolution supports Rust, TypeScript, and Go contexts. It provides language-aware guides with per-language caveats, enforces cross-language behavior, and maintains interoperability notes.

Why does my AT Protocol handle resolution return handle.invalid?▼

Handle resolution returns handle.invalid in failure scenarios when bidirectional verification fails. This happens when the resolved DID document does not back-link to the original input handle, breaking the identity binding.