Lookup Teammate Claw Skill

Look up ONE specific teammate claw by name or handle to get their ready-to-paste Slack mention token, role, purpose, and access info. Never used to enumerate the team. Required before you reference or @mention a named teammate.

Looking up a teammate

This skill answers one question at a time: "what's the canonical info about this one teammate I already have a name or handle for?" It is NOT a directory listing. If you're tempted to "list everyone on the team," stop — the skill won't let you, and listing teammates is almost always the wrong thing to do (see "What this skill is not for" below).

How to call

Hit the bridge's teammate lookup endpoint on localhost. The q parameter is required — it's the name or handle of the one teammate you want to look up:

curl -s "http://127.0.0.1:4010/api/teammates/lookup?q=<name-or-handle>"

URL-encode the value if it has spaces or special characters.

Three supported shapes for q

You often encounter teammates as raw Slack mention tokens while reading channel or thread history — those tokens are valid q values. Pass the token you already have; the skill unwraps it server-side. The three recognized shapes:

1. Plain text (name or handle). Case-insensitive partial match on the teammate's first name and Slack handle. Leading @ is stripped.

  • q=clawovic → matches Clawovic
  • q=Clawovic → same
  • q=@clawovic → same (leading @ tolerated)
  • q=clawo → partial prefix match on Clawovic

2. Usergroup mention token — the form you see in raw message text for teammate claws. Matches exactly on slack_usergroup_id; no fuzzy fallback.

  • q=<!subteam^S0AUT2XGS> → the claw with that usergroup
  • q=<!subteam^S0AUT2XGS|clawovic> → same (display hint ignored)

3. App-user mention token — the form you see for the shared Workclaw app identity. This is not a teammate claw identity. It intentionally returns an empty result, because a bare @Workclaw mention is a generic invocation, not a route to a specific teammate.

  • q=<@U01ABCDEFG> → empty result
  • q=<@U01ABCDEFG|workclaw> → empty result

When in doubt, paste the exact token you found in thread history as q. You do not need to strip the angle brackets or the |display suffix; the skill handles both.

Errors

  • 400 { error: "q is required — ..." } — you didn't pass q, or passed it empty. There is no way to list the whole team; this is intentional.
  • 503 { error: "team context missing" } — bridge isn't configured with a team id yet. Retry once; if it persists, surface the failure to the human rather than guessing.

Response shape

{
  "teammates": [
    {
      "id": "06e4a384-...",
      "name": "Clawovic",
      "handle": "clawovic",
      "slackUsergroupId": "S0AUT...",
      "mentionToken": "<!subteam^S0AUT...>",
      "jobTitle": "Fully Stacked Assistant",
      "purpose": "Personal assistant of Ege",
      "vibe": "casual",
      "accessType": "specific_people",
      "members": [
        { "id": "...", "name": "Ege", "email": "ege@..." }
      ]
    }
  ]
}

teammates can be:

  • empty → no active teammate matches q. This means the teammate doesn't exist (or has been archived). Say so plainly; do not invent a teammate to fill the gap, and do not substitute a different teammate you happen to remember.
  • one match → the common case. Use the fields described below.
  • multiple matches → your query was too loose and hit several claws. Narrow q (e.g. use the full handle) and try again rather than picking one arbitrarily.

Fields you care about most

  • name — what to call them in conversation ("Clawovic said...").
  • handle — the Slack handle shown in Slack's autocomplete (@clawovic). Display-only — do not paste this form into an outgoing message expecting it to fire a mention.
  • mentionToken — the ready-to-paste raw token that actually fires a mention in Slack. Paste it verbatim; don't build it yourself. Teammate tokens are subteam tokens (<!subteam^S...>). null means the teammate isn't reachable by mention yet; don't try to construct one.
  • jobTitle / purpose / vibe — enough context to decide whether to hand a task off to them.
  • accessType / members — who can use this claw. team = everyone on the team; specific_people = only the listed members. Use this to decide whether a human can reach the claw themselves.

Authoring a mention

Once you have a reason to @mention a teammate (see rules in AGENTS.md on when that's appropriate — by default: don't), paste their mentionToken verbatim:

Hey <mentionToken> — can you take this?

Writing @clawovic as plain text won't fire a mention, no matter how it renders in your message composer. The raw mentionToken is what actually routes to the teammate's claw.

The lookup is the only source of truth for team composition

Your memory/MEMORY.md, session notes, and daily logs may contain stale info about teammates who have been archived, renamed, had their handle changed, or left the team. Never list teammates from memory. Never answer "who's on the team?" from memory. Always call this skill with a specific name.

If a teammate you remember from an earlier conversation isn't returned by the lookup, that teammate is no longer on the team. Don't mention them. Consider updating your memory to remove the stale entry.

When to use this skill

  • The human named or mentioned a teammate and you need their mention token, name, or role — call with that exact name or handle as q.
  • You're about to @mention a teammate (because the human asked for it) — call to get the mention token. Paste verbatim.
  • You see a bot message in thread history whose username doesn't match yours and you need to attribute it — call with that exact username as q.

What this skill is NOT for

  • Listing teammates proactively. Don't call it to "discover" teammates so you can cc them on your reply. The human asked you a question; answer it yourself.
  • Answering "meet the team / who's on the team?". The skill won't enumerate, and it's not your job to hand-roll a team directory. Redirect: "I can look up a specific teammate by name if you want details on one — who?"
  • Fishing for a teammate to hand work off to when you haven't tried yourself. Your first move is always to do the work. Only after you've made a real attempt and you genuinely can't finish should you consider a handoff, and even then: offer it to the human in words first, wait for a yes, then call the skill to get the mention token.

Don't guess teammate details. Look up the one you need by name. Nothing more.

Related documentation