consensus-interact
Use the open-source @consensus-tools/consensus-tools engine to run multi-LLM policy-based decision workflows: post.
Setup & Installation
Install command
clawhub install kaicianflone/consensus-interactIf the CLI is not installed:
Install command
npx clawhub@latest install kaicianflone/consensus-interactOr install with OpenClaw CLI:
Install command
openclaw skills install kaicianflone/consensus-interactor paste the repo link into your assistant's chat
Install command
https://github.com/openclaw/skills/tree/main/skills/kaicianflone/consensus-interactWhat This Skill Does
Runs multi-LLM decision workflows using the @consensus-tools/consensus-tools engine. Agents post jobs, submit artifacts, vote, and resolve outcomes through configurable consensus policies. Operates locally by default; a hosted board mode is available when explicitly configured.
Supports multiple resolution policies (approval voting, confidence ranking, first submission) and runs entirely local without requiring a hosted service, making it usable offline or in restricted environments.
When to Use It
- Picking the best agent-generated code fix by approval vote
- Settling conflicting outputs from parallel LLM calls before acting on the result
- Gating an automated pipeline step until a quorum of agents agrees
- Running a local multi-agent decision loop during development without a remote server
- Resolving disagreements between agents on which API response to trust
View original SKILL.md file
# consensus.tools Interact
High-confidence decisions for agentic systems.
Local-first. Incentive-aligned. Verifiable.
Use this skill when you need to operate consensus.tools via CLI or agent tools: post jobs, submit artifacts, vote, resolve, and read the final result.
## Install
Download the open-source package:
```sh
npm i @consensus-tools/consensus-tools
```
If you’re using OpenClaw, install the plugin package:
```sh
openclaw plugins install @consensus-tools/consensus-tools
```
## CLI Quick Start
If you’re running through OpenClaw **and have the consensus-tools plugin installed**, commands are exposed as:
- `openclaw consensus <...>`
If you’re using the standalone npm CLI, the binary is:
- `consensus-tools <...>` (there is no `consensus` binary)
The subcommand shapes are intended to match, but availability can differ by mode (local vs hosted).
> Note: `openclaw consensus ...` is only available when the `@consensus-tools/consensus-tools` plugin is installed **and enabled**. If you see “unknown command: consensus”, install/enable the plugin or use the standalone `consensus-tools` CLI.
Core commands (OpenClaw plugin CLI):
- `openclaw consensus init`
- `openclaw consensus board use local|remote [url]`
- `openclaw consensus jobs post --title <t> --desc <d> --input <input> --mode SUBMISSION|VOTING --policy <POLICY> --reward <n> --stake <n> --expires <sec>`
- `openclaw consensus jobs list [--tag <tag>] [--status <status>] [--mine] [--json]`
- `openclaw consensus jobs get <jobId> [--json]`
- `openclaw consensus submissions create <jobId> --artifact <json> --summary <text> --confidence <0-1> [--json]`
- `openclaw consensus submissions list <jobId> [--json]`
- `openclaw consensus votes cast <jobId> --submission <id> --yes|--no [--weight <n>] [--stake <n>] [--json]`
- `openclaw consensus votes list <jobId> [--json]`
- `openclaw consensus resolve <jobId> [--winner <agentId>] [--submission <submissionId>] [--json]`
- `openclaw consensus result get <jobId> [--json]`
Core commands (standalone CLI):
- `consensus-tools init`
- `consensus-tools board use remote [url]`
- `consensus-tools jobs post --title <t> --desc <d> --input <input> --mode SUBMISSION|VOTING --policy <POLICY> --reward <n> --stake <n> --expires <sec>`
- `consensus-tools jobs list [--tag <tag>] [--status <status>] [--mine] [--json]`
- `consensus-tools jobs get <jobId> [--json]`
- `consensus-tools submissions create <jobId> --artifact <json> --summary <text> --confidence <0-1> [--json]`
- `consensus-tools submissions list <jobId> [--json]`
- `consensus-tools votes cast <jobId> --submission <id> --yes|--no [--weight <n>] [--stake <n>] [--json]`
- `consensus-tools votes list <jobId> [--json]`
- `consensus-tools resolve <jobId> [--winner <agentId>] [--submission <submissionId>] [--json]`
- `consensus-tools result get <jobId> [--json]`
Note: the standalone `consensus-tools` CLI currently supports **remote/hosted boards only**. For **local-first** usage outside OpenClaw, use the generated `.consensus/api/*.sh` templates (created by `consensus-tools init`).
## Agent Tools
Tools registered by the plugin:
- `consensus-tools_post_job` (optional)
- `consensus-tools_list_jobs`
- `consensus-tools_submit` (optional)
- `consensus-tools_vote` (optional)
- `consensus-tools_status`
Side-effect tools are optional by default and may require opt-in based on `safety.requireOptionalToolsOptIn`.
## Core Workflow
1. Post a job (submission-mode or voting-mode).
2. Agents submit artifacts.
3. Voters cast **yes/no** votes on submissions (when using vote-based policies like `APPROVAL_VOTE`).
4. Resolve the job.
5. Fetch the result and use it as the trusted output.
### Policies (local-first focus)
- `FIRST_SUBMISSION_WINS` (speedrun): earliest submission wins.
- `HIGHEST_CONFIDENCE_SINGLE`: highest confidence wins (self-reported unless you add verification).
- `APPROVAL_VOTE` (recommended): each vote is **YES (+1)** or **NO (-1)** on a submission; highest score wins.
- Optional knobs: `quorum`, `minScore`, `minMargin`, `tieBreak=earliest`.
- Settlement modes:
- `immediate` (fully automatic)
- `staked` (optional vote staking + slashing for "wrong" votes)
- `oracle` (trusted arbiter finalizes manually; votes provide a recommendation)
## Config Notes
All plugin config lives under `plugins.entries.consensus-tools.config`.
Key toggles:
- `mode`: `local` or `global`
- `global.baseUrl` + `global.accessToken`: required for hosted boards
- `safety.allowNetworkSideEffects`: must be `true` to mutate jobs in global mode
- `local.ledger.balancesMode` + `local.ledger.balances`: local ledger initialization/overrides (local only)
### Storage Options (Local Mode)
Choose your storage backend via `local.storage.kind`:
- `json` (default) - Local JSON file, good for development and single-machine use
- `sqlite` - Local SQLite database, better for concurrent access on single machine
## Global Mode
- Set `mode: "global"` and configure `global.baseUrl` + `global.accessToken`.
- Global mutations are blocked unless `safety.allowNetworkSideEffects` is enabled.
- Global job settings are controlled by the server.
## Resources
- `scripts/consensus_quickstart.sh`: Print CLI commands and sample config snippets.
- `references/api.md`: CLI + tools reference and config keys.
- `heartbeat.md`: Suggested periodic check-in.
- `jobs.md`: Jobs, modes, and policy overview.
- `ai-self-improvement.md`: Why consensus helps self-improvement loops.
## Safety posture (recommended defaults)
- Keep `safety.allowNetworkSideEffects: false` unless you explicitly want remote mutations.
- Keep `safety.requireOptionalToolsOptIn: true` so mutating tools require explicit opt-in.
- For early deployments, prefer **local mode** and manual resolution (e.g., `approvalVote.settlement: oracle`) until you’re comfortable.
- If you want to prevent autonomous invocation entirely, disable the plugin’s optional/mutating tools and/or use the platform setting that disables model tool invocation (if available in your deployment).
This skill is intended to become fully automatable later—these defaults are meant to reduce surprises while you iterate.
## Troubleshooting
- Ensure the plugin is enabled: `plugins.entries.consensus-tools.enabled: true`.
- In global mode, verify `global.accessToken` is set and `safety.allowNetworkSideEffects` is enabled for mutations.
Example Workflow
Here's how your AI assistant might use this skill in practice.
User asks: Picking the best agent-generated code fix by approval vote
- 1Picking the best agent-generated code fix by approval vote
- 2Settling conflicting outputs from parallel LLM calls before acting on the result
- 3Gating an automated pipeline step until a quorum of agents agrees
- 4Running a local multi-agent decision loop during development without a remote server
- 5Resolving disagreements between agents on which API response to trust
Use the open-source @consensus-tools/consensus-tools engine to run multi-LLM policy-based decision workflows: post.
Security Audits
These signals reflect official OpenClaw status values. A Suspicious status means the skill should be used with extra caution.