From geas
Parallel agent voting on a proposal — agree/disagree with rationale. challenger always participates. Disagreement triggers decision.
npx claudepluginhub choam2426/geasThis skill uses the workspace's default tool permissions.
Structured parallel voting on a major proposal. Multiple agents evaluate independently and vote. Disagreement triggers a structured decision before proceeding.
Researches topics using multiple sources including web search and runs multi-agent voting for architectural decisions, dependency choices, or API design.
Facilitates leaderless consensus among distributed agents via bee-inspired scouting, quorum sensing, threshold voting, and commitment dynamics. For multi-agent AI, distributed databases, or group decisions without central authority.
Convenes four-voice council (Architect, Skeptic, Pragmatist, Critic) for ambiguous decisions, tradeoffs, and go/no-go calls with multiple valid paths needing structured disagreement.
Share bugs, ideas, or general feedback.
Structured parallel voting on a major proposal. Multiple agents evaluate independently and vote. Disagreement triggers a structured decision before proceeding.
Orchestrator invokes this after a major proposal that affects project direction:
| Proposal | Voters |
|---|---|
| Architecture / tech stack (Specifying) | implementer, communication_specialist, challenger |
| Overall design system | design-authority, implementer, challenger |
| Cross-cutting decision (state management, API shape, deployment) | Affected agents + challenger |
challenger MUST participate in every vote round. The challenger is instructed to play devil's advocate and identify risks even when broadly in agreement.
Vote rounds also handle structured decisions (previously decision skill) and pivot decisions (previously pivot-protocol).
Trust the agents on these. Keep moving.
orchestration_authority selects 2-4 voters based on the proposal's domain. challenger is always included.
All voters run simultaneously. Each reads the proposal and writes a vote file:
Agent(agent: "{voter}", prompt: "Read the proposal at {proposal_path}. Vote agree or disagree with rationale. If you agree, still note any concerns or risks. Write to {output_path}")
Each vote file must contain:
agree or disagreedisagree) minor or major
minor: concrete amendment proposed, compatible with the proposal's directionmajor: fundamental objection, proposal replacement or full decision neededAfter all voters return, read each vote file.
approved_with_amendments:
status: "approved_with_amendments" listing all amendments.disagree_resolved.decision_triggered:
[MANDATORY] Append to .geas/ledger/events.jsonl:
{"event": "vote_round", "proposal": "...", "voters": [...], "result": "unanimous|approved_with_amendments|decision_triggered", "timestamp": "<actual>"}
Vote evidence files at the location specified by the caller (e.g., .geas/missions/{mission_id}/evidence/specifying/vote-{agent}.json for Specifying votes).