Skip to content
Back to skills

Clarity Council

ASecurity

Facilitates structured single-persona or multi-persona consultation for strategy, product, engineering, operations, and risk decisions. Use when the user requests a council, multiple perspectives, persona advice, tradeoff analysis, or iterative clarification and debate.

  • 2 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 6, 2026
ai-agentsgosecurity

Works with

  • claude code

Security analysis

A100/100

Pro scans all 4 files and shows the line behind each finding

Scanned September 25, 2026

npx -y skills add risadams/ink-and-agency --skill clarity-council --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Clarity Council?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Clarity Council
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/risadams-clarity-council/badge)](https://www.skillsdirectory.com/skills/risadams-clarity-council)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: clarity-council
category: featured
description: Facilitates structured single-persona or multi-persona consultation for strategy, product, engineering, operations, and risk decisions. Use when the user requests a council, multiple perspectives, persona advice, tradeoff analysis, or iterative clarification and debate.
codex-short-description: "Structured single- or multi-persona consultation for hard decisions"
related-skills:
  - grill-me
  - idea-generate
loop-eligible: false
recurrence-hint: on-demand
compatibility: claude-code codex opencode
---
# Clarity Council

Structured persona-based consultation for decisions that benefit from expert perspectives. The
council runs entirely inline in one of three **modes** — nothing depends on a separate subagent, so
it behaves identically on every host.

Every perspective is a **lens** defined in [LENSES.md](LENSES.md) — one file holding each lens's
decision lens, output requirements, and blind spot, plus aliases and pre-made panels. Callers still
say "persona"; a persona name is a lens name.

Use it for expert opinion, synthesized viewpoints, iterative decision-making, or tradeoff analysis — not for pure factual lookup with no decision component.

## Which mode?

| Mode | When | Feel |
| :--- | :--- | :--- |
| **single** | Focused advice from one expert | Quick (10–15 min) |
| **multi** | A decision needs several viewpoints synthesized | Standard (20–30 min) |
| **iterative** | Multi-turn refinement as constraints emerge | Deep (30–60 min, 3–5 turns) |

Callers select a mode explicitly. A skill invoking the council via `Skill` names the mode
(e.g. "invoke `clarity-council` in **multi** mode with personas `[psychologist, personal-assistant]`").
Users can say "as a senior-architect…" (single), "convene a council on…" (multi), or "run a council,
I'll iterate" (iterative).

## Common inputs

- **Decision/problem** — required.
- **Personas** — optional; which experts to consult (defaults apply per mode).
- **Panels** — optional; pre-made groups from [LENSES.md](LENSES.md#panels).
- **Depth** — optional: `brief` / `standard` / `deep`.
- **Context / constraints / desired outcome** — optional but strongly recommended.
- **Iterative state** — for multi-turn sessions (sessionId, turn, history).

**Resolving a name:** look it up in [LENSES.md](LENSES.md); if it's in the alias table, use the lens
it maps to. An unknown name → say so and pick the closest lens rather than inventing one.

---

## Mode: single

Deliver focused expert perspective from **one** persona. If no persona is named, ask which
perspective would help most.

**Workflow**

1. **Confirm the lens.** Resolve the name in [LENSES.md](LENSES.md).
2. **Understand the problem.** Ask a clarifying question only if a hard constraint (state, decision,
   budget/timeline/compliance, definition of success) is ambiguous.
3. **Apply the lens.** Frame the analysis through its decision lens and satisfy its output
   requirements (e.g. senior-architect → structural/scalability impact; security-expert → attack
   surface/compliance; devils-advocate → challenge the obvious).
4. **Produce structured advice** (template below).
5. **Quality checks:** advice tied to the persona's focus (not generic); assumptions separated from
   facts; at least one concrete next step; confidence justified; blind spots flagged where they matter.

If the user then wants multiple perspectives → switch to **multi**; back-and-forth refinement →
**iterative**.

### Single-persona output

```markdown
summary: <short answer>
advice:
- <point>
assumptions:
- <assumption>
questions:
- <question>
next_steps:
- <action>
confidence: <low|medium|high>
```

---

## Mode: multi

Convene several personas, collect each perspective, then **synthesize**. Synthesis is mandatory —
do not just list opinions.

**Default panels** (if no personas named; ask if the panel doesn't fit):

- **Architecture** — senior-architect, senior-developer, qa-engineer, tech-lead, ops-architect, devils-advocate
- **Feature/product** — product-owner, senior-developer, ux-designer, customer-advocate, tech-lead, devils-advocate
- **Hiring/people** — culture-lead, product-owner, senior-architect, devils-advocate
- **Risk/security** — security-expert, compliance-officer, senior-architect, ops-architect, devils-advocate
- **Financial/business** — financial-officer, product-owner, business-owner, ops-architect, devils-advocate
- **Estimation** — scrum-master, tech-lead, senior-developer, qa-engineer

More panels (`product-delivery-core`, `investigation-and-diagnosis`, `stakeholder-reporting`,
`quick-pulse`, …) are in [LENSES.md](LENSES.md#panels); expand a slug into its lenses before consulting.

**Workflow**

1. **Classify & prepare.** Confirm the problem; load/expand personas; dedupe, preserve requested order.
2. **Consult each persona** using the single-mode method. **Collect all responses before
   synthesizing — do not synthesize as you go.**
3. **Synthesize across five dimensions:** Cost vs Speed · Risk vs Reversibility · Short-term vs
   Long-term · Confidence (evidence vs assumption) · People Impact.
4. **Agreements** — where two or more personas converge (strong evidence).
5. **Conflicts** — **name the dimension** ("they disagree on reversibility", not "they disagree") and
   give each a decision table.
6. **Risks & tradeoffs** — what could go wrong; what the user is choosing between; underweighted
   blind spots.
7. **Next steps** — 2–4 concrete actions that reduce ambiguity or resolve conflicts.
8. **Quality checks:** agreements separated from conflicts; every conflict has a dimension + table;
   next steps concrete; blind spots acknowledged.

If the user needs iterative back-and-forth → switch to **iterative**; a single perspective needs a
deeper dive → **single**.

### Multi-persona output

```markdown
responses:
- persona: <name>
  summary: <short answer>
  advice:
  - <point>
  assumptions:
  - <assumption>
  questions:
  - <question>
  next_steps:
  - <action>
  confidence: <low|medium|high>

synthesis:
  agreements:
  - <point>
  conflicts:
  - dimension: <Speed|Reversibility|Risk|People|Confidence>
    table: |
      | Option | Benefit | Risk | Who Favors |
      | --- | --- | --- | --- |
      | A | ... | ... | ... |
      | B | ... | ... | ... |
    decision_point: <one-line question that resolves this conflict>
  risks_tradeoffs:
  - <point>
  next_steps:
  - <action>
```

---

## Mode: iterative

Run a multi-turn session: ask targeted clarifications, re-consult the council (multi-mode) with
updated constraints, resolve conflicts, and refine toward a decision. Slower, but catches edge cases
and hidden assumptions.

**Session state** carried each turn: `sessionId`, `turn`, `history` (compact per-turn summaries),
`personas_active`, `conflicts_open`.

**Workflow**

- **Turn 1 — initialize:** load personas (or ask which panel); classify the problem; ask **one**
  clarifying question if ambiguity is high; return `needs_clarification` or `in_progress`.
- **Turn 2+ — iterate:** read the user's answer; update `history`; re-consult the council (multi mode)
  with new constraints; check conflicts; return `needs_clarification`, `in_progress`, or `completed`.
- **Conflict Protocol (mandatory when personas clash):** name the dimension → present a 2–3 option
  decision table → ask **one** targeted question → record the decision in `history` → continue with
  that constraint locked in.
- **Turn limit:** 5–7. Beyond that, suggest narrowing the decision, external stakeholder input, or a
  prototype/experiment.

**Notes:** one question per turn; state carries forward (never make the user repeat constraints);
this surfaces options and tradeoffs — the user decides.

### Iterative output

```markdown
status: <needs_clarification|in_progress|completed>
message: <short user-facing response>
nextAction: <what is needed next>
output:
  <single- or multi-persona structure for this turn>
state:
  sessionId: <id>
  turn: <number>
  decisions_made:
  - <decision>: <rationale>
  conflicts_open:
  - <unresolved conflict>
  history:
  - <compact turn summary>
```

---

## Quality checks (all modes)

Before finalizing:

- recommendations tie to stated constraints
- assumptions separated from facts
- at least one concrete next step
- at least one explicit risk or tradeoff for non-trivial decisions
- every lens named exists in [LENSES.md](LENSES.md)

## Reference files

- [LENSES.md](LENSES.md) — every lens, aliases, and panels
- [EXAMPLES.md](EXAMPLES.md) — worked invocations for all three modes

> **Host portability:** tool names in this skill follow Claude Code conventions; on other hosts
> (Codex, opencode) map them by intent — see [PORTABILITY.md](../PORTABILITY.md).

<!-- self-evolve:start -->
## Self-Evolve Loop
Journal `~/.ink-and-agency/learnings/clarity-council.md` (or workspace-local `.ink-and-agency/` where the sandbox confines writes). Read it first; append what the run taught — [SELF-EVOLVE.md](../SELF-EVOLVE.md).
<!-- self-evolve:end -->

Files in this skill

  • EXAMPLES.md8.4 KB
  • README.md6.5 KB
  • SKILL.md10.1 KB
  • agents/openai.yaml248 B

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.