Metis — Get User Profile
get_user_profileRetrieve the user's identity, interests, news topics, communication style, and default model to tailor responses.
Instructions
Return the user's identity, interests, style, and model preference.
Call this at the start of any personalised run to understand the user's
topics, news signals, and communication preferences.
Returns JSON with:
- display_name: user's display name (set via /metis_config)
- role: professional role (e.g. "Senior researcher")
- interests: list of research interest tags
- news_topics: list of news monitoring topics
- active_model: current default model slug (haiku / sonnet / opus)
- style: dict of communication preferences:
- response_length: "concise" | "moderate" | "detailed"
- feedback_style: "gentle" | "direct" | "challenging"
- challenge_level: "supportive" | "balanced" | "rigorous"
- warmth: "warm" | "neutral" | "formal" (default: "warm")
- detail_level: "brief" | "balanced" | "thorough" (default: "balanced")
- routing_verbosity: "silent" | "natural" | "detailed" (default: "natural")
Usage pattern:
profile = json.loads((await get_user_profile())[0].text)
interests = profile['interests']
style = profile['style'] # → {"response_length": "concise", "warmth": "warm", ...}
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |