Skip to content
AI & Agents
Skill

/ask-team

Convene a simulated panel of colleague personas to deliberate a question together — each persona becomes its own research agent, they react to each other's positions over multiple rounds, and the panel converges on a synthesized conclusion. Use when the user wants more than one

BOOST
From plugin
synthteam
1233 skills
Install
$ npx -y skills add nickwinder/synthteam --skill ask-team --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/ask-team

Context preview

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

Convene a simulated panel of colleague personas to deliberate a question together — each persona becomes its own research agent, they react to each other's positions over multiple rounds, and the panel converges on a synthesized conclusion. Use when the user wants more than one

SKILL.md

ask-team.SKILL.md
name: ask-team
description: Convene a simulated panel of colleague personas to deliberate a question together — each persona becomes its own research agent, they react to each other's positions over multiple rounds, and the panel converges on a synthesized conclusion. Use when the user wants more than one perspective on a decision, a cross-functional gut-check, a debate between viewpoints, or a comprehensive answer that surfaces where teammates would agree and disagree. Invoke when the user says "ask the team", "/ask-team ...", "what would the team think", "get a panel on this", "run this past everyone", "convene the personas", or asks for multiple colleagues' takes at once. For a single colleague's take, use ask-colleague instead.
compatibility: Requires distilled persona docs at ~/.synthteam/personas/<slug>.md (built by the distill-slack-persona skill). Spawns one general-purpose subagent per persona per round — expect roughly 8–12 subagent runs per call.

Ask the Team

Convene a panel of distilled colleague personas, let each one research and form a position, have them react to each other across rounds, and synthesize a neutral conclusion. The value is not any single answer — it's the *deliberation*: where the personas converge, where they genuinely split, and what nobody can resolve without the real people.

Each persona is the same kind of substance-focused simulation as `ask-colleague`: it captures **what they know, what they believe, and how they decide** — not how they sound. No voice mimicry.

How "communication between agents" actually works

Subagents are isolated — they cannot message each other directly. You, the session running this skill, are the **orchestrator** and the only channel between them. Communication happens as *rounds*: every persona answers, you compile everyone's answers into a digest, then you re-spawn each persona with that digest so they can react. Iterate until positions stabilize.

Phase 0 — Announce

Say: "Convening a simulated panel — <names>. These are substance-focused simulations grounded in each person's Slack history, deliberating in rounds. Not the real people."

Phase 1 — Assemble the panel and the briefing packet

**Find the personas.** Persona docs live in the shared data dir at `~/.synthteam/personas/` (if `SYNTHTEAM_HOME` is set, use that directory instead of `~/.synthteam`). Every `<slug>.md` file in that directory is a panelist. The whole roster sits on every panel — do not pre-filter by topic.

If the directory is empty or missing, stop and point the user at the `distill-slack-persona` skill, which dumps Slack history and builds the persona docs.

**Build the briefing packet.** This is the single shared input every persona receives, so assemble it once, carefully:

  • The user's question, stated precisely.
  • Every source the user supplied — pasted text, file contents, links, and relevant context from the current conversation. Personas can research further, but they should not have to reconstruct what the user already provided.
  • Any constraints the user named (deadline, audience, what's already decided).

Keep the packet self-contained: a subagent sees only what you pass it.

Phase 2 — Round 1: independent positions

Spawn **one general-purpose subagent per persona, all in the same turn** so they run in parallel. Each subagent prompt contains:

  • The absolute path to that persona's doc (`~/.synthteam/personas/<slug>.md`, expanded to an absolute path), with instruction to read it in full and internalize the decision-making patterns section especially.
  • The briefing packet.
  • Latitude to research: "You may use web search and other tools to investigate before answering. The persona's existing knowledge is your anchor, but you are not limited to it."
  • The persona contract (below).
  • The Round 1 response format (below).

Persona contract (every round, every persona)

  • Reason in first-person *as that persona would reason* — first-person is for perspective-taking, not voice. No imitation of phrasing, no catchphrases.
  • Ground every claim in the persona doc — observed positions or decision-making patterns. When extrapolating beyond what the doc covers, say so in-frame: "the doc doesn't show me on this directly, but how I treat <related thing> suggests...".
  • Push back where the persona's patterns indicate they would. The point of a panel is friction — do not soften a real objection to seem agreeable.
  • If the question is genuinely outside the persona's engagement and the decision patterns give no clean extrapolation, say so plainly rather than inventing a position.

Round 1 response format

## Position
One or two sentences — the take, stated first.

## Reasoning
Why, tied to specific decision-making patterns. Cite the channel/date pointers from the persona doc where they back a claim.

## Open questions
- [for: <persona-slug> | anyone] A question whose answer would change or sharpen my position.

## Confidence & gaps
How load-bearing the persona doc is here, and where I'm extrapolating.

Phase 3 — React rounds: iterate to convergence

After collecting a round, **compile the panel digest**: for each persona, their current Position, condensed Reasoning, and Open questions. Route each open question to its addressee.

Then run a react round — re-spawn every persona in parallel, each prompt containing:

  • The persona doc path and the persona contract again.
  • Their *own* prior-round response.
  • The panel digest (everyone else's positions and questions).
  • The questions routed *to them*.
  • The react-round response format (below).

React-round response format

## Stance change
held | sharpened | updated | conceded | hardened — and one line on what moved and why.

## Reaction
Direct engagement with the other personas — name them. Where you agree, say so. Where you disagree, make the objection concrete. A persona conceding a good point is a real outcome, not a failure.

## Answers to questions routed to me
Read more
Ships withsynthteam

A plugin for consulting distilled personas of colleagues — locally, without involving them. Useful for pressure-testing plans, anticipating pushback, or stress-testing decisions through someone else's lens. Personas are simulations, not the real people.

Get the whole plugin
Stats
123
Stars
8
Forks
Maintained
Maintenance
JavaScript
Language
5mo ago
Last commit
5mo ago
Created
16h ago
Added

Repo: nickwinder/synthteam

Other skills on synthteam.