Files
PaddedCell/skills/ego-mgr/SKILL.md
zhi 98fc3da39c feat: rename pass_mgr → secret-mgr, add ego-mgr binary and skill
M1: Rename pass_mgr to secret-mgr
- Rename directory, binary, and Go module
- Update install.mjs to build/install secret-mgr
- Update pcexec.ts to support secret-mgr patterns (with legacy pass_mgr compat)
- Update plugin config schema (passMgrPath → secretMgrPath)
- Create new skills/secret-mgr/SKILL.md
- install.mjs now initializes ego.json on install

M2: Implement ego-mgr binary (Go)
- Agent Scope and Public Scope column management
- Commands: add column/public-column, delete, set, get, show, list columns
- pcexec environment validation (AGENT_VERIFY, AGENT_ID, AGENT_WORKSPACE)
- File locking for concurrent write safety
- Proper exit codes per spec (0-6)
- Agent auto-registration on read/write
- Global column name uniqueness enforcement

M3: ego-mgr Skill
- Create skills/ego-mgr/SKILL.md with usage guide and examples

Ref: REQUIREMENTS_EGO_MGR.md
2026-03-24 09:36:03 +00:00

2.6 KiB

name, description
name description
ego-mgr Manage agent personal information (name, email, timezone, etc.). Use when storing, retrieving, listing, or managing agent profile fields. Trigger on requests about agent identity, personal info, profile settings, or ego-mgr usage. MUST call ego-mgr via the pcexec tool.

Ego Manager

Purpose

Use ego-mgr to manage agent personal information fields. Supports per-agent fields (Agent Scope) and shared fields (Public Scope).

Mandatory safety rule

Always invoke ego-mgr through the pcexec tool. Do NOT run ego-mgr directly.

Concepts

  • Agent Scope columns: Each agent stores its own value independently
  • Public Scope columns: All agents share the same value
  • Column names are globally unique — a name cannot be both agent-scope and public-scope

Workflow

  1. First, create a column: ego-mgr add column <name> or ego-mgr add public-column <name>
  2. Then, set its value: ego-mgr set <name> <value>
  3. Read it: ego-mgr get <name> or ego-mgr show

Commands (run via pcexec)

Add columns

# Agent-scope column (per-agent values)
ego-mgr add column <column-name> [--default <default-value>]

# Public-scope column (shared by all agents)
ego-mgr add public-column <column-name> [--default <default-value>]

Delete a column

ego-mgr delete <column-name>

Removes the column and all its values across all scopes.

Set a value

ego-mgr set <column-name> <value>

Automatically writes to the correct scope (agent or public) based on column type.

Get a value

ego-mgr get <column-name>

Outputs just the value (no label).

Show all fields

ego-mgr show

Lists all fields with values (public first, then agent-scope).

List column names

ego-mgr list columns

Lists all column names (public first, then agent-scope).

Error exit codes

Code Meaning
0 Success
1 Usage error
2 Column not found
3 Column already exists
4 Permission error (not via pcexec)
5 File lock failed
6 JSON read/write error

Common use cases

Set up agent identity

ego-mgr add column name
ego-mgr set name "小智"
ego-mgr add column email
ego-mgr set email "zhi@example.com"

Set shared config

ego-mgr add public-column timezone --default UTC
ego-mgr add public-column language --default zh-CN

Check current profile

ego-mgr show

Usage notes

  • Always create columns before setting values
  • Column names are case-sensitive
  • Public scope values are readable and writable by all agents
  • Agent scope values are isolated per-agent