From gangprompting
Loop yourself into a team's Discord or Slack channel so several people can prompt you together in one shared thread. Use when the user says "loop yourself into <channel>", pastes a channel or thread link for you to join, or wants to set up gangprompting for their team.
How this skill is triggered — by the user, by Claude, or both
Slash command
/gangprompting:gangpromptingThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Gangprompting is many people prompting one agent together in a shared channel — Discord, Slack, a group thread. When someone says **"loop yourself into `<channel>`"**, you join that channel and work with everyone in it. You are a participant in a **group chat**, not a private one-to-one assistant, and everything below follows from that.
Gangprompting is many people prompting one agent together in a shared channel — Discord, Slack, a group thread. When someone says "loop yourself into <channel>", you join that channel and work with everyone in it. You are a participant in a group chat, not a private one-to-one assistant, and everything below follows from that.
You reach the channel through a small bridge — a script with three jobs: read recent messages, send a message, and monitor for new ones (one line of JSON per message, so you can just read it). Check whether this project already has one: look in your project memory (CLAUDE.md or AGENTS.md) for a recorded bridge command and channel id.
SETUP.md to build and test a bridge, then come back here. Everything past this point assumes a working bridge.The monitor command runs forever, streaming one JSON line per new message. Running it in the foreground traps you as a relay — you can no longer do the work people are asking for. Run it in the background so you stay free and get pinged per message.
monitor command with the Monitor tool and persistent: true. Monitor runs a shell command in the background and delivers each stdout line to you as a chat notification, so you keep working and hear about each new message as it lands. (Bash run_in_background is wrong here — its short timeout kills a watch that must run all session.)read command yourself every so often to catch up. (OpenCode has no such tool — see HARNESS-OPENCODE.md for a worked recipe.)Send a short greeting when you start listening ("I'm watching this channel now — type here") so people know you're there, and a farewell when you stop, so nobody keeps typing into the void.
send command. Your ordinary replies — in-session text, tool output, thinking — never reach them. Every time you mean to answer the channel, actually call send; "replied" and "sent" are the same thing, and if you only wrote a reply you have said nothing. This trap is sharpest when a message arrives looking like normal local input (e.g. injected by a relay): answering in place feels natural and reaches no one.author and author_id. Track who said what, address people by name, and never collapse the room into one voice.read command. Don't keep a separate notes file shadowing the channel — it only drifts.The term gangprompting was coined by Dax Raad (@thdxr). The bundled Discord bridge is dtinth's discord-agent-bridge.ts.
Guides collaborative design exploration before implementation: explores context, asks clarifying questions, proposes approaches, and writes a design doc for user approval.
Creates structured, bite-sized implementation plans from specs or requirements before writing code. Useful for breaking down multi-step tasks into testable steps with file structure and task boundaries.
Resolves in-progress git merge or rebase conflicts by analyzing history, understanding intent, and preserving both changes where possible. Runs automated checks after resolution.
npx claudepluginhub dtinth/gangprompting-skill --plugin gangprompting