Skip to content
AI & Agents
Skill

/qq-group-speaker-distinction

Use when integrating QQ group chat where users want one shared group session, but the assistant must still distinguish who said each message.

BOOST
From plugin
nextclaw
26243 skills
Install
$ npx -y skills add peiiii/nextclaw --skill qq-group-speaker-distinction --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/qq-group-speaker-distinction

Context preview

The summary Claude sees to decide when to auto-load this skill.

Use when integrating QQ group chat where users want one shared group session, but the assistant must still distinguish who said each message.

SKILL.md

qq-group-speaker-distinction.SKILL.md
name: qq-group-speaker-distinction
description: Use when integrating QQ group chat where users want one shared group session, but the assistant must still distinguish who said each message.
description_zh: 用于 QQ 群聊集成:保持一个共享群会话,同时让 AI 能区分每条消息来自哪位群成员。

QQ Group Speaker Distinction

Use this skill when the user says "do not isolate by user in group chat" but still needs speaker separation.

Core Rule

  • Keep one session key per group: `qq:group:{group_id}`.
  • Attach speaker identity on each inbound message before it enters model context.
  • Speaker identity must include stable `user_id`; nickname is only a display field.

Minimal Implementation

const sessionKey = `qq:group:${groupId}`;
const speakerTag = `[speaker:user_id=${userId};name=${displayName ?? "unknown"}]`;
const modelInput = `${speakerTag} ${rawText}`;

Add one system instruction for QQ group sessions:

  • "Use `[speaker:...]` to distinguish participants. Do not merge different speakers."

Anti-Patterns

  • Using `qq:group:{group_id}:user:{user_id}` when shared group context is required.
  • Passing only nickname without stable `user_id`.
  • Stripping speaker tags before session append or model input.

Validation Checklist

1. Log `group_id`, `user_id`, final `session_key`, and final model input. 2. Send two messages from different users in the same group. 3. Confirm both messages hit the same `session_key`. 4. Confirm each model input line has the correct `speaker:user_id=...` tag.

Best-Practice Memory Split

  • Conversation context: keyed by `group_id` only.
  • Optional profile memory: keyed by `group_id + user_id` for preference lookup only.
Read more
Ships withnextclaw

Your long-term personal AI partner. NextClaw's mission is to be a good long-term partner to you. We are building toward a 1.0 that understands you, takes useful initiative, and continuously improves itself.

Get the whole plugin

Other skills on nextclaw.

github
Skill

github

Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced…

@peiiii@peiiiiInstall Skill