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
This commit is contained in:
105
skills/ego-mgr/SKILL.md
Normal file
105
skills/ego-mgr/SKILL.md
Normal file
@@ -0,0 +1,105 @@
|
||||
---
|
||||
name: ego-mgr
|
||||
description: 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
|
||||
```bash
|
||||
# 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
|
||||
```bash
|
||||
ego-mgr delete <column-name>
|
||||
```
|
||||
Removes the column and all its values across all scopes.
|
||||
|
||||
### Set a value
|
||||
```bash
|
||||
ego-mgr set <column-name> <value>
|
||||
```
|
||||
Automatically writes to the correct scope (agent or public) based on column type.
|
||||
|
||||
### Get a value
|
||||
```bash
|
||||
ego-mgr get <column-name>
|
||||
```
|
||||
Outputs just the value (no label).
|
||||
|
||||
### Show all fields
|
||||
```bash
|
||||
ego-mgr show
|
||||
```
|
||||
Lists all fields with values (public first, then agent-scope).
|
||||
|
||||
### List column names
|
||||
```bash
|
||||
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
|
||||
```bash
|
||||
ego-mgr add column name
|
||||
ego-mgr set name "小智"
|
||||
ego-mgr add column email
|
||||
ego-mgr set email "zhi@example.com"
|
||||
```
|
||||
|
||||
### Set shared config
|
||||
```bash
|
||||
ego-mgr add public-column timezone --default UTC
|
||||
ego-mgr add public-column language --default zh-CN
|
||||
```
|
||||
|
||||
### Check current profile
|
||||
```bash
|
||||
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
|
||||
Reference in New Issue
Block a user