Agent skill

Local Council Execution

by hex in hex/claude-council

Runs a local council when no external AI providers are configured.

MITAuto-check passedAgent Workflows

Install Local Council Execution

skills CLI
$ npx skills add hex/claude-council --skill local-council-execution -a claude-code

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

GitHub CLI
$ gh skill install hex/claude-council local-council-execution --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/hex/claude-council.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/local-council-execution .claude/skills/local-council-execution && 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
local-council-execution
GitHub stars
848
Token cost
~1.6k tokens
SKILL.md length
752 words
Files
2
Skills in repo
10
Repo updated
First seen
Licence
MIT

At a glance

Runs a local council when no external AI providers are configured.

  • Works in 8 steps: Confirm this is a local-council context… → Resolve the roles → Assemble the question + context → …
  • Accepts the local-council offer after no providers are found
  • SKILL.md covers Step 0: Confirm this is a…, Step 1: Resolve the roles, Step 2: Assemble the question… and Step 3: Spawn the members in…, plus 5 more sections
  • Calls bash

What it does

Local Council Execution is an agent skill from hex/claude-council. Runs a local council when no external AI providers are configured. Spawns N independent Claude subagents (one per role, blind to each other) that each answer the question from a single assigned lens, then synthesizes their perspectives. Invoked by the ask command via --local, or when the user accepts the local-council offer after no providers are found. This is a same-model (Claude-only) panel, not a cross-vendor council.

Its SKILL.md is about 1.6k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file (for example `agent-prompt-template.md`).

It sits in Agent Workflows, covering Subagents. The repository describes itself as: Claude Code plugin that asks several AI coding agents the same question and shows their answers side by side. Gemini, OpenAI, Grok, Perplexity, Kimi and any model OpenRouter… The licence is MIT.

When your agent uses it

  • Accepts the local-council offer after no providers are found
  • Tasks that involve Subagents

Example prompts

  • “/local-council-execution”

Workflow steps

8 steps, taken from the step headings in SKILL.md.

  1. Confirm this is a local-council context (guard)
  2. Resolve the roles
  3. Assemble the question + context
  4. Spawn the members in parallel
  5. Collect results
  6. Display each perspective
  7. Synthesize — angles, not consensus
  8. Save output

What it can do on your machine

Read from SKILL.md and the folder at commit 23867e1. 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

    Shell commands in SKILL.md call:

    • bash

    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

Local Council Execution loads about 1.6k tokens when it runs. Until then it costs about 112 tokens; SKILL.md has 752 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~112
When it runs · the whole SKILL.md, loaded when a task matches
~1.6k

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 hex/claude-council at commit 23867e1, republished under its MIT licence (© hex). 752 words, ~1,632 tokens.

Download SKILL.mdSave it as .claude/skills/local-council-execution/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
local-council-execution
description
Runs a local council when no external AI providers are configured. Spawns N independent Claude subagents (one per role, blind to each other) that each answer the question from a single assigned lens, then synthesizes their perspectives. Invoked by the ask command via --local, or when the user accepts the local-council offer after no providers are found. This is a same-model (Claude-only) panel, not a cross-vendor council.

Local Council Execution

When no external providers are configured, convene a council of independent Claude subagents instead. Each member answers from one role, blind to the others; you then synthesize the spread of perspectives.

Read this first — the honest framing is not optional. Every member is Claude. They share priors and training, so agreement between them is weak signal, not validation. The value here is independent angles and blind-spot coverage, not consensus. The output you produce MUST make this explicit and MUST NOT present member agreement as if it were cross-vendor corroboration.

Step 0: Confirm this is a local-council context (guard)

A local council is the fallback for when no real providers exist — it is not a default way to "use the council". Only proceed if one of these holds:

  1. The user explicitly passed --local, or
  2. There are no configured providers and the user accepted the local-council offer.

If you reached this skill any other way, verify providers are actually absent before spawning anything:

bash
bash ${CLAUDE_PLUGIN_ROOT}/scripts/query-council.sh --list-default 2>&1 | head -1

If that lists one or more providers and the user did not ask for --local, STOP — do not spawn local members. Run the standard cross-vendor flow (council-execution) so the real providers answer, since same-model role-play is strictly weaker than the cross-vendor council the user can actually get.

Step 1: Resolve the roles

Source the libs once:

bash
source ${CLAUDE_PLUGIN_ROOT}/scripts/lib/prompts.sh
source ${CLAUDE_PLUGIN_ROOT}/scripts/lib/roles.sh

If the user passed --roles, it already says both which lenses and how many members — use it directly and skip the size question:

bash
local_council_roles "<--roles value>"

Otherwise, ask the user how many members to convene, then resolve that many:

AskUserQuestion:
  Question: "How many independent perspectives should the local council convene? More members means broader angle coverage, but a longer run and synthesis."
  Header: "Members"
  multiSelect: false
  Options:
    - "4 (Recommended) - balanced breadth"
    - "3 - quick, three sharpest lenses"
    - "5 - thorough"
    - "6 - exhaustive"

Then pass the chosen number as the count:

bash
local_council_roles "" "<chosen number>"

local_council_roles returns a comma-separated role list (e.g. devil,simplicity,security,scalability). Each role becomes one council member; N = number of roles. It draws from a diverse ordering and clamps to the 8 available roles — a user who wants more or specific lenses can pass --roles (e.g. --roles=security,devil,simplicity,scalability,dx,compliance). If you want to be safe, validate_roles "<list>" returns non-zero on an unknown role.

Step 2: Assemble the question + context

Build the text each member will answer:

  • The user's question.
  • Any file context gathered via --file or auto-context (the same context the cross-vendor flow would send). Include it inline so members can reason about it even though they will also read referenced files themselves.

Step 3: Spawn the members in parallel

For each role, build the role-injected prompt and spawn one member. See agent-prompt-template.md for the exact prompt and the build_prompt_with_role call.

Launch all members in a single message (multiple Agent tool calls) with:

  • subagent_type: "general-purpose"
  • run_in_background: true

The member framing (independent, blind to the others, commit to the assigned lens, return format) lives in the prompt itself — see the template. Launching them together runs them concurrently and keeps each one blind to the others.

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

Step 4: Collect results

You are notified automatically as each background member finishes. Wait for ALL of them before synthesizing. If a member fails or times out, note it and continue with the rest.

Step 5: Display each perspective

Lead with this banner verbatim (it sets honest expectations):

Local council — these perspectives all come from Claude playing different roles, not from different AI vendors. Treat agreement as a shared starting point to pressure-test, not as independent confirmation.

Then, for each member, display its perspective under a header naming the role (use get_role_name "<role>" for the display name):

## 🗳️ {ROLE_NAME}

{member's Position / Key points / Risks & blind spots / Confidence}

Step 6: Synthesize — angles, not consensus

Because members share a model, frame the synthesis around spread and coverage, NOT agreement strength:

  • Shared starting points — where members converged. Explicitly note this is a common prior to stress-test, not corroboration, and ask what they might all be missing for the same reason.
  • Genuine tensions — where the roles pull in different directions, and what the user's specific situation implies about which tension matters most here.
  • Blind spots — risks raised by one member that the others' approaches would walk into. Also flag anything no member covered.
  • Suggested direction — your best synthesized recommendation, naming which roles support it and where the real uncertainty remains.

Step 7: Save output

bash
mkdir -p .claude/council-cache

Write the full output (banner + all member perspectives + synthesis) to .claude/council-cache/local-council-{TIMESTAMP}.md where TIMESTAMP is the current Unix timestamp. Then tell the user:


Local council saved to .claude/council-cache/local-council-{TIMESTAMP}.md For cross-vendor perspectives, configure a provider key or install a CLI (/claude-council:status shows what's available).

Error Handling

  • If a member fails, show the failure and continue with the others.
  • If ALL members fail, report clearly and suggest retrying.
  • If only one role resolved, say so — a one-member "council" is just a single role-played answer, and the user should know that.

© hex, 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 1 other file in skills/local-council-execution of hex/claude-council.

  • SKILL.md
  • agent-prompt-template.md

Open the folder on GitHubat commit 23867e1

Compare with similar skills

Local Council Execution 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.

Local Council Execution compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Local Council Execution this skillhex/claude-council848—~1.6kAutomated safety check: PassMIT
Claude Code Agent Developmentanthropics/claude-plugins-official38k8 repos~2.8kAutomated safety check: PassApache-2.0
Subagent Driven DevelopmentAsvarox/allkaraoke26138 repos~1.2kAutomated safety check: PassNone
Dispatching Parallel Agentsultralisp/ultralisp25841 repos~1.5kAutomated safety check: PassNone
Paseo Advisor Second Opiniongetpaseo/paseo20k1 repos~756Automated safety check: PassCustom licence
Task Observerrebelytics/one-skill-to-rule-them-all3.2k1 repos~12kAutomated safety check: PassCC-BY-4.0

Similar skills

  • Claude Code Agent Development

    anthropics/claude-plugins-official

    Official

    Explains how to write agents for Claude Code plugins: the markdown file with YAML frontmatter, trigger descriptions, model and color settings, and system prompt design.

    38k GitHub starsUsed in 8 repos~2.8k tokens
    Agent WorkflowsAuto-check passed
  • Subagent Driven Development

    Asvarox/allkaraoke

    A skill your agent uses when executing implementation plans with independent tasks in the current session

    261 GitHub starsUsed in 38 repos~1.2k tokens
    Agent WorkflowsAuto-check passed
  • Dispatching Parallel Agents

    ultralisp/ultralisp

    A skill your agent uses when facing 2+ independent tasks that can be worked on without shared state or sequential dependencies

    258 GitHub starsUsed in 41 repos~1.5k tokens
    Agent WorkflowsAuto-check passed
  • Launches one separate agent through Paseo to give a second opinion on the current task, with a self-contained briefing and no permission to edit files.

    20k GitHub starsUsed in 1 repo~756 tokens
    Agent WorkflowsAuto-check passed
  • Task Observer

    rebelytics/one-skill-to-rule-them-all

    Monitors task execution for skill improvement opportunities.

    3.2k GitHub starsUsed in 1 repo~12k tokens
    Agent WorkflowsAuto-check passed
  • O2 Review Loop

    openobserve/openobserve

    Splits a change into planner, coder and independent reviewer roles: you confirm a spec, a subagent implements it, and a separate reviewer checks each round's local WIP commit.

    22k GitHub stars~3.7k tokensUpdated today
    Agent WorkflowsAuto-check passed

More from hex/claude-council

All 10 skills in this repo
  • Council Execution

    hex/claude-council

    Executes council queries by running the query pipeline across selected AI providers (Gemini, OpenAI, Grok, Perplexity), displaying formatted responses verbatim, and generating a synthesis of…

    848 GitHub stars~824 tokensUpdated 2 days ago
    Auto-check passed
  • Deep Execution

    hex/claude-council

    Executes agent-enhanced council queries as one Workflow of parallel Claude analyst agents that each query a provider, evaluate response quality, ask follow-up questions, and return a schema-enforced…

    848 GitHub stars~2.5k tokensUpdated 2 days ago
    Auto-check passed
  • Provider Integration

    hex/claude-council

    Adds new AI providers to claude-council, configures provider API settings, troubleshoots provider connections, and documents the provider script interface.

    848 GitHub stars~635 tokensUpdated 2 days ago
    Auto-check passed
  • Bug Fixer

    hex/claude-council

    A bug reproduces, the expected behaviour is clear, and the fix stands apart from the current work.

    848 GitHub stars~991 tokensUpdated 2 days ago
    Auto-check passed
  • CI Fixer

    hex/claude-council

    A CI job fails on a named revision and the fix belongs in code, config or tests, not in the CI provider.

    848 GitHub stars~941 tokensUpdated 2 days ago
    Auto-check passed
  • Docs Updater

    hex/claude-council

    Docs must be updated or restructured to match code that already changed: README, reference pages, CLI help or config docs.

    848 GitHub stars~930 tokensUpdated 2 days ago
    Auto-check passed

Categories

Questions about Local Council Execution

What does Local Council Execution do?

Runs a local council when no external AI providers are configured. Local Council Execution is an agent skill from hex/claude-council. Runs a local council when no external AI providers are configured.

When should I use Local Council Execution?

Local Council Execution fits situations like: accepts the local-council offer after no providers are found; tasks that involve Subagents.

How do I install Local Council Execution in Claude Code?

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

How do I install Local Council Execution in Codex?

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

Can I use Local Council Execution 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 hex/claude-council --skill local-council-execution -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/local-council-execution, .gemini/skills/local-council-execution, .github/skills/local-council-execution and .opencode/skills/local-council-execution in your project.

What does Local Council Execution need to run?

Going by SKILL.md and its folder, Local Council Execution needs the command-line tools its instructions call (bash).

Does Local Council Execution 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 Local Council Execution 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 Local Council Execution use?

Local Council Execution 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 Local Council Execution use?

About 1.6k tokens (SKILL.md is roughly 6.5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Local Council Execution?

Skills that share tags, products or a category with Local Council Execution: Claude Code Agent Development (anthropics/claude-plugins-official, 38k stars), Subagent Driven Development (Asvarox/allkaraoke, 261 stars), Dispatching Parallel Agents (ultralisp/ultralisp, 258 stars) and Paseo Advisor Second Opinion (getpaseo/paseo, 20k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Local Council Execution?

hex (a GitHub user) maintains it in hex/claude-council, which has 848 GitHub stars. The repository holds 10 skills in this directory. The repository was last updated on October 6, 2026.

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