name: resolving-identity description: Internal shared skill to resolve current user identity and org members. Not intended for direct user invocation. user-invocable: false
Waggle — Identity Resolve
Resolve the current user's identity from the active provider.
Skip if current_user is already set in this conversation.
Silent operation: This skill runs as an internal step of an invoking skill. Return results to the invoking flow without user-facing narration — the caller owns all user communication. Only errors, warnings, and prompts required to proceed may surface directly.
Prerequisites
active_provider must already be determined (caller must run detecting-provider first).
If active_provider is not set, stop and return an error to the caller.
Step 1: Resolve Current User
If current_user is already set in this session, skip to Step 2.
Follow the provider SKILL.md's Identity: Resolve Current User section.
Result: set session variable current_user: { id, name, email }.
- If the provider does not support user identity, set
current_user: { id: "local", name: $USER env var or "local", email: null }. - Always produce a
current_uservalue — never fail the caller due to identity resolution.
Step 1b: Resolve Team Membership
Skip if current_user.teams is already set in this session.
If teamsDatabaseId exists in headless_config:
- Follow the provider SKILL.md's Identity: Resolve Team Membership section.
- Result: set
current_user.teams: [{ id, name, members: [{ id, name }] }]andcurrent_team.- 1 team → automatically set
current_team. - 2+ teams → AskUserQuestion to select.
- 0 teams →
current_team: null.
- 1 team → automatically set
If teamsDatabaseId is not in config, skip this step (current_team: null).
Step 2: Resolve Org Members (on demand)
Only execute if the caller explicitly requests member lookup (i.e., org_members is needed).
Skip if org_members is already set in this session.
Follow the provider SKILL.md's Identity: List Org Members section.
Result: set session variable org_members: OrgMember[] where each member has { id, name, email }.
- If the provider does not support member listing, set
org_members: [].