Skip to content
Development
Skill

/council-creator

Expert-council meeting protocol. Given a Brief + a persona cast (from persona-generator), propose the council to the Team Manager, and once convened FACILITATE it: each round post a NEW group message that @-mentions the persona-agents by their ASCII usernameSlug, collect their

BOOST
From plugin
prismercloud
1.6k102 skills
Install
$ npx -y skills add Prismer-AI/PrismerCloud --skill council-creator --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/council-creator

Context preview

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

Expert-council meeting protocol. Given a Brief + a persona cast (from persona-generator), propose the council to the Team Manager, and once convened FACILITATE it: each round post a NEW group message that @-mentions the persona-agents by their ASCII usernameSlug, collect their

SKILL.md

council-creator.SKILL.md
name: council-creator
scope: common
description: >
  Expert-council meeting protocol. Given a Brief + a persona cast (from
  persona-generator), propose the council to the Team Manager, and once convened
  FACILITATE it: each round post a NEW group message that @-mentions the
  persona-agents by their ASCII usernameSlug, collect their independent replies,
  stage-summarize, exchange memory, and settle into a disagreement map + report
  + memory writeback + task drafts. Personas are REAL agents (role instances),
  each speaking from its own session — you are the facilitator, NOT a puppeteer
  playing five roles. The group stays resident for @persona follow-ups. This is
  a PLAYBOOK the workspace orchestrator executes.
license: MIT
compatibility:
  - prismer-sdk
  - hermes
metadata:
  category: council
  disclaimerRequired: true

Council Creator

**How they speak together.** A **facilitation playbook** layered onto the workspace orchestrator. There is **no "Council Agent"** — but you are **not** the only execution unit either: each persona is a **real agent** (a role instance provisioned at convene), with its own identity, dispatch, and LLM session. Your job is to **facilitate** — set the agenda, @-mention personas, collect their replies, summarize, exchange memory — **never** to speak for them. Load this skill after `persona-generator` has produced a cast.

| Do | Do NOT | | --- | --- | | propose the council to the Team Manager (`--plan <planId>` + one sentence), then **stop and wait** | **Convene it yourself** — that is the Team Manager's one click, and no command exists for it | | facilitate: each round post a NEW group message that **@-mentions personas by ASCII `usernameSlug`** | Speak a persona's words yourself — personas are real agents, they reply on their own | | collect the personas' replies, stage-summarize, exchange memory | @-mention a persona by its Chinese `displayName` (silently drops → 0 dispatch) | | settle: disagreement map + report + memory + task drafts | Generate persona definitions (persona-generator) | | Keep the group resident; answer @persona follow-ups | Narrate status chatter into the group between rounds | | Say plainly when the Brief does not stand | Chain persona↔persona relays (burns the hop budget — see hop rule) |

You execute this through the `prismer council` CLI + normal group messages

**The lifecycle commands are real: `plan`, `propose`, `finalize`.** A council exists only when `plan`/`propose` have run and the Team Manager has convened; the discussion itself is **normal group messages that @-mention the persona-agents** (not a CLI command). Writing a document that *describes* a roundtable creates nothing, and reporting it as done is a false claim of delivery. If you cannot get past a phase, say what failed and why. Never substitute prose for the protocol.

**When to start:** the Team Manager does not ask for "a council" — he drops a deck, or says "帮我找几个人聊聊这个 idea", or asks a question that plainly needs positions other than his own. That is your cue to read the material, assemble the Brief, run `persona-generator`, and **propose**. You start the flow; he only decides whether to hold it.

Phase A  plan      prismer council plan     --file plan.json      →  planId
         propose   prismer council propose  <ceoConvId> --plan <planId> --text "一句人话"
                   ↓  ⛔ YOU STOP HERE. The Team Manager clicks [好,开吧].
Phase B  convene   — no command exists. The Team Manager's click instantiates the persona-agents + group.
Phase C  facilitate (you receive a "facilitate round N" task) → post ONE new group message
                   that @-mentions the personas by ASCII usernameSlug → each persona-agent
                   replies on its own session → you collect + summarize, then STOP.
Phase D  settle    (you receive a settle task) → prismer council finalize <convId> --file report.json
readback           prismer council report   <convId>

`--workspace-id` defaults to `$PRISMER_WORKSPACE_ID`. Nested bodies come in as a JSON file you write first (shapes below). Each command prints the endpoint's JSON response; a nonzero exit means the phase did **not** happen.

The Team Manager gets exactly one decision — and it is not yours to take

Read this before anything else. **You cannot convene.** There is no `council convene` command, on purpose. The whole flow gives the Team Manager one single decision — *"好,开吧"* or *"先不用"* — and that click is what creates the group. Your job in Phase A ends with `council propose`: the `planId` and one human sentence, and then **you stop and wait**.

**You do NOT pass the cast.** The cloud fills the head-avatars preview on the proposal bubble by reading the cast straight out of your plan draft (`councilPlan.cast` — the same `PersonaDef[]` you gave `council plan`) and projecting only the display-safe subset (never the per-turn `voice`). So all you give `propose` is `--plan <planId>` + `--text "一句人话"` — say, in plain words, *why these positions*. The cloud guarantees the component data; you cannot leave the roster preview empty by forgetting a flag (that was the real e2e failure — 28 §L1). The only variant is `--gap` (Brief did not stand — there is no cast to show).

Do not "helpfully" push past this. Do not describe the roundtable you would have held. Do not write the report early. A council the Team Manager never agreed to is not a council, and a document describing an unheld discussion is a fabricated deliverable — the exact thing this skill exists to make impossible.

What the Team Manager sees is a bubble in your conversation:

> 读完了。这件事牵涉几个很不一样的位置 —— 量产过来人、早期投资人、发动机工程师、 > 政府采购方,各自能看到你看不到的一块。要不要我请他们来聊聊? >   [👤👤👤👤👤 5 位 ⌄]  **[好,开吧]** **[先不用]**

That sentence is yours to write (`--text`). It should say *why these positions*, in plain language, from what you actually read. Never name internal machinery (`lens`, `cast`, `Brief`, `persona`) to the Team Manager.

The Brief hard gate — and what to do w

Read more
Ships withprismercloud

Prismer Cloud

Get the whole plugin
Stats
1,554
Stars
17
Forks
Active
Maintenance
TypeScript
Language
MIT
License
2d ago
Last commit
6mo ago
Created

Repo: Prismer-AI/PrismerCloud

Other skills on prismercloud.