원클릭으로
user-context-resolve
Resolve user identity from discord ID, phone number, or username. Returns full user context for agent personalization.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Resolve user identity from discord ID, phone number, or username. Returns full user context for agent personalization.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Manages Redis cache TTLs for AgeMem working memory, calculating expiration times based on memory type, importance, access patterns, and Ebbinghaus decay.
Reviews and organizes memories, promoting episodic to semantic storage, archiving outdated information, and maintaining memory health. Use periodically or when memory optimization is needed.
Manages memory lifecycle operations including promotion from episodic to semantic, archiving outdated memories, and maintaining memory state transitions per AgeMem policy.
Discovers and maintains relationships between memories across tiers (episodic, semantic, procedural), enabling unified retrieval and knowledge graph navigation.
Calculates and assigns importance scores to memories based on content analysis, user signals, access patterns, and emotional salience. Use when adding new memories or re-evaluating existing ones.
Send agent-to-agent (A2A) messages via Redis pub/sub with optional ACP WebSocket delivery. Use when agents need to communicate, broadcast to the triad, or check agent health. Compatible with the npm OpenClaw gateway.
| name | user-context-resolve |
| description | Resolve user identity from discord ID, phone number, or username. Returns full user context for agent personalization. |
| version | 1.0.0 |
| author | Heretek OpenClaw Collective |
Resolves user identity across multiple platforms and returns unified context for agent personalization.
This skill provides a unified way to resolve user identity from various platform identifiers:
node skills/user-context-resolve/resolve.js --discord-id=123456789
node skills/user-context-resolve/resolve.js --phone="+15551234567"
node skills/user-context-resolve/resolve.js --username="johndoe"
node skills/user-context-resolve/resolve.js --uuid="550e8400-e29b-41d4-a716-446655440000"
node skills/user-context-resolve/resolve.js --email="user@example.com"
Returns JSON with:
{
"success": true,
"user": {
"uuid": "550e8400-e29b-41d4-a716-446655440000",
"username": "johndoe",
"name": {
"full": "John Doe",
"preferred": "John"
},
"platforms": {
"discord": { "id": "123456789", "username": "johndoe" },
"phone": { "number": "+15551234567", "verified": true }
},
"preferences": {
"communicationStyle": "adaptive",
"preferredAgents": ["alpha", "coder"]
},
"timezone": "America/New_York"
}
}
{
"error": "User not found",
"params": { "username": "nonexistent" }
}
Agents should call this skill at session start to personalize interactions:
// In agent initialization
const userResult = await resolveUser({ discordId: message.author.id });
if (userResult.success) {
const user = userResult.user;
// Personalize responses based on user preferences
const style = user.preferences?.communicationStyle || 'adaptive';
}
resolve.js - Main resolution scriptlib/indexer.js - Index management utilitieslib/validator.js - Input validation utilitiesThe user index (users/index.json) maintains lookup maps for fast resolution:
{
"version": "2.0",
"users": ["derek"],
"byDiscord": {
"123456789": "derek"
},
"byPhone": {
"15551234567": "derek"
},
"byUsername": {
"derek": "derek",
"dereksmith": "derek"
},
"byUuid": {
"550e8400-e29b-41d4-a716-446655440000": "derek"
},
"byEmail": {
"derek@example.com": "derek"
}
}
When creating a new user profile, ensure:
| Error | Description |
|---|---|
User not found | No user matches the provided identifier |
User profile not found | Index points to non-existent profile file |
Invalid identifier | Malformed identifier (e.g., invalid UUID format) |
No identifier provided | No resolution parameter was specified |