Agent skill

Design Council

by sjsyrek in sjsyrek/design-council

A skill your agent uses when the user says "convene the council", "design debate", "council review", "get the team together", "run a design review", or "debate this design"; OR describes a…

MITAuto-check passedDevelopment

Install Design Council

skills CLI
$ npx skills add sjsyrek/design-council --skill design-council -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install sjsyrek/design-council design-council --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/sjsyrek/design-council.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/design-council .claude/skills/design-council && rm -rf skills-src

Use ~/.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/

Facts

Skill name
design-council
GitHub stars
181
Token cost
~2.5k tokens
SKILL.md length
1,146 words
Files
24 (incl. references)
Skills in repo
1
Repo updated
First seen
Licence
MIT

At a glance

A skill your agent uses when the user says "convene the council", "design debate", "council review", "get the team together", "run a design review", or "debate this design"; OR describes a…

  • Works in 6 steps: Plan card. Before any seat spawns, the… → Handshake status. After spawn, the CEO… → Cross-talk. Seats post opening verdicts,… → …
  • The user says convene the council
  • SKILL.md covers What the user sees, When to invoke, Default roster (size matches… and Model choice (state it, don't…, plus 7 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Design Council is an agent skill from sjsyrek/design-council. Use when the user says "convene the council", "design debate", "council review", "get the team together", "run a design review", or "debate this design"; OR describes a cross-domain decision or review with real stakes — architecture pivot, API surface, pre-release hardening, codebase-wide audit. Convenes parallel role-specialized agents (default Opus) who debate in real time via inter-agent messaging while the invoking Claude serves as CEO. Do NOT invoke for single-specialist questions, bug fixes, or quick…

Its SKILL.md is about 2.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 25 other files, including reference files (for example `references/decision-log-template.md`, `references/implementation-handoff.md` and `references/opening-prompt-template.md`).

It sits in Development, covering Debugging and Design review and critique. The repository describes itself as: Claude Code plugin: convene 11 role-specialized peer agents to debate a technical decision in real time, with the invoking Claude acting as CEO. The licence is MIT.

When your agent uses it

  • The user says convene the council
  • Get the team together
  • Run a design review
  • Debate this design

Example prompts

  • “convene the council”
  • “design debate”
  • “council review”
  • “/design-council”

Workflow steps

6 steps, taken from the first numbered list in SKILL.md.

  1. Plan card. Before any seat spawns, the CEO shows a one-screen card: mode, roster, per-seat model, rough token/wall-clock budget, drafted…
  2. Handshake status. After spawn, the CEO emits one line — e.g. HANDSHAKE: 8/8 ok | verdict=PROCEED — so you know every seat actually started.
  3. Cross-talk. Seats post opening verdicts, DM each other to debate, CEO routes deadlocks. Bounded: 3 rounds max.
  4. Log preview. Before saving, the CEO posts the draft decision log to chat. Reply save, amend , or discard.
  5. Output. One-page decision log at ~/.claude/councils/-/log.md (outside any repo).
  6. Stop early. Say "stop the council" at any phase — CEO broadcasts shutdown, saves a status: halted partial log, cleans up.

What it can do on your machine

Read from SKILL.md and the folder at commit 79dc402. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Design Council loads about 2.5k tokens when it runs, and up to ~27k if it reads all its reference files. Until then it costs about 135 tokens; SKILL.md has 1,146 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~135
When it runs · the whole SKILL.md, loaded when a task matches
~2.5k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~27k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from sjsyrek/design-council at commit 79dc402, republished under its MIT licence (© sjsyrek). 1,146 words, ~2,500 tokens.

Download SKILL.mdSave it as .claude/skills/design-council/SKILL.md (or your agent's skills folder). This skill also uses 23 other files; get the full folder from GitHub.
name
design-council
description
Use when the user says "convene the council", "design debate", "council review", "get the team together", "run a design review", or "debate this design"; OR describes a cross-domain decision or review with real stakes — architecture pivot, API surface, pre-release hardening, codebase-wide audit. Convenes parallel role-specialized agents (default Opus) who debate in real time via inter-agent messaging while the invoking Claude serves as CEO. Do NOT invoke for single-specialist questions, bug fixes, or quick library picks.
version
0.4.1

design-council

Convene a parallel team of role-specialized agents to debate a non-trivial technical decision (or audit a codebase in Review mode) in real time. The invoking Claude is CEO: convenes, routes peer-DMs, arbitrates deadlocks, writes a one-page decision log. Every teammate has its own context — not a subagent inheriting yours — so disagreement is structural, not simulated.

What the user sees

  1. Plan card. Before any seat spawns, the CEO shows a one-screen card: mode, roster, per-seat model, rough token/wall-clock budget, drafted opening question. You reply go, swap X for Y, drop X, add X, or abort.
  2. Handshake status. After spawn, the CEO emits one line — e.g. HANDSHAKE: 8/8 ok | verdict=PROCEED — so you know every seat actually started.
  3. Cross-talk. Seats post opening verdicts, DM each other to debate, CEO routes deadlocks. Bounded: 3 rounds max.
  4. Log preview. Before saving, the CEO posts the draft decision log to chat. Reply save, amend <note>, or discard.
  5. Output. One-page decision log at ~/.claude/councils/<yyyy-mm-dd>-<slug>/log.md (outside any repo).
  6. Stop early. Say "stop the council" at any phase — CEO broadcasts shutdown, saves a status: halted partial log, cleans up.

Invocation: /design-council:design-council [decision-or-focus] or any of the trigger phrases below.

When to invoke

Both conditions must hold: (a) decision or review crosses ≥2 specialist domains, and (b) output must survive handoff — a decision log, tracker items, or an execution plan. Natural triggers: "convene the council", "design debate", "council review", "run a design review", "debate this design", "get the team together".

Do NOT invoke for: bug fixes, single-specialist questions, library/tool picks, pure exploration (→ Explore), one-turn sanity checks.

Default roster (size matches decision shape)

#SlugOwns
1principal-engineerArchitecture, module boundaries, simplicity (opens the debate)
2platform-engineerSystems, infra, data shape, operational cost, observability
3integration-engineerDownstream consumers, third-party developers, backwards compat
4test-engineerTDD, mutation ritual, coverage, assertion hygiene
5qa-engineerUser flows ↔ spec alignment, regression surface, manual test plan
6security-engineerInput validation, secrets, path safety, error sanitization
7performance-engineerBatching, memory, concurrency, measurement-before-optimization
8product-managerUX alignment, product coherence, best-practice conformance
9ui-ux-designerErgonomics, visual consistency, interaction design
10accessibility-specialista11y, keyboard nav, screen reader, contrast
11technical-writerDocs, in-app help, CHANGELOG, API reference

Opt-ins: devops-engineer (deploy risk, CI/CD, rollback), sre-engineer (production reliability, SLOs, blast radius, rollback validation; pair with devops-engineer when production stakes are high), finops-engineer (cloud/API cost, unit economics, resource lifecycle), legal-compliance (privacy, licensing), domain-expert (subject-matter SME), historian (codebase precedent on mature repos).

Dynamic sizing is the default, not an exception. No runtime UI → drop ui-ux + a11y. No user input / no infra → drop security + platform. Internal-tooling defaults can be 4–6 seats. Full 11+opt-ins only when every role-lens applies. The CEO decides at Phase 0 and surfaces the roster in the plan card.

Model choice (state it, don't default quietly)

Default: Opus for synthesis-heavy seats (principal-engineer, product-manager, technical-writer, historian) and Sonnet for analytical seats (test, performance, platform, qa). Override all → Opus on a high-quality-bar framing. The plan card shows which seats got which model; users can adjust before spawn.

Variants

  • Debate mode (default) — single decision, verdict tags (APPROVE / CONCERNS / BLOCK), peer DMs resolve disagreements, CEO arbitrates what's left.
  • Review mode — codebase audit, P0/P1 findings, cross-talk skipped, CEO dedupes and files tracker items. See references/review-mode.md.

Protocol (six phases)

PhaseNameCEO does
0Plan cardDraft roster + models + budget + opening question; show to user; wait for go
1BriefGather binding constraints verbatim (CLAUDE.md, spec, memory, tracker); self-audit — grep auto-memory + prior decision logs for entries about the council skill; flag any memory-vs-skill contradiction and follow memory; write everything to ~/.claude/councils/<slug>/brief.md once; draft opening prompt
2ConveneTeamCreate + parallel Agent spawns in one multi-tool-call message; every spawn prompt points to brief.md (prompt-cache hits across seats)
2.5Handshake verifyCount incoming handshake DMs; inspect team config for empty tmuxPaneId; remediate or drop silent-spawn failures; emit HANDSHAKE: N/N ok line
3Cross-talkRoute peer DMs, ask narrowing questions, bridge converged tracks; 3-round hard cap. Skipped by default in Review mode.
4ArbitrateWrite decision + rationale for every unresolved disagreement. Escalate strategic/legal/budget to user. Every DEFER needs a revisit criterion + filed tracker item (if a tracker is detected).
5Log + teardownPost draft log to chat; on user save, persist to ~/.claude/councils/. Broadcast shutdown_request, wait for acks, TeamDelete.

Full protocol: references/protocol.md. Opening-prompt scaffold: references/opening-prompt-template.md. Decision-log scaffold: references/decision-log-template.md. Role briefs: references/roles/<slug>.md.

Show full SKILL.md (432 more words)Show less

Protocol contract for every spawned seat

Every spawn prompt must inline these four delivery rules. Skipping them silently breaks the council:

  1. SendMessage(to: "team-lead") is the ONLY channel to the CEO. Plain-text output is invisible.
  2. Send a 1-line handshake as the first action. Without it, the seat is indistinguishable from a silent-spawn failure.
  3. Final position/findings delivered via SendMessage. Writing as plain text then going idle drops work on the floor. Protocol responses (shutdown_response, plan_approval_response) use their structured JSON form — prose acks don't close the protocol state and will block teardown.
  4. Idle-notification summary field is ≤200 chars — do not put substantive content there.

Canonical wording with peer-DM addressing: references/protocol.md Phase 2.

Non-negotiable rules

  • Agents are peers with independent contexts. Your conversation is not shared.
  • Peer-DM first, CEO-route second. Seats DM each other; CEO routes only tiebreakers, stalls, escalations.
  • CEO never takes a seat, never types application code. Orchestration, routing, arbitration, record-keeping only. Shipping uses fresh isolated agents (see references/implementation-handoff.md).
  • Opening prompt carries the constraints — baked into brief.md and every spawn prompt. Cannot be forgotten mid-debate.
  • Round budget is hard. 3 cross-talk rounds max.
  • Every CEO decision is written with rationale. Silence as resolution is banned.
  • Decision log lives outside any repo. Default ~/.claude/councils/.
  • Scope discipline. Unrelated issues surfaced in debate → new tracker item, never a side-diff.
  • Memory beats stale skill text. If a memory entry contradicts a prescription in this file or references/protocol.md, memory wins — it was written after a real failure. Flag the contradiction in brief.md, follow memory, record the drift in the decision log's emergent-insights appendix.

Failure modes this skill guards against

#ModeGuard
1Sequential-thinking regressionParallel-spawn template is mandatory (Phase 2)
2Runaway debate3-round cross-talk cap
3Silent CEOEvery unresolved item requires written decision
4Constraint re-discovery mid-debatebrief.md is pre-written and cached
5Leaked decision logsDefault path is outside any repo
6Zombie teammatesTeardown is protocol-enforced
7Silent spawn failurePhase 2.5 handshake verification
8Plain-text findings lost to floorUniversal rule #3 in every spawn prompt
9Silent-promise DEFERsPhase 5 tracker-ID-or-demote gate

Harness gotchas (worktree cwd leaks, commit-hook races, tracker-state pollution, mixed-base merges, CHANGELOG conflicts) live in references/implementation-handoff.md — loaded only when the CEO reaches the shipping sub-step.

Integrations

  • Tracker integration (auto-detected, beads first-class): references/tracker-integration.md.
  • Split-pane observability (tmux / iTerm2 via teammateMode setting): optional Claude Code harness feature, not a plugin requirement.
  • using-agent-skills — meta-skill for skill discovery.
  • spec-driven-development — often runs BEFORE a council, to produce the spec being debated.
  • planning-and-task-breakdown — often runs AFTER a council, to decompose the decision into implementable tasks.
  • beads:beads — tracker commonly used for deferred follow-ups.

© sjsyrek, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 23 other files (references) in skills/design-council of sjsyrek/design-council.

  • SKILL.md
  • references/decision-log-template.md
  • references/implementation-handoff.md
  • references/opening-prompt-template.md
  • references/protocol.md
  • references/review-mode.md
  • references/roles/accessibility-specialist.md
  • references/roles/devops-engineer.md
  • references/roles/domain-expert.md
  • references/roles/finops-engineer.md
  • references/roles/historian.md
  • references/roles/integration-engineer.md
  • references/roles/legal-compliance.md
  • references/roles/performance-engineer.md
  • references/roles/platform-engineer.md
  • references/roles/principal-engineer.md
  • references/roles/product-manager.md
  • references/roles/qa-engineer.md
  • references/roles/security-engineer.md
  • … and 5 more

Open the folder on GitHubat commit 79dc402

Compare with similar skills

Design Council 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.

Design Council compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Design Council this skillsjsyrek/design-council181—~2.5kAutomated safety check: PassMIT
Superpowers6BNBN/FlowPilot134—~409Automated safety check: PassMIT
Trellis Session Insightmindfold-ai/Trellis15k4 repos~1.7kAutomated safety check: PassAGPL-3.0
Native Data FetchingCherryHQ/cherry-studio-app4k6 repos~2.9kAutomated safety check: NotesMIT
Debugging Executionsn8n-io/n8n207k—~2.6kAutomated safety check: PassCustom licence
Aoti Debugpytorch/pytorch104k1 repos~1.7kAutomated safety check: PassCustom licence

Similar skills

  • Superpowers

    6BNBN/FlowPilot

    A skill your agent uses when a task in Cursor may benefit from a structured workflow and one or more companion skills from this pack, such as brainstorming, feature development, design, review…

    134 GitHub stars~409 tokensUpdated 7 mo ago
    Agent WorkflowsAuto-check passed
  • Trellis Session Insight

    mindfold-ai/Trellis

    Reach into past AI conversation history through the trellis mem CLI.

    15k GitHub starsUsed in 4 repos~1.7k tokens
    DevelopmentAuto-check passed
  • Native Data Fetching

    CherryHQ/cherry-studio-app

    A skill your agent uses when implementing or debugging ANY network request, API call, or data fetching.

    4k GitHub starsUsed in 6 repos~2.9k tokens
    DevelopmentAuto-check: notes
  • Official

    Debug failed or wrong-output workflow executions using executions tools.

    207k GitHub stars~2.6k tokensUpdated today
    DevelopmentAuto-check passed
  • Aoti Debug

    pytorch/pytorch

    Debug AOTInductor (AOTI) errors and crashes. An agent skill from pytorch/pytorch.

    104k GitHub starsUsed in 1 repo~1.7k tokens
    DevelopmentAuto-check passed
  • Runs a disposable, uniquely named Herdr session inside an existing one so runtime, pane, terminal or API bugs can be reproduced without touching the main session.

    43k GitHub stars~2.4k tokensUpdated 2 days ago
    DevelopmentAuto-check passed

Categories

Questions about Design Council

What does Design Council do?

A skill your agent uses when the user says "convene the council", "design debate", "council review", "get the team together", "run a design review", or "debate this design"; OR describes a…. Design Council is an agent skill from sjsyrek/design-council. Use when the user says "convene the council", "design debate", "council review", "get the team together", "run a design review", or "debate this design"; OR describes a cross-domain decision or review with real stakes — architecture pivot, API surface, pre-release hardening, codebase-wide audit.

When should I use Design Council?

Design Council fits situations like: the user says convene the council; get the team together; run a design review; debate this design.

How do I install Design Council in Claude Code?

Run `npx skills add sjsyrek/design-council --skill design-council -a claude-code`. Or copy the skill folder (skills/design-council in sjsyrek/design-council) into .claude/skills/design-council in your project. Claude Code loads it when a task matches its description.

How do I install Design Council in Codex?

Run `npx skills add sjsyrek/design-council --skill design-council -a codex`. Or copy the skill folder (skills/design-council in sjsyrek/design-council) into .agents/skills/design-council in your project. Codex loads it when a task matches its description.

Can I use Design Council in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add sjsyrek/design-council --skill design-council -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/design-council, .gemini/skills/design-council, .github/skills/design-council and .opencode/skills/design-council in your project.

What does Design Council need to run?

SKILL.md names no scripts, command-line tools or credentials: Design Council is instructions for the agent only.

Does Design Council access the network?

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.

Is Design Council safe to install?

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.

What licence does Design Council use?

Design Council is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Design Council use?

About 2.5k tokens (SKILL.md is roughly 10k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 24k tokens, read only when the agent opens those files.

What are the alternatives to Design Council?

Skills that share tags, products or a category with Design Council: Superpowers (6BNBN/FlowPilot, 134 stars), Trellis Session Insight (mindfold-ai/Trellis, 15k stars), Native Data Fetching (CherryHQ/cherry-studio-app, 4k stars) and Debugging Executions (n8n-io/n8n, 207k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Design Council?

sjsyrek (a GitHub user) maintains it in sjsyrek/design-council, which has 181 GitHub stars. The repository was last updated on May 28, 2026.

Source: sjsyrek/design-council on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.