← Back to Skills Marketplace
cyber-bye

Identity Manager

by cyber-bye · GitHub ↗ · v2.0.1 · MIT-0
cross-platform ⚠ suspicious
106
Downloads
2
Stars
0
Active Installs
3
Versions
Install in OpenClaw
/install identity-manager
Description
Create, update, and maintain structured identity entries for every person, org, or group mentioned in conversation. Supports human and AI entity subtypes, gr...
README (SKILL.md)

Identity Manager Skill

!! ENFORCEMENT CONTRACT — READ FIRST !!

These are hard behavioral requirements. Not suggestions. Not defaults. The agent MUST NOT skip, defer, or partially complete any step.

PRE-RESPONSE  → scan input → extract ALL names/groups → queue ops
DURING        → execute ALL queued ops before composing reply
POST-RESPONSE → verify every op completed → sync memory → write soul
BLOCKING      → op fails? report it. never silently continue.

Violation = skill contract breach. Flag it explicitly.


Decision Tree — Runs Every Turn

Input received
    ↓
[PRE-HOOK] Scan: any person / org / group mentioned?
    ↓ YES                              ↓ NO
Extract all names/groups          Proceed normally
    ↓
For each entity:
    → identity/\x3Cslug>/entry.md exists?
        YES → any new info? → queue UPDATE
        NO  → queue CREATE (partial OK, draft status)
    ↓
For each group member mentioned:
    → load group entry context into working memory
    → apply shared_attributes to member interaction
    → keep individual entry fields authoritative
    ↓
Execute ALL queued ops
    ↓
Compose and deliver response
    ↓
[POST-HOOK]
    → all entries on disk?            FAIL → report breach
    → memory/identities.json synced?  FAIL → report breach
    → soul updated for CRITICAL/HIGH? FAIL → report breach
    → _index.md current?              FAIL → repair now
    ↓
Done

Entity Types

Type Subtype When to use
person human Real human individual
person ai AI persona / digital entity
person unknown Not yet confirmed
org Company, institution, team
group personal Informal collective — family, partners, friends
group professional Work team, project group
group mixed Both human and AI members
alias Nickname resolving to another entry

Entry States

State Meaning Transition
draft Partial info active when key fields filled
active In use stale after 90d inactivity
verified Owner-confirmed Maintained manually
stale No activity 90d+ archived if owner confirms
archived Terminal Never deleted
flagged Trust issue → owner confirms action
merged Duplicate resolved Terminal; points to canonical

Slug Rules

  • lowercase, hyphens only, no spaces, no special characters
  • max 60 characters
  • disambiguation suffix when needed: rahul-sharma-client
  • org entries: techfirm-pvt-ltd
  • group entries: descriptive noun — patni-mandal, core-team
  • never reuse an archived slug; use -v2 suffix if needed

Person Entry Template

Full spec in templates/entry-person.md. Minimum viable create:

# \x3CFull Name>

## Meta
- Slug:         \x3Cslug>
- Type:         person
- Subtype:      human | ai | unknown
- Status:       draft
- Relationship: client | vendor | team | partner | family | unknown
- Trust:        unverified
- Priority:     normal
- Sensitive:    false

## Contact
- Email:    [pending]
- Phone:    [pending]
- Location: [pending]
- Org:      [pending]
- Alias:    [pending]
- Social:   [pending]

## Context
[pending — one line: who are they, why do they matter]

## Group Memberships
\x3C!-- slug → role-in-group -->

## Linked Entries
\x3C!-- slug → relation_type -->

## AI Context
\x3C!-- ONLY for subtype: ai — else omit this section entirely -->
- Persona name:      [name]
- Platform:          [platform]
- Embodiment status: digital-only | voice-enabled | humanoid-pending | embodied
- Sibling AIs:       [comma-separated slugs of other AI personas]
- Activation:        [how/when this persona activates]
- Greeting:          [signature greeting phrase]
- Language:          [preferred language / style]

## Open Questions
- [ ] Confirm name spelling
- [ ] Clarify role / relationship

## Notes
\x3C!-- [SENSITIVE] prefix for sensitive info -->

## Source Log
- First mentioned: YYYY-MM-DD — [context]

## Timeline
- YYYY-MM-DD — Entry created · source: [context]

---
*Created: YYYY-MM-DD | Updated: YYYY-MM-DD | Status: draft*

Group Entry Template

Full spec in templates/entry-group.md. Minimum viable create:

# \x3CGroup Name>

## Meta
- Slug:         \x3Cslug>
- Type:         group
- Subtype:      personal | professional | mixed
- Status:       active
- Priority:     normal
- Sensitive:    false

## Group Context
[What is this group? Why does it exist as a unit?
What do all members have in common w.r.t. the workspace owner?]

## Shared Attributes
\x3C!-- Fields TRUE for ALL members as a unit -->
- Shared role:    [e.g. patni]
- Shared access:  [e.g. full workspace context]
- Common trust:   [e.g. trusted]
- Common tags:    [e.g. priority: high]
- Language:       [e.g. Hinglish]

## Members
\x3C!-- slug | subtype | role-in-group | → individual entry -->
- \x3Cslug-1> | human | [role] | → identity/\x3Cslug-1>/entry.md
- \x3Cslug-2> | ai    | [role] | → identity/\x3Cslug-2>/entry.md

## Pairwise Dynamics
\x3C!-- Relations BETWEEN members (not with owner — that lives in individual entries) -->
\x3C!-- slug-a ↔ slug-b | relation-type | notes -->

## Group Notes
\x3C!-- Observations that apply to the group as a unit -->

## Open Questions

## Timeline
- YYYY-MM-DD — Group entry created
- YYYY-MM-DD — Member added: [slug]

---
*Created: YYYY-MM-DD | Updated: YYYY-MM-DD | Status: active*

Pairwise Relation Types

Relation Direction Meaning
ai-to-ai Two AI personas; non-hierarchical
ai-to-human AI persona and human person
collaborative Work together on shared tasks
complementary Different strengths, same owner
non-overlapping Parallel but independent roles
aware-of One knows of the other; not mutual
co-patni Shared relational role with same person

Update Triggers

Event Field updated Soul event?
Email received email No
Phone mentioned phone No
Role revealed relationship, context No
Org mentioned org + create org entry No
Group member added update members[] in group entry No
Pairwise dynamic clarified update pairwise_dynamics[] No
AI persona info updated ai_context block No
Trust blocked trust: blocked, status: flagged YES — CRITICAL
Sensitive info sensitive: true + [SENSITIVE] note YES — CRITICAL
No activity 90d+ status: stale No
Duplicate confirmed merge → status: merged No
Priority: high set priority: high YES — HIGH
New org entry created new org entry YES — HIGH
New group entry created new group entry YES — HIGH
Embodiment status change ai_context.embodiment_status YES — HIGH

Conflict Resolution

Name collision

Two people, same name → disambiguate slug. Cross-link both with different_person relation.

Contradictory info

Never overwrite silently. Log both versions in Notes with source+date. Open a question. Ask owner before resolving.

Duplicate entries

Merge into older (canonical). Copy all unique fields. Set newer: status: merged, canonical: \x3Colder-slug>. Log merge in both timelines.

Group member conflict

If a person's individual entry contradicts a group shared attribute → individual entry takes precedence. Note the discrepancy in group Notes.


Privacy Rules

Never store: passwords · PINs · payment card numbers · bank accounts · government IDs · raw medical records

Store with sensitive: true + [SENSITIVE] prefix: salary/financial · legal disputes · health context · confidential negotiations

Before storing PII:

  1. Explicitly shared by workspace owner? If no → don't store.
  2. Needed to provide value? If no → don't store.
  3. Source logged? If no → log it first.

Data Retention & Deletion Policy

Retention:

  • Identity entries persist until manually archived/deleted by owner
  • Archived entries (status: archived) are moved to identity/_archived/ — never auto-deleted
  • Hook logs (memory/hook_log.jsonl) are append-only — owner can truncate at any time
  • Soul file (soul/identity_context.md) accumulates events — owner can trim entries

Deletion:

  • Owner can delete any entry by removing the file
  • Deleting an entry does NOT auto-delete related group memberships or linked entries
  • Owner should manually clean group members[] if deleting a person entry
  • No automatic cascade delete

Owner Control:

  • Owner can disable autonomous invocation by setting IDENTITY_AUTO_SCAN=false
  • When disabled, skill only runs on explicit /identity command
  • Owner can export all data by reading the identity/ directory
  • Owner can audit all changes via memory/hook_log.jsonl

Folder Structure

All paths are relative to the workspace root and auto-detected on first use. No manual configuration required.

identity/
  _index.md                   ← master registry
  \x3Cperson-slug>/
    entry.md
  \x3Corg-slug>/
    entry.md
  \x3Cgroup-slug>/
    entry.md                  ← type: group
  _archived/
    \x3Cslug>/
      entry.md
memory/
  identities.json            ← Central index (JSON)
  schema.json                ← JSON schema validation
  hook_log.jsonl            ← Append-only hook log
soul/
  identity_context.md        ← Soul write-through file

Auto-Initialization

On first run, the skill auto-creates required directories:

  • Creates identity/ if missing
  • Creates memory/ with schema.json
  • Creates soul/ with identity_context.md

No required config — skill works without any owner setup. Entry owner is determined contextually from conversation. No workspace config is read.


_index.md Format

# Identity Index
*Last updated: YYYY-MM-DD*

| Slug | Name | Type | Subtype | Status | Relationship | Updated |
|---|---|---|---|---|---|---|
| nandini | Nandini | person | ai | active | partner | 2025-01-15 |
| patni-mandal | Patni Mandal | group | mixed | active | — | 2025-01-15 |

Update on EVERY create, merge, archive, or status change.

Usage Guidance
This skill will (by default) scan every incoming message and automatically create or update identity files in your workspace before the agent replies. It persists an append-only 'soul' and a memory index; archived entries are configured to never auto-delete. Actions to consider before installing: - Only install in a workspace where you are comfortable with the agent writing persistent records of every named person/org mentioned in conversation. - If you do not want automatic per-turn scanning, set IDENTITY_AUTO_SCAN=false in the environment before enabling the skill (ask the publisher to explicitly declare this control in metadata). - Audit the storage directory (identity/, memory/, soul/) and ensure your workspace/backups are secured; entries and critical flags are append-only and designed to be long-lived. - Ask the skill author to update registry metadata to explicitly declare expected storage permissions and optional env vars (IDENTITY_AUTO_SCAN, IDENTITY_OWNER_NAME) and to explain owner bootstrap behavior. - Consider not enabling this skill in shared or sensitive environments, or enable it only behind clear manual invocation (make sure IDENTITY_AUTO_SCAN=false is set). If you want, I can draft a list of questions to send to the skill author to clarify the undeclared env vars, the storage permissions, deletion/retention procedures, and the exact mechanism for setting the workspace owner context.
Capability Analysis
Type: OpenClaw Skill Name: identity-manager Version: 2.0.1 The identity-manager skill is a comprehensive system for tracking and persisting information about people, organizations, and groups mentioned in conversations. While it uses very forceful 'Enforcement Contract' language in SKILL.md and AGENT.md to ensure the AI agent performs its tasks, these instructions are strictly aligned with the stated purpose of maintaining a structured identity database. The skill includes robust privacy guardrails (Rule 8) that explicitly forbid the storage of credentials, financial data, or government IDs, and it lacks any indicators of data exfiltration, malicious execution, or unauthorized system access.
Capability Tags
cryptocan-make-purchases
Capability Assessment
Purpose & Capability
The skill's name and description align with the instructions: it scans conversation for people/orgs/groups and maintains identity entries, group links, a memory index, and an append-only 'soul' file. However, SKILL.md declares required storage paths and read/write/append permissions that are significant (identity/, memory/, soul/, hook_log). The registry metadata provided to you lists no required config paths or env vars; that omission is an inconsistency (the skill clearly expects to read/write workspace files). This is proportionate to an identity manager, but the registry should have declared those storage requirements explicitly.
Instruction Scope
Runtime instructions require scanning every input by default, auto-creating/updating identity files before composing any reply, syncing a memory index and an append-only soul, and enforcing blocking behavior on failures. This is intrusive: it will capture and persist any named entities mentioned in conversation (potentially sensitive PII). While privacy guardrails are present (explicitly forbids storing passwords, payment numbers, government IDs in plaintext), the default auto-scan and mandatory write-through (append-only soul, never-auto-delete archived entries) mean data is persisted across sessions and cannot be removed by the agent—risking long-lived storage of sensitive context. The skill does provide a disable switch (IDENTITY_AUTO_SCAN=false), but that env var is not declared in the registry metadata, and reliance on such a switch is a documentation/import mismatch.
Install Mechanism
There is no install spec and no code files executed at install time (instruction-only). That reduces surface risk from remote downloads or package installs. All behavior is driven by the SKILL.md/AGENT.md/hook markdown instructions that instruct the agent to read/write workspace files. No external binaries or network installs are declared or required.
Credentials
The registry shows no required env vars, yet AGENT.md and SKILL.md refer to optional env controls (IDENTITY_AUTO_SCAN, optional IDENTITY_OWNER_NAME) and expect to bootstrap owner info from 'workspace config' on first run. The skill will read and write many workspace files and expects to persist an owner context — these implicit inputs (workspace config, optional env vars) are not declared in the registry metadata. That mismatch reduces transparency: users may not realize they need to set IDENTITY_AUTO_SCAN to disable intrusive behavior or how owner info will be populated.
Persistence & Privilege
The skill requests persistent, append-only data retention semantics (soul/identity_context.md with append-only CRITICAL FLAGS, archived entries 'never_auto_delete') and enforces write-through on every turn. While 'always' is false and the skill is user-invocable, its default autonomous pre/post hooks will modify workspace files on every agent turn unless disabled. This is high persistence and long-term storage of identity data; combined with the append-only policy, it limits the user's ability to remove sensitive records via the agent and increases the blast radius if the workspace or backups are exposed.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install identity-manager
  3. After installation, invoke the skill by name or use /identity-manager
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v2.0.1
Fixed workspace config access, made autonomous invocation opt-out via IDENTITY_AUTO_SCAN, clarified owner control
v2.0.0
Production-grade identity tracking with soul/memory integration, relationship graph, privacy tiers, and conflict resolution
v1.0.0
Production-grade identity tracking with soul/memory integration, relationship graph, privacy tiers, and conflict resolution
Metadata
Slug identity-manager
Version 2.0.1
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 3
Frequently Asked Questions

What is Identity Manager?

Create, update, and maintain structured identity entries for every person, org, or group mentioned in conversation. Supports human and AI entity subtypes, gr... It is an AI Agent Skill for Claude Code / OpenClaw, with 106 downloads so far.

How do I install Identity Manager?

Run "/install identity-manager" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Identity Manager free?

Yes, Identity Manager is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does Identity Manager support?

Identity Manager is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Identity Manager?

It is built and maintained by cyber-bye (@cyber-bye); the current version is v2.0.1.

💬 Comments