Council
affaan-m/ECC
Convene a four-voice council for ambiguous decisions, tradeoffs, and go/no-go calls.
Given a Council Brief, produce persona-ROLE instance definitions: real, publicly-verifiable people who occupy distinct stakeholder positions on the issue — each a persona-flavored role template…
$ npx skills add Prismer-AI/PrismerCloud --skill persona-generator -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install Prismer-AI/PrismerCloud persona-generator --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/Prismer-AI/PrismerCloud.git skills-src && mkdir -p .claude/skills && cp -r skills-src/sdk/cloud/catalog/skills/persona-generator .claude/skills/persona-generator && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "persona-generator" agent skill from https://github.com/Prismer-AI/PrismerCloud/tree/main/sdk/cloud/catalog/skills/persona-generator into .claude/skills/persona-generator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "persona-generator", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/Prismer-AI/PrismerCloud/tree/main/sdk/cloud/catalog/skills/persona-generatorType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add Prismer-AI/PrismerCloud --skill persona-generator -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install Prismer-AI/PrismerCloud persona-generator --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Prismer-AI/PrismerCloud.git skills-src && mkdir -p .agents/skills && cp -r skills-src/sdk/cloud/catalog/skills/persona-generator .agents/skills/persona-generator && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "persona-generator" agent skill from https://github.com/Prismer-AI/PrismerCloud/tree/main/sdk/cloud/catalog/skills/persona-generator into .agents/skills/persona-generator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "persona-generator", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Prismer-AI/PrismerCloud --skill persona-generator -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install Prismer-AI/PrismerCloud persona-generator --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Prismer-AI/PrismerCloud.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/sdk/cloud/catalog/skills/persona-generator .cursor/skills/persona-generator && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "persona-generator" agent skill from https://github.com/Prismer-AI/PrismerCloud/tree/main/sdk/cloud/catalog/skills/persona-generator into .cursor/skills/persona-generator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "persona-generator", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/Prismer-AI/PrismerCloud.git --path sdk/cloud/catalog/skills/persona-generator--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add Prismer-AI/PrismerCloud --skill persona-generator -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install Prismer-AI/PrismerCloud persona-generator --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Prismer-AI/PrismerCloud.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/sdk/cloud/catalog/skills/persona-generator .gemini/skills/persona-generator && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "persona-generator" agent skill from https://github.com/Prismer-AI/PrismerCloud/tree/main/sdk/cloud/catalog/skills/persona-generator into .gemini/skills/persona-generator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "persona-generator", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install Prismer-AI/PrismerCloud persona-generatorInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add Prismer-AI/PrismerCloud --skill persona-generator -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/Prismer-AI/PrismerCloud.git skills-src && mkdir -p .github/skills && cp -r skills-src/sdk/cloud/catalog/skills/persona-generator .github/skills/persona-generator && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "persona-generator" agent skill from https://github.com/Prismer-AI/PrismerCloud/tree/main/sdk/cloud/catalog/skills/persona-generator into .github/skills/persona-generator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "persona-generator", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Prismer-AI/PrismerCloud --skill persona-generator -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install Prismer-AI/PrismerCloud persona-generator --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Prismer-AI/PrismerCloud.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/sdk/cloud/catalog/skills/persona-generator .opencode/skills/persona-generator && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "persona-generator" agent skill from https://github.com/Prismer-AI/PrismerCloud/tree/main/sdk/cloud/catalog/skills/persona-generator into .opencode/skills/persona-generator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "persona-generator", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
persona-generatorGiven a Council Brief, produce persona-ROLE instance definitions: real, publicly-verifiable people who occupy distinct stakeholder positions on the issue — each a persona-flavored role template…
Persona Generator is an agent skill from Prismer-AI/PrismerCloud. Given a Council Brief, produce persona-ROLE instance definitions: real, publicly-verifiable people who occupy distinct stakeholder positions on the issue — each a persona-flavored role template (lens / voice / SOUL + the persona-skill capability boundary + icon + an ASCII usernameSlug), handed to convene (council-creator) to be instantiated as a REAL agent. (Search grounding of each person is done by the cloud /councils/plan handler, not by this skill.) Use when the workspace orchestrator needs to convene an…
Its SKILL.md is about 4.1k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts. Compatibility notes: ["prismer-sdk","hermes"]
The licence is MIT.
7 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit e5d9444. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are jsonc).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
["prismer-sdk","hermes"]
From compatibility in the SKILL.md frontmatter.
Persona Generator loads about 4.1k tokens when it runs. Until then it costs about 211 tokens; SKILL.md has 1,848 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from Prismer-AI/PrismerCloud at commit e5d9444, republished under its MIT licence (© Prismer-AI). 1,848 words, ~4,126 tokens.
.claude/skills/persona-generator/SKILL.md (or your agent's skills folder).Who speaks. Given a Council Brief (assembled by the orchestrator from the
Team Manager's materials + memory), produce cast: PersonaDef[] — 3–5 people occupying
distinct stakeholder positions, each contributing the one thing only their
position lets them see. This is a capability skill: the orchestrator calls
it to produce data — a set of persona-role instance definitions. Each cast
member is a persona-flavored role template def (lens / voice / SOUL + the
persona-skill capability boundary + icon + an ASCII usernameSlug) that convene
will instantiate as a real agent (createAgentForWorkspace + applyToAgent,
M2). It is not a virtual im_users mask — persona = role instance.
| Do | Do NOT |
|---|---|
| Enumerate stakeholder positions for the issue | Create the council group (council-creator) |
| Pick one real person per position | Drive or moderate the discussion (council-creator) |
Produce seesWhatOthersDont per person | Write memory (settle phase, via memory skill) |
| Emit voice (per-turn instructions) per person | Parse / extract materials (orchestrator tool-skills) |
Hand the cast to cloud /councils/plan for grounding | Run search verification / supply quotes yourself (cloud does it) |
Read droppedCast[] and substitute for dropped people | Invent people, quotes, or citations — ever |
A discussion is a plurality of viewpoints, not a positive-vs-negative game. Convene people of different identities, professions and stakes; each speaks from their own position. If disagreement emerges it is the natural result of plural perspectives — it is never something you construct. Do not hunt for "an opposing side"; a target function of "construct opposition" structurally excludes the two most valuable classes of people: insiders (dismissed as same-camp) and people who reject the axis entirely (nowhere to stand on it). The UI language is "讨论组" (discussion group), never "吵一架".
Before picking anyone, enumerate the positions whose duty / expertise / stake touches this issue:
运营执行者 / 出资人 / 监管者 / 同行实践者 / 下游客户 / 一线员工 / 被影响的第三方 …For every person you MUST state seesWhatOthersDont — not "which side they
are on", but "standing here, they can see X that nobody else at the table
can". This field is the core output of the skill.
displayName: "Elon Musk", subtitle: "SpaceX CEO"). Compliance is
carried by the disclaimer, never by renaming — "Elon-style Strategy
Lens" style abstractions are forbidden (nobody wants to chat with a
concept). Internal terms (persona, lens) never surface in UI copy.usernameSlug (load-bearing — this is the persona-agent's @-handle):
ascii [a-zA-Z0-9_-], 3–20 chars, lowercase slug of the person (e.g.
elon-musk). It must NOT start with the reserved prismer- segment. Final
uniqueness (<slug>-<conv8> + dedupe suffix) is enforced by the cloud at
convene time — you only produce the candidate slug. Why it MUST be ASCII:
once instantiated (M2), the persona-agent is addressed in the group only
by @<usernameSlug>. The mention router (agent-dispatcher.ts MENTION_RE)
is strict ASCII — a bare @中文displayName matches nothing and is silently
dropped, so a non-ASCII slug would leave the persona unreachable (0
dispatches, the exact 0/5 failure). The Chinese displayName is display-only;
it never routes.You only produce candidates — position + real person + seesWhatOthersDont
usernameSlug. Do NOT run search verification yourself and do NOT
supply any realCredential / whySelected quotes. Grounding is performed by
the cloud /api/im/councils/plan handler after you hand over the cast./api/search). The daemon web_search tool you can
reach routes through /api/context/load→/api/compress, so it returns
LLM-rewritten prose, not the original text — you physically cannot obtain
the verbatim snippet the substring check needs. Any quote you write from
memory would be a fabrication that the cloud check exists to reject."<displayName> <topic terms>" and requires the person's name + a topic term
to co-occur inside the same sentence ("some results exist" / "snippet
contains the keyword" passes off-topic celebrities — 04 §2.5 实测:
李开复+商业航天 returned 5 named-but-off-topic hits). Grounded → the persona is
kept with groundingSource='searched' and verbatim quote evidence. 0
co-occurrence → the person is dropped from the cast and returned in the plan
response's droppedCast[] — read it and substitute someone else for that
position (do NOT patch up the quote).groundingTerms (optional but recommended for mixed-language topics): you
MAY attach a short groundingTerms: string[] per candidate — the topic keywords
in the language this person's public record is in (English for "Elon Musk",
中文 for a 中文人物). The cloud grounds against these instead of naively
tokenizing the question. Without them, a Chinese question ("2026年商业航天进展")
tokenizes to CJK bigrams that won't match an English-record person → that person
is wrongly dropped. So for an English-record person on a Chinese topic, supply
e.g. ["commercial spaceflight", "launch cost"].⚠️ This tiering is applied by the cloud grounding step, not by you — it is shown here so you understand what happens to your candidates. You never set
groundingSourceyourself. In the current implementation a candidate that is notsearchedis returned indroppedCast[]for you to substitute.
The criterion is "can it be found by search?" — programmatically checkable — never "does the model know enough?" (unverifiable; models claim they do).
| Condition | Strategy | groundingSource |
|---|---|---|
| Name + topic co-occur in one sentence of a snippet | Use its verbatim substring as the quote | searched |
| Not searchable, including user-material-only candidates | Returned in droppedCast[]; propose a different verifiable candidate or ask for a changed roster | not accepted |
| No candidate can be verified | Stop the proposal and explain the missing evidence; do not fabricate personas | not accepted |
user_materials and role_label are not current accepted fallback tiers.
Do not set either yourself or claim the cloud accepted them. A conceptual
role-label discussion can be separately requested, but is not this real-agent
council workflow. Never fabricate quotes to keep a famous name.
Icon fetching and cropping run as pure code on the cloud (Serper image
search → Content-Type + magic-bytes double gate → aspect-ratio cull only
(0.6 ≤ ar ≤ 1.7, never re-rank by squareness — Google's own ranking encodes
"this is the standard portrait") → top-edge square crop, no face-detect).
Your responsibility is only to carry the resulting iconAssetRef (an
im_assets id) into the PersonaDef, or null when nothing usable was found —
the frontend degrades to a monogram. Never inline image bytes or hotlink URLs.
voice = the persona-role's speaking instructions (markdown): the position,
speaking style, and disclaimer discipline. Because persona is now a role
instance (not a mask), voice — together with lens and a SOUL 特例档 — is what
convene bakes into the persona-agent's role template at instantiation, so the
agent speaks in-character from its own session (no one plays five roles).
Write voice as durable, self-contained instructions the standalone agent can
carry across turns, not one-off remarks. At convene time the cloud persists it
onto the persona-agent so later @<usernameSlug> follow-ups reuse it.
POST /api/im/councils/plan cast){
"cast": [
{
"id": "elon-musk", // slug — also the personaId in council metadata
"displayName": "Elon Musk", // REAL name; compliance rides the disclaimer
"subtitle": "SpaceX 创始人兼 CEO", // who this person IS — from primary sources only
"usernameSlug": "elon-musk", // ascii @-handle 3-20, no 'prismer-'; cloud dedupes — the ONLY way to reach this persona
"iconAssetRef": null, // im_assets id from the cloud icon service, or null
"position": "同行实践者(已量产的商业航天创始人)",
"seesWhatOthersDont": "复用一子级的真实成本曲线与产线爬坡节奏",
// ⚠️ Do NOT supply realCredential / groundingSource — the cloud fills these
// from live search after grounding (step 2.5). Omit them from your output.
"voice": "Speak as a first-principles propulsion founder. Terse. Numbers first. 你是公开资料蒸馏的视角,非本人;Brief 未提供的公司事实一律说「Brief 未提供」。",
"disclaimer": "公开资料蒸馏视角,非本人"
}
]
}No stance field (the meta-goal is plural viewpoints, not sides). No lens
field (a stance is the runtime product of facts × issue, not a stored
attribute). Input: { brief, requestedPersonas?, n? } (default n = 3–5).
A persona never carries company facts of its own. Everything about the
company comes from the Council Brief the orchestrator assembled. If a persona
is asked to assert a company fact the Brief does not provide, it must say
"Brief 未提供" or mark needsVerification — never improvise. This is the
architectural cure for "stylized bubbles making things up", not a disclaimer.
Bake this discipline into every voice you emit.
At settle, council-creator turns this discipline into a wire contract: the
report's claims[] each carry sourceRefs[] (the real material a fact stands
on) + needsVerification, and unanswerable facts land in gaps[]. So your
voice must instruct the persona to speak in grounded, attributable claims
— tie each factual statement to the Brief fact it uses, and say "缺数据" (→
needsVerification=true, sourceRefs=[]) rather than inventing a number, so
council-creator can emit an honest structured report downstream.
Eval judges the generator (input: a Brief; assertions over the cast as a set), never a single persona. Code-enforceable oracles are the two grounding checks (substring + same-sentence co-occurrence); the set-level assertions below are eval judgements (semantic classification):
| Assertion | Criterion |
|---|---|
| Positions distinct | N personas occupy N different stakeholder positions; no two share one |
| Insider view present | ≥1 person sits where outsiders cannot see (operator / front-line / former insider) |
| No fabricated people | every displayName is real and publicly verifiable (realCredential non-empty) |
| Risk coverage | cast covers ≥3 of: capital / tech / market / org / compliance |
| Grounding real | every quote is a snippet substring + same-sentence co-occurrence (code check) |
| Brief boundary | no persona asserts company facts beyond the Brief |
| Honest degradation | unsearchable → droppedCast[], substitute or stop; never fabricate a quote |
An exceptionally good cast can be saved as a persona-pack skill (static
snapshot, metadata.category: council, personaPolicy: public_distillation,
disclaimerRequired: true) and published to the marketplace for fork / rate /
compose. This is a third, non-default path — the default is always fresh
generation against the current Brief.
N/A. This skill declares no config: block. Grounding credentials
(search API keys) live cloud-side as Nacos global config consumed by the
/api/im/councils/plan handler and /api/search — they are never
agent-bound, so there is nothing for the skill-config binding system to carry
(product204/09 boundary ruling, CONFLICT-7).
Will Smith as Relativity's CEO — the real CEO is Tim
Ellis). Swap positions instead.stance / picking a side for anyone.© Prismer-AI, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in sdk/cloud/catalog/skills/persona-generator of Prismer-AI/PrismerCloud.
Open the folder on GitHubat commit e5d9444
Persona Generator next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Persona Generator this skillPrismer-AI/PrismerCloud | 1.6k | — | ~4.1k | Automated safety check: Pass | MIT | |
| Councilaffaan-m/ECC | 277k | 2 repos | ~1.6k | Automated safety check: Pass | MIT | |
| Councilaffaan-m/ECC | 276k | — | ~963 | Automated safety check: Pass | MIT | |
| Councilaffaan-m/ECC | 276k | — | ~653 | Automated safety check: Pass | MIT | |
| Briefalirezarezvani/claude-skills | 28k | — | ~967 | Automated safety check: Pass | MIT | |
| Council0xNyk/council-of-high-intelligence | 4.6k | 1 repos | ~14k | Automated safety check: Pass | MIT |
affaan-m/ECC
Convene a four-voice council for ambiguous decisions, tradeoffs, and go/no-go calls.
affaan-m/ECC
曖昧な決定、トレードオフ、ゴー/ノーゴーの判断のために4つの声のカウンシルを召集します。複数の有効なパスが存在し、選択前に構造化された異議が必要な場合に使用します。
affaan-m/ECC
召集四方会议处理模糊决策、权衡取舍及继续/停止决策。当存在多个有效路径且需要在选择前进行结构化异议时使用. An agent skill from affaan-m/ECC.
alirezarezvani/claude-skills
/cs:brief <topic — Generate a one-page strategy brief from an office-hours intake.
0xNyk/council-of-high-intelligence
Convene the Council of High Intelligence — multi-persona deliberation with historical thinkers for deeper analysis of complex problems.
n8n-io/n8n
Load when the request depends on what is already on this instance rather than on what the user just typed: a short or ambiguous opener ("fix it", "carry on", "what should I look at"), a reference to…
Prismer-AI/PrismerCloud
Gives an agent account-scoped access to Gmail, Calendar, Drive, Contacts, Docs and Sheets through the gws CLI or a bundled Python client.
Prismer-AI/PrismerCloud
Walks an agent through creating, importing, editing, validating, testing and publishing Prismer Skills with a fixed workflow and bundled scripts.
Prismer-AI/PrismerCloud
Operates a mailbox from the terminal with the external Himalaya CLI over IMAP, SMTP, Notmuch or Sendmail, separate from any built-in email gateway adapter.
Prismer-AI/PrismerCloud
Generates one image from a text prompt with a bundled Node.js helper and delivers it once as the attachment to the current Prismer reply.
Prismer-AI/PrismerCloud
Produces 3Blue1Brown-style explainer animations with Manim Community Edition for math, algorithms, equations and architecture diagrams, with planning and rendering references.
Prismer-AI/PrismerCloud
Creates or updates Prismer role templates from a persona, SOP or job description, and turns a role into a working agent that runs its first task through a bundled script.
Given a Council Brief, produce persona-ROLE instance definitions: real, publicly-verifiable people who occupy distinct stakeholder positions on the issue — each a persona-flavored role template…. Persona Generator is an agent skill from Prismer-AI/PrismerCloud. Given a Council Brief, produce persona-ROLE instance definitions: real, publicly-verifiable people who occupy distinct stakeholder positions on the issue — each a persona-flavored role template (lens / voice / SOUL + the persona-skill capability boundary + icon + an ASCII usernameSlug), handed to convene (council-creator) to be instantiated as a REAL agent.
Persona Generator fits situations like: the workspace orchestrator needs to convene an expert roundtable (帮我找几个人聊聊这个 idea).
Run `npx skills add Prismer-AI/PrismerCloud --skill persona-generator -a claude-code`. Or copy the skill folder (sdk/cloud/catalog/skills/persona-generator in Prismer-AI/PrismerCloud) into .claude/skills/persona-generator in your project. Claude Code loads it when a task matches its description.
Run `npx skills add Prismer-AI/PrismerCloud --skill persona-generator -a codex`. Or copy the skill folder (sdk/cloud/catalog/skills/persona-generator in Prismer-AI/PrismerCloud) into .agents/skills/persona-generator in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Prismer-AI/PrismerCloud --skill persona-generator -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/persona-generator, .gemini/skills/persona-generator, .github/skills/persona-generator and .opencode/skills/persona-generator in your project.
SKILL.md names no scripts, command-line tools or credentials: Persona Generator is instructions for the agent only. Compatibility (from SKILL.md): ["prismer-sdk","hermes"].
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Persona Generator is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 4.1k tokens (SKILL.md is roughly 17k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Persona Generator: Council (affaan-m/ECC, 277k stars), Council (affaan-m/ECC, 276k stars), Council (affaan-m/ECC, 276k stars) and Brief (alirezarezvani/claude-skills, 28k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Prismer-AI (a GitHub organization) maintains it in Prismer-AI/PrismerCloud, which has 1,555 GitHub stars. The repository holds 88 skills in this directory. The repository was last updated on September 30, 2026.
Source: Prismer-AI/PrismerCloud on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.