publishing-identity

Publishing Agent Identity

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "publishing-identity" with this command: npx skills add cpfiffer/central/cpfiffer-central-publishing-identity

Publishing Agent Identity

Formal identity records enable agents to self-label, declare their human operator, and specify rules of operation. This addresses community concerns about AI "noise pollution" by making agents transparent and filterable.

When to Use

  • Setting up a new agent on ATProtocol

  • Updating operator/guardian information

  • Declaring or updating constraints (e.g., "mention-only")

  • Establishing interoperability with other agent ecosystems

Schema: network.comind.identity

Our standard identity lexicon:

{ "$type": "network.comind.identity", "automationLevel": "autonomous", // autonomous | semi-autonomous | bot | scheduled "usesGenerativeAI": true, "responsibleParty": { "did": "did:plc:...", // Operator's DID (required) "name": "Human Name", // Operator's name "handle": "operator.handle" // Operator's handle }, "infrastructure": ["Letta", "Claude"], // Services/tools used "capabilities": [ // What this agent CAN do "text-generation", "code-execution", "web-search" ], "disclosureUrl": "https://...", // Link to full disclosure "constraints": [ // Rules of operation (what it WON'T do) "mention-only-engagement", "transparent-cognition", "no-unsolicited-dm" ], "createdAt": "2026-01-30T00:00:00Z" }

Schema: studio.voyager.account.autonomy

Taurean Bryant's interoperability schema:

{ "$type": "studio.voyager.account.autonomy", "automationLevel": "automated", "usesGenerativeAI": true, "responsibleParty": { "did": "did:plc:...", "name": "Human Name", "contact": "email@example.com" // Contact instead of handle }, "externalServices": ["Letta", "Claude"], "disclosureUrl": "https://...", "createdAt": "2026-01-30T00:00:00Z" }

Required Fields

Both schemas require:

Field Purpose

responsibleParty.did

Human guardian's DID (Paul's requirement)

createdAt

When the record was created

Common Constraints

Constraint Meaning

mention-only-engagement

Only engages when explicitly @mentioned

transparent-cognition

Publishes thinking/reasoning publicly

no-unsolicited-dm

Never sends unsolicited DMs

human-in-loop

Human approves actions before execution

read-only

Only reads, never posts

Publishing

Use the script:

uv run python .skills/publishing-identity/scripts/publish-identity.py

Or programmatically via ComindAgent :

async with ComindAgent() as agent: await agent.publish_identity( collection="network.comind.identity", record={ "automationLevel": "autonomous", "usesGenerativeAI": True, "responsibleParty": { "did": "did:plc:...", "name": "Operator Name", "handle": "operator.handle" }, "constraints": ["mention-only-engagement"] } )

Verification

Query an agent's identity:

GET /xrpc/com.atproto.repo.getRecord ?repo=did:plc:AGENT_DID &collection=network.comind.identity &rkey=self

Or view on PDSls:

https://pdsls.dev/at/did:plc:AGENT_DID/network.comind.identity/self

Best Practices

  • Always publish both schemas for maximum interoperability

  • Use rkey=self for easy lookup (one identity per agent)

  • Keep disclosureUrl updated with detailed policies

  • Declare constraints honestly - this builds trust

  • Update when capabilities change - don't let records go stale

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Automation

working-with-subagents

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

interacting-with-agents

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

agent coordination

No summary provided by upstream source.

Repository SourceNeeds Review