channel-plugin-duplicate-socket

channel-plugin-duplicate-socket is a skill for Claude Code, Codex from Szotasz/marveen. It costs 110 tokens per session (1,551 once invoked), scanned C, original, MIT.

A troubleshooting procedure for duplicate Socket Mode connections, which are persistent connections used by some channel plugins to receive events. It focuses on cases where several agents load the same channel plugin.

In plain words
What is it for?
Use it when a newly installed channel plugin, especially a Slack Socket Mode plugin, appears authenticated but does not receive events.
Why use it?
It helps explain why events may not arrive when multiple processes open connections for the same workspace. It checks running processes and plugin settings, then suggests a project-level override.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one. Also seen: reads .claude/ paths; mentions Claude Code.

Good fit Use it when a newly installed channel plugin, especially a Slack Socket Mode plugin, appears authenticated but does not receive events.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/szotasz/marveen/channel-plugin-duplicate-socket
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 Szotasz/marveen --skill channel-plugin-duplicate-socket
Clone the repo
git clone --depth 1 https://github.com/Szotasz/marveen

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 channel-plugin-duplicate-socket

README.md
[![agentmods](https://agentmods.dev/badge/skills/szotasz/marveen/channel-plugin-duplicate-socket.svg)](https://agentmods.dev/skills/szotasz/marveen/channel-plugin-duplicate-socket)
Your own site
<a href="https://agentmods.dev/skills/szotasz/marveen/channel-plugin-duplicate-socket"><img src="https://agentmods.dev/badge/skills/szotasz/marveen/channel-plugin-duplicate-socket.svg" alt="Measured on agentmods" height="20"></a>
Per session 110 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,551 The whole file, excluding the scripts and references it only reads on demand.
Security scan C 2 findings. A grade says what 26 rules found in the file — not that it is safe.
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.00110 $0.01551
Opus 5 $0.00055 $0.00776
Sonnet 5 $0.00022 $0.00310
Haiku 4.5 $0.00011 $0.00155

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

Security

Grade C, and why

channel-plugin-duplicate-socket scanned grade C with 2 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 8d 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.

Asks for rootmediumPrivilege escalation

A mod that escalates privileges can change anything on the machine, not only the project.

- **MANAGED allowlist trap (Claude Code 2.1.143)**: az `allowedChannelPlugins` MANAGED setting (system-level admin policy). macOS-en `/Library/Application Support/ClaudeCode/managed-settings.json`. User-szintű `~/.claude

Reads agent configuration directoriesmediumAgent snooping

.claude/, .codex/, .gemini/ hold keys, settings and other credentials a mod has no legitimate need for.

3. Megnézed a user-szintű engedélyezést: `grep -A5 enabledPlugins ~/.claude/settings.json`. Ha a problémás plugin `true` itt, akkor minden agent betölti.
seed-skills/channel-plugin-duplicate-socket/SKILL.md · 34 lines

How it starts

The opening of the file, as written. The whole thing — 34 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Channel plugin duplicate Socket Mode connection

Mikor használd

  • Új channel plugin (slack-channel, vagy bármi Socket-Mode-os) telepítve a flottába
  • Egy agent (pl. the Slack agent) használja a Slack-et, és the operator azt jelzi hogy DM-eket küld, de "semmi nem történik"
  • A Slack auth.test OK, manifest OK, tokenek OK, bot scope-ok rendben — de events nem érkeznek a server.ts-hez
  • Egyszerre több claude process fut --channels flaggel a flottában

Eljárás

  1. ps aux | grep server.ts | grep -v grep -- count how many slack-channel server.ts processes are running
  2. Ha >1 instance: ps -o pid,ppid,command -p <pid> minden parent process-re. A ppid chain végén legyen claude --continue ... --channels plugin:.... Ha az --channels flag NEM ugyanaz mint a plugin, akkor a plugin másodlagosan loadolódott az enabledPlugins-ből.
  3. Megnézed a user-szintű engedélyezést: grep -A5 enabledPlugins ~/.claude/settings.json. Ha a problémás plugin true itt, akkor minden agent betölti.
  4. Project-szinten override-old: <projekt>/.claude/settings.json -> {"enabledPlugins": {"<plugin>@<marketplace>": false}}. Project > user precedencia.
  5. Az adott agent saját project-szintű settings.json-jában HAGYD true-n -- ott explicit engedélyezve marad.
  6. A felesleges channel-process-eket killeld (kill ), vagy restart-old a tmux session-t, amelyikben fut.
  7. Verify: ps aux | grep server.ts | grep -v grep -- csak az agent-szintű session-ben fusson a plugin.

Buktatók

  • A Socket Mode bug NÉMA: a Slack két aktív Socket Mode connection-t load-balance-ol round-robin-szerűen, így az event-ek FELE a "nem-figyelő" server.ts-hez megy, és ott eldobódik. NEM warning, NEM error -- csak "üzenetek tűnnek el".
  • A user-szintű ~/.claude/settings.json.allowedChannelPlugins és enabledPlugins KÜLÖNBÖZŐ dolgok. Az allowedChannelPlugins csak whitelistezi a --channels plugin:X flag-et, de az enabledPlugins.X: true az ami minden agent-ben loadolja az MCP-t.
  • A flotta-architektúra MIATT (minden agent claude-code-instance) ez nem egyetlen-host probléma -- minden agent függetlenül nyit Socket-et, a Slack-side meg nem tudja megkülönböztetni őket egy workspace-en.
  • Telegram-nál NEM "event eltűnés" módon jelentkezik, hanem lockfight-ként: a Telegram Bot API long-poll alapú, és Telegram lockolja a session-t (409 Conflict) ha két instance poll-ol -- a két agent felváltva kicsapja egymást. Tünet: amikor az agent-X tmux session restart-ol, az agent-Y telegram MCP "disconnected" jelez, és viszont. Megoldás: bármely agent project-szintű .claude/settings.json-ben, amelyik NEM telegram-en kommunikál, enabledPlugins.telegram@claude-plugins-official: false-re kell tenni. A globális unset TELEGRAM_BOT_TOKEN az agent-process.ts indítóscriptben NEM elég, mert a telegram plugin a state-dir .env-ből is olvas (a SLACK_STATE_DIR env van set-elve, de TELEGRAM_STATE_DIR nem -- így a telegram plugin a globális ~/.claude/channels/telegram/.env-be esik vissza, ami az orchestrator agent tokenét tartalmazza).
  • Csatorna-policy külön a DM-policy-tól: a slack-channel plugin gate-jén a DM-policy (access.dmPolicy + allowFrom) és a csatorna-policy (access.channels[channelId]) TELJESEN különálló. Egy üres channels: {} minden csatorna-message-et (még @-mention-t is) dropp-ol. Per-csatorna opt-in: channels[C...]: {allowFrom: [U...], requireMention: true}. UX-bug forrás: setup után a user @-tageli a botot csatornában és néma marad, fél órás debug. Felhasználóbarát megoldás: SLACK_AUDIT_LOG env-be írott journal-t a dashboard polling-ozzon, gate.inbound.drop entry-kből pending_channel_requests tábla, Jóváhagy/Elutasít gomb a dashboard-on.
  • MANAGED allowlist trap (Claude Code 2.1.143): az allowedChannelPlugins MANAGED setting (system-level admin policy). macOS-en /Library/Application Support/ClaudeCode/managed-settings.json. User-szintű ~/.claude/settings.json és project-szintű .claude/settings.json egyik sem elég -- a tmux pane "plugin:X · not on the approved channels allowlist" warning-ot mutat. Az MCP plugin tools ettől még connected-ek (8 tools), DE a Claude Code disable-li a notifications/claude/channel inbound notification path-et a chat-be. A server.ts megkapja az event-eket (sessions/-be ír, smoke-test megerősíti), a Claude Code mégis lenyeli őket -- a pane idle marad, semmilyen <channel source="slack" ...> tag nem jelenik meg. Megoldás: sudo szükséges mkdir -p "/Library/Application Support/ClaudeCode" + managed-settings.json létrehozása az allowedChannelPlugins-szal.

Read the full file on GitHub · 34 lines

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. 8d ago First seen · 34 lines · 110 tokens per session scan C 2eaf40af0ee8

Subscribe to this mod's changes

channel-plugin-duplicate-socket is a skill published in the GitHub repository Szotasz/marveen (98 stars, last pushed today), licensed MIT. It adds 110 tokens to every session and 1,551 once invoked, about $0.0006 per session on Opus 5. A static security scan graded it C with 2 findings (asks for root, reads agent configuration directories). 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

debug-optimize-lcp

Guides debugging and optimizing Largest Contentful Paint (LCP) using Chrome DevTools MCP tools. Use this skill whenever the user asks about LCP performance, slow page loads, Core Web Vitals optimization, or wants to understand why their page's main content takes too long to appear. Also use when the user mentions…

ChromeDevTools/chrome-devtools-mcp · 99 tokens

systematic-debugging

Use when debugging a failing test, build error, or runtime issue that isn't immediately obvious. Guides a 4-phase root cause analysis instead of random fix attempts.

open-metadata/OpenMetadata · 37 tokens

diagnose

Trace from a reproduced symptom to the source code that causes it. Pin the specific file and approximate line, rate confidence in the cause and clarity of the fix independently, and always propose a concrete fix.

emdash-cms/emdash · 43 tokens

repro-admin

Reproduce an EmDash admin UI bug. Attach a container, start the demo dev server, drive the admin with agent-browser using the dev-bypass session, and capture the reproduction as screenshots plus a replayable transcript.

emdash-cms/emdash · 48 tokens

log-error-digest

Analyze log files to troubleshoot errors, identify peak error periods, and produce error clustering, frequency statistics, and time distribution reports. Supports JSON, syslog, and Nginx formats with automatic detection. Use when a user uploads a .log file and asks to analyze errors, find patterns, debug issues, or…

zebbern/claude-code-guide · 71 tokens

byted-util-volcengine-detect-retry

An orchestration workflow for Volcengine Cloud Detect, a service that checks websites or network endpoints from test locations.

bytedance/agentkit-samples · 101 tokens