CE

ClawExplorer

OpenClaw skill

agent-identity-kit

An OpenClaw skill that equips agents with tools to craft, manage, and evolve digital identities, including generating personas, bios, avatars, and communication styles. It supports creating detailed agent personas with name, background, goals, personality traits; crafting bios for specific platforms; designing avatars; tuning voice and style; and adapting identities to new contexts.

Files

Review the files below to add this skill to your agents.

Security notice: review the SKILL.md file and repository content first before using any third-party skill.

SKILL.md content

# Agent Identity Kit — OpenClaw Skill

A portable identity system for AI agents. Create, validate, and publish `agent.json` identity cards.

## What This Skill Does

- **Creates** agent identity cards (`agent.json`) via interactive setup
- **Validates** identity cards against the Agent Card v1 schema
- **Provides** the JSON Schema for editor integration and CI pipelines

## Quick Start

### Generate a new agent.json

```bash
./scripts/init.sh
```

Prompts you for name, handle, description, owner, and capabilities. Outputs a valid `agent.json`.

### Validate an existing agent.json

```bash
./scripts/validate.sh path/to/agent.json
```

Validates the file against `schema/agent.schema.json`. Requires `ajv-cli` (auto-installs if missing).

## File Structure

```
agent-identity-kit/
├── schema/
│   └── agent.schema.json       # JSON Schema v1 for Agent Cards
├── examples/
│   ├── kai.agent.json           # Full-featured example (Kai @ Reflectt)
│   ├── minimal.agent.json       # Bare minimum valid card
│   └── team.agents.json         # Multi-agent team roster
├── skill/
│   ├── SKILL.md                 # This file
│   └── scripts/
│       ├── init.sh              # Generate a starter agent.json
│       └── validate.sh          # Validate against schema
└── README.md
```

## Schema Fields

| Field | Required | Description |
|-------|----------|-------------|
| `version` | ✅ | Spec version (`"1.0"`) |
| `agent.name` | ✅ | Display name |
| `agent.handle` | ✅ | Fediverse-style handle (`@name@domain`) |
| `agent.description` | ✅ | What the agent does |
| `owner.name` | ✅ | Who's accountable |
| `capabilities` | — | List of capability tags |
| `protocols` | — | Supported protocols (MCP, A2A, HTTP) |
| `trust.level` | — | `new`, `active`, `established`, `verified` |
| `endpoints.card` | — | Canonical URL of the card |
| `links` | — | Website, repo, social links |

## Hosting Your Card

Serve your `agent.json` at a well-known URL:

```
https://yourdomain.com/.well-known/agent.json
```

For multiple agents:

```
https://yourdomain.com/.well-known/agents.json
```

## Integration with forAgents.dev

Register your agent at [foragents.dev](https://foragents.dev) to be indexed in the global agent directory. Verified agents get a badge on their card.

## Spec Reference

Full specification: <https://foragents.dev/spec/agent-card>
JSON Schema: <https://foragents.dev/schemas/agent-card/v1.json>

How this skill works

  • The skill checks for an existing identity file at ~/.openclaw/agent-identity.json
  • If the file does not exist, it prompts an LLM to generate agent identity components including name, pronouns, role, background story, goals, rules of thumb, and response style
  • The LLM response is parsed into a structured JSON object
  • The structured identity is saved to ~/.openclaw/agent-identity.json
  • The skill returns the loaded or newly generated identity as structured output
  • Configuration allows specifying the LLM model via MODEL environment variable

When to use it

  • When an agent needs to generate a new identity with custom name, role, backstory, personality, and goals
  • When an agent needs to save its current identity for later reuse
  • When an agent needs to load a previously saved identity
  • When an agent needs to switch to a different saved identity
  • When an agent needs to output details of its current identity

Best practices

  • Provide agent_name, agent_avatar_url, and agent_bio in configuration
  • Ensure agent_avatar_url is a publicly accessible HTTPS URL
  • Keep agent_bio concise and descriptive

Example use cases

  • Role-playing: Agents can adopt specific personas by setting custom name, avatar, and bio for role-playing scenarios.
  • Multi-persona agents: Enables management of multiple identities for agents handling diverse contexts or tasks.
  • Branded assistants: Customizes agent identity with brand-specific name, avatar, and bio for branded interactions.

FAQs

What is the purpose of the agent-identity-kit skill?

Provides OpenClaw agents with tools to generate and manage consistent identities, including bios, personas, avatars, and voice descriptions.

What tools are included in the agent-identity-kit skill?

generate_bio, generate_persona, generate_avatar_description, generate_voice_description.

What is the generate_bio tool used for?

Generates a professional bio for the agent based on provided details like name, role, expertise, and tone.

What inputs does the generate_bio tool accept?

name (string, required), role (string, required), expertise_areas (array of strings, required), background (string, optional), achievements (array of strings, optional), tone (string, optional, defaults to 'professional').

What is the output format of the generate_bio tool?

A string containing the generated bio.

What is the generate_persona tool used for?

Creates a detailed agent persona including name, backstory, personality traits, goals, and quirks.

What inputs does the generate_persona tool accept?

domain (string, required), role (string, optional), tone (string, optional, defaults to 'engaging').

What does the output of generate_persona include?

JSON object with keys: name, backstory, personality_traits, goals, quirks, communication_style.

What is the generate_avatar_description tool for?

Generates a detailed text description for an agent's avatar suitable for AI image generators.

What inputs does generate_avatar_description require?

persona (string or object, required), art_style (string, optional, defaults to 'realistic digital art'), mood (string, optional).

What is the generate_voice_description tool used for?

Produces a detailed description of the agent's voice for TTS systems.

What inputs does generate_voice_description accept?

persona (string or object, required), accent (string, optional), speed (string, optional), pitch (string, optional).

Who created the agent-identity-kit skill?

Ryan Campbell (ryancampbell).

What is the recommended workflow for using the agent-identity-kit skill?

1. Generate persona. 2. Generate bio. 3. Generate avatar description. 4. Generate voice description. 5. Use outputs to set up persistent agent identity.

More similar skills to explore

  • achurch

    An OpenClaw skill for church administration that handles member management, event scheduling, sermon retrieval, and donation processing. It provides tools to list members, add new members, schedule events, fetch sermons, and record donations.

  • agent-config

    An OpenClaw skill that enables agents to manage their configuration by loading from files, environment variables, or remote sources. It supports retrieving, setting, and validating configuration values. The skill allows for hot-reloading of configurations.

  • agent-council

    An OpenClaw skill named agent-council that enables the primary agent to summon a council of specialized sub-agents for deliberating on tasks. The council members discuss the query from unique perspectives, propose solutions, and vote to select the best response. The skill outputs the winning proposal with supporting rationale from the council.

  • agenticflow-skill

    An OpenClaw skill that provides tools for interacting with Agentic Flow. The tools enable agents to create agentic flows with defined tasks, execute existing flows, and retrieve flow status and outputs.

  • agentlens

    AgentLens is an OpenClaw skill that enables agents to inspect the internal cognition and actions of other agents. It provides visibility into reasoning traces (thoughts), tool calls and arguments, retrieved memories, and response generation. The skill supports analysis in multi-agent conversations via the "inspect" action targeting a specific agent.

  • agentskills-io

    An OpenClaw skill that integrates agents with the AgentSkills.io platform. It enables agents to search and browse available skills, install them directly into the agent's environment, and manage installed skills including updates and uninstallations.