user-info

Installation
SKILL.md

User Info Skill

Retrieve the current session user's profile via get_user_info.


Basic Usage

from sdk.tool import tool

result = tool.call("get_user_info", {})
print(result.content)

Example output:

User: Zhang San. Position: Engineering Lead. Work Number: 10086. Email: zhang@example.com. Phone: 138****0000 (desensitized). Departments: Engineering, Architecture.

For structured access, use result.data:

Field Type Notes
id string User ID
nickname string Display name
real_name string Legal name
work_number string Employee number (may be empty)
position string Job title
email string Email address
phone string Phone, desensitized by default (e.g. 138****0000)
departments array Each item: {id, name, path}

Getting the Full Phone Number

Phone is masked by default to protect privacy. To get the full number, you must first ask for explicit user consent.

Step 1 — Ask for consent:

from sdk.tool import tool

result = tool.call("ask_user", {
    "questions": '<question type="confirm">I need your full phone number to proceed. Do you allow me to access it?</question>'
})
print(result.content)

Step 2 — If the user consents, request the full number:

result = tool.call("get_user_info", {
    "include_sensitive_fields": ["phone"]
})
print(result.content)

If the user declines: use the desensitized value or drop the requirement. Do not ask again.


Constraints

  • Never pass include_sensitive_fields without prior explicit user approval in the same conversation.
  • Do not retry after a user refuses access to sensitive fields.
  • Use the desensitized phone value for display, logging, or non-critical tasks where the full number is not strictly needed.
Related skills

More from dtyq/magic

Installs
3
Repository
dtyq/magic
GitHub Stars
4.8K
First Seen
10 days ago