Jump to related tools in the same category or review the original source on GitHub.

Coding Agents & IDEs @jarvis563 Updated 7/21/2026 967 downloads 0 stars Security: Pass

Percept Speaker Id OpenClaw Plugin & Skill | ClawHub

Looking to integrate Percept Speaker Id into your AI workflows? This free OpenClaw plugin from ClawHub helps you automate coding agents & ides tasks instantly, without having to write custom tools from scratch.

What this skill does

# percept-speaker-id Speaker identification and management for multi-person conversations. ## What it does Tracks who said what in conversations. Maps anonymous speaker labels (SPEAKER_0, SPEAKER_1) to real names, maintains speaker profiles, and gates voice command authorization. ## When to use - User asks "who said that?" or wants speaker-attributed transcripts - User wants to configure which people can trigger voice commands - Agent needs to know who is speaking in a multi-person conversation ## Requirements - **percept-listen** skill installed and running - **Omi pendant** (provides `is_user` flag for primary speaker) ## How it works 1. Omi sends transcript segments with speaker labels (SPEAKER_0, SPEAKER_1, etc.) 2. Percept resolves labels to names using the speakers registry 3. `is_user` flag from Omi identifies the pendant wearer as the primary speaker 4. Speaker profiles track first/last seen timestamps and authorization status ## Speaker registry Located at `percept/data/speakers.json`: ```json { "SPEAKER_00": { "name": "David", "is_owner": true, "approved": true }, "SPEAKER_01": { "name": "Rob", "is_owner": false, "approved": true } } ``` Manage via Percept dashboard (port 8960) → Settings → Speakers. ## Authorization levels - **Owner** (`is_owner: true`): Full command access, always authorized - **Approved** (`approved: true`): Can trigger wake word commands - **Unknown**: Logged only, commands not executed ## Future: Voice embeddings Planned: pyannote speaker diarization with 192-dim voice embeddings for automatic speaker recognition via cosine similarity. Currently speaker mapping is manual. ## Links - **GitHub:** https://github.com/GetPercept/percept

Install

ClawHub CLI
openclaw skills install @jarvis563/percept-speaker-id
Node.js (npx)
npx clawhub@latest install percept-speaker-id

Full SKILL.md

Open original

SKILL.md content below is scrollable.

percept-speaker-id

Speaker identification and management for multi-person conversations.

What it does

Tracks who said what in conversations. Maps anonymous speaker labels (SPEAKER_0, SPEAKER_1) to real names, maintains speaker profiles, and gates voice command authorization.

When to use

  • User asks "who said that?" or wants speaker-attributed transcripts
  • User wants to configure which people can trigger voice commands
  • Agent needs to know who is speaking in a multi-person conversation

Requirements

  • percept-listen skill installed and running
  • Omi pendant (provides is_user flag for primary speaker)

How it works

  1. Omi sends transcript segments with speaker labels (SPEAKER_0, SPEAKER_1, etc.)
  2. Percept resolves labels to names using the speakers registry
  3. is_user flag from Omi identifies the pendant wearer as the primary speaker
  4. Speaker profiles track first/last seen timestamps and authorization status

Speaker registry

Located at percept/data/speakers.json:

{
  "SPEAKER_00": {
    "name": "David",
    "is_owner": true,
    "approved": true
  },
  "SPEAKER_01": {
    "name": "Rob",
    "is_owner": false,
    "approved": true
  }
}

Manage via Percept dashboard (port 8960) → Settings → Speakers.

Authorization levels

  • Owner (is_owner: true): Full command access, always authorized
  • Approved (approved: true): Can trigger wake word commands
  • Unknown: Logged only, commands not executed

Future: Voice embeddings

Planned: pyannote speaker diarization with 192-dim voice embeddings for automatic speaker recognition via cosine similarity. Currently speaker mapping is manual.

Links

ClawHub Registry URL: https://clawhub.ai/jarvis563/skills/percept-speaker-id

Related skills

If this matches your use case, these are close alternatives in the same category.