qq-group-speaker-distinction

qq-group-speaker-distinction is a skill for Claude Code, Codex from Peiiii/nextclaw. It costs 32 tokens per session (392 once invoked), scanned A, original, MIT.

Rules for connecting QQ group chat, a messaging service, to one shared assistant session while keeping each participant identifiable. Every message includes a stable user ID and display name.

In plain words
What is it for?
Use it when implementing QQ group sessions, attaching speaker labels to incoming messages, and checking that multiple users reach the same session correctly.
Why use it?
It prevents messages from different people being merged or split into separate conversations when the group needs shared context.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

Good fit Use it when implementing QQ group sessions, attaching speaker labels to incoming messages, and checking that multiple users reach the same session correctly.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/peiiii/nextclaw/qq-group-speaker-distinction
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add Peiiii/nextclaw --skill qq-group-speaker-distinction
Clone the repo
git clone --depth 1 https://github.com/Peiiii/nextclaw

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for qq-group-speaker-distinction

README.md
[![agentmods](https://agentmods.dev/badge/skills/peiiii/nextclaw/qq-group-speaker-distinction/github.svg)](https://agentmods.dev/skills/peiiii/nextclaw/qq-group-speaker-distinction)
Your own site
<a href="https://agentmods.dev/skills/peiiii/nextclaw/qq-group-speaker-distinction"><img src="https://agentmods.dev/badge/skills/peiiii/nextclaw/qq-group-speaker-distinction/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for qq-group-speaker-distinction

Your own site · 80×15
<a href="https://agentmods.dev/skills/peiiii/nextclaw/qq-group-speaker-distinction"><img src="https://agentmods.dev/badge/skills/peiiii/nextclaw/qq-group-speaker-distinction.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 32 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 392 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe. Third-party audits
  • NVIDIA SkillSpector pass 7 Sept 2026
How audits are shown
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00032 $0.00392
Opus 5 $0.00016 $0.00196
Sonnet 5 $0.00006 $0.00078
Haiku 4.5 $0.00003 $0.00039

Measured 11d ago against content hash d821a8dd561c, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-11, from the pricing page.

Security

Grade A, and why

qq-group-speaker-distinction scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 11d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

packages/nextclaw-core/src/features/agent/shared/skills/qq-group-speaker-distinction/SKILL.md · 45 lines

What it actually says

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.
Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 11d ago First seen · 45 lines · 32 tokens per session scan A d821a8dd561c

Subscribe to this mod's changes

qq-group-speaker-distinction is a skill published in the GitHub repository Peiiii/nextclaw (256 stars, last pushed today), licensed MIT. It adds 32 tokens to every session and 392 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

openclaw-github-dedupe

Investigate a cluster of GitHub issues and PRs, determine canonical candidates, post duplicate/related status, preserve contributor credit, and execute cleanup actions. Supports autonomous mode for provided-link-only closeout, merge/fix follow-through, changelog, and post-merge issue/PR cleanup.

vincentkoc/dotskills · 68 tokens

openclaw-pr-batch-sweep

Select, review, repair, validate, and land batches of up to 20 low-risk OpenClaw contributor pull requests using Vincent's maintainer preferences and bounded sub-agent lanes. Use for "next 20", broad contributor PR sweeps, merge-candidate mining, or continued PR-batch work where drafts, maintainer work, trivial…

vincentkoc/dotskills · 95 tokens

tmux-lane-orchestrator

Manage one tmux agent lane from its matching ops pane, inspect live pane state and Codex logs on cold start, and produce concise manager summaries for OpenClaw and adjacent project work.

vincentkoc/dotskills · 46 tokens

ghcrawl-cluster-operator

Use when inspecting a ghcrawl SQLite store, pulling GitHub issue/PR data, refreshing summaries, embeddings, and clusters, or extracting one cluster and its evidence through the ghcrawl CLI.

vincentkoc/dotskills · 45 tokens

opik-optimizer

Optimize LLM prompts, tools, and agents in Opik using standardized optimizer workflows (prompt optimization, tool optimization, and parameter tuning), dataset/metric wiring, and result interpretation.

vincentkoc/dotskills · 41 tokens

org-branch-cleanup

Audit and safely prune stale branches across a GitHub organization with immutable snapshots, conservative merged-PR classification, live SHA/protection/open-PR revalidation, resumable deletion ledgers, and post-delete verification. Use when a maintainer asks to clean up old, dead, merged, bot-created, or abandoned…

vincentkoc/dotskills · 91 tokens