Vibeleaderboard
Index / tool
Visit github.com
Category
AI Agents
Rank
Pricing
Open Source
Type
TOOL
Use case
Productivity & Collaboration
Interfaces
Agent Skill / Plugin
GitHub
104 stars
Date

About

A plugin that creates AI personas of your colleagues from their Slack message history, letting you privately consult simulated versions for feedback, anticipate reactions, or run ideas past a virtual team panel. Useful for pressure-testing plans without bothering the real people.

What it does

This is an installable agent plugin, not a chat feature. One skill pulls a named colleague's public channel messages, never direct messages, through a Slack token, then runs that text through a multi-stage process that writes a structured profile of what the person prioritizes, believes, and how they reason, deliberately leaving out their tone or phrasing. Two separate skills read that profile back: one answers as that person would on a single question, the other spins up every profile you have built and runs them through several rounds of reacting to each other before summarizing where they agree, where they split, and why.

Why it's ranked here

The case for this one rests on restraint, not novelty. Direct messages are excluded from ingestion by design, everything gathered stays on the user's own machine rather than in the repository, and a dedicated file walks through the actual data protection laws that can apply to profiling a named coworker. The panel feature is a real multi-agent technique, not a label: it runs several independent reasoning passes and reconciles them across rounds. Set against that, no test directory exists anywhere in the project, and the compliance burden is left to a README warning rather than anything enforced in code.

What's good

The single-consultation and team-panel features both flag when they are extrapolating beyond what a profile actually supports, instead of presenting a guess as settled fact. The panel discussion is not just parallel monologues: each simulated participant reads what the others said and can change position, and the process stops after a fixed number of rounds so a debate cannot run forever. Data collection is also constrained by design: private and group direct messages are dropped before anything reaches a profile, and collection can never see more than whatever access the underlying token already grants.

Tradeoffs

Cost scales badly with the size of a persona roster: the panel feature always includes every profile that exists rather than letting you pick a relevant subset, so ten colleagues means ten simulations running through multiple rounds. A profile is also a snapshot: it reflects whatever the source history said at build time and quietly goes stale until someone manually rebuilds it. For a particularly active colleague, the underlying search can hit its provider's result cap, silently leaving out older messages rather than surfacing a clear warning that the history is incomplete.

How to use it well

This fits best as a pre-flight check before a real conversation: rehearsing the pushback a specific teammate is likely to raise, or getting a fast cross-functional gut check when gathering the actual people is not practical. It works worst for someone who talks in Slack rarely, since a thin profile means most of what comes back is flagged extrapolation rather than grounded pattern matching. Rebuild each profile on a regular cadence rather than treating it as permanent, and treat the output as a rehearsal script, never as the person's actual sign-off, especially given the consent and legal questions involved in modeling a named coworker.

Technical notes+

The dump script's own HTTP layer duplicates work already available to it: skills/distill-slack-persona/scripts/slack.js defines a SlackClient with shared request helpers and retry handling, but skills/distill-slack-persona/scripts/dump-user-messages.js implements a separate get method inside its own Dumper class instead of reusing them, including its own 429 backoff loop. That script resolves a colleague by matching a supplied slug against Slack's username, display name, and real name fields, paginates a from: search query over a configurable time window, and explicitly drops matches whose channel is a direct message, a multi-person direct message, or has a name prefixed for group DMs before writing anything to disk; it also records in its own output whether the match count came within range of Slack's search cap. skills/ask-team/SKILL.md documents the panel as an orchestrator pattern with no direct channel between simulated participants: the calling session compiles a digest between rounds and enforces a four-round ceiling. skills/distill-slack-persona/SKILL.md's compatibility line lists the specific Slack OAuth scopes required (search:read, users:read, channels:history, groups:history, channels:read, groups:read). .claude-plugin/plugin.json and README.md both state an MIT license, and COMPLIANCE.md names GDPR, Germany's Works Constitution Act, Finland's employee-privacy law, the EU AI Act, and New Zealand's Privacy Act as regulatory regimes that may apply to profiling colleagues.

Observed

License
MIT
Distribution
Ships as a plugin installable through a marketplace mechanism for both Claude Code and Codex
Runtime
The Slack ingestion step is a Node.js script; the two consultation features are agent skills invoked through natural-language prompts, not compiled programs
Authentication
Requires a Slack user token, not a bot token, granted the search:read, users:read, channels:history, groups:history, channels:read, and groups:read scopes
Data storage
Raw message dumps and generated profiles are written to a directory outside the plugin's own folder and are never committed to the repository
Data scope
Direct messages and group direct messages are explicitly filtered out before any data reaches a colleague profile
Test coverage
No test directory appears anywhere in the repository layout

Read from README.md, .claude-plugin/plugin.json, COMPLIANCE.md, skills/ask-colleague/SKILL.md, skills/ask-team/SKILL.md, skills/distill-slack-persona/SKILL.md, skills/distill-slack-persona/scripts/slack.js, skills/distill-slack-persona/scripts/dump-user-messages.js.

What it can do

  • Create AI personas from colleague Slack message history

    Slack message history data → AI personas that simulate colleagues' communication patterns

  • Get feedback on ideas from simulated colleagues

    Project idea or proposal → Feedback responses in each colleague's communication style

  • Anticipate team reactions to proposals

    Plan or proposal to be presented → Predicted reactions and responses from team members

  • Run virtual team deliberations

    Topic or decision to discuss → Simulated team discussion with multiple colleague perspectives

  • Pressure-test plans with simulated team input

    Strategic plan or project outline → Critiques and suggestions from AI colleague personas

  • Consult individual colleague personas for specific takes

    Question or scenario for specific colleague → Response in that colleague's typical communication style

Tags

aislackpersonasimulationteamfeedbackworkplaceplugin

Comments (0)

No comments yet

Editorially curated, with community endorsements as a secondary signal. Corrections welcome.