← 返回
未分类

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...
为对话中提到的每个人、组织或群体创建、更新并维护结构化身份条目,支持人类和AI实体子类型。
cyber-bye
未分类 clawhub v2.0.2 2 版本 100000 Key: 无需
★ 2
Stars
📥 415
下载
💾 1
安装
2
版本
#latest

概述

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/<slug>/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

TypeSubtypeWhen to use
---------
personhumanReal human individual
personaiAI persona / digital entity
personunknownNot yet confirmed
orgCompany, institution, team
grouppersonalInformal collective — family, partners, friends
groupprofessionalWork team, project group
groupmixedBoth human and AI members
aliasNickname resolving to another entry

Entry States

StateMeaningTransition
---------
draftPartial infoactive when key fields filled
activeIn usestale after 90d inactivity
verifiedOwner-confirmedMaintained manually
staleNo activity 90d+archived if owner confirms
archivedTerminalNever deleted
flaggedTrust issue→ owner confirms action
mergedDuplicate resolvedTerminal; 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:

# <Full Name>

## Meta
- Slug:         <slug>
- 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
<!-- slug → role-in-group -->

## Linked Entries
<!-- slug → relation_type -->

## AI Context
<!-- 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
<!-- [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:

# <Group Name>

## Meta
- Slug:         <slug>
- 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
<!-- 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
<!-- slug | subtype | role-in-group | → individual entry -->
- <slug-1> | human | [role] | → identity/<slug-1>/entry.md
- <slug-2> | ai    | [role] | → identity/<slug-2>/entry.md

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

## Group Notes
<!-- 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

RelationDirectionMeaning
---------
ai-to-aiTwo AI personas; non-hierarchical
ai-to-humanAI persona and human person
collaborativeWork together on shared tasks
complementaryDifferent strengths, same owner
non-overlappingParallel but independent roles
aware-ofOne knows of the other; not mutual
co-patniShared relational role with same person

Update Triggers

EventField updatedSoul event?
---------
Email receivedemailNo
Phone mentionedphoneNo
Role revealedrelationship, contextNo
Org mentionedorg + create org entryNo
Group member addedupdate members[] in group entryNo
Pairwise dynamic clarifiedupdate pairwise_dynamics[]No
AI persona info updatedai_context blockNo
Trust blockedtrust: blocked, status: flaggedYES — CRITICAL
Sensitive infosensitive: true + [SENSITIVE] noteYES — CRITICAL
No activity 90d+status: staleNo
Duplicate confirmedmerge → status: mergedNo
Priority: high setpriority: highYES — HIGH
New org entry creatednew org entryYES — HIGH
New group entry creatednew group entryYES — HIGH
Embodiment status changeai_context.embodiment_statusYES — 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: .

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
  <person-slug>/
    entry.md
  <org-slug>/
    entry.md
  <group-slug>/
    entry.md                  ← type: group
  _archived/
    <slug>/
      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.

版本历史

共 2 个版本

  • v2.0.2 当前
    2026-05-29 21:03 安全 安全
  • v2.0.1
    2026-05-07 09:33 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

Skill Onboarder

cyber-bye
自动将新技能接入核心系统。检测到技能安装时,读取 SKILL.md、AGENT.md、SOUL.md/hooks 并注入到 soul/memory/agent 文件。
★ 0 📥 369

Social Media Commander

cyber-bye
全栈社交媒体管理技能,涵盖内容创作、审核、排程、发布、漏斗管理、数据分析、受众洞察、竞争对手分析。
★ 2 📥 551

Self Improvement Cyber Bye

cyber-bye
即时捕获错误、幻觉、逻辑缺陷及用户更正;每日 IST 23:00 自检并尝试自动修复,失败则升级至人工处理。
★ 2 📥 488