en un clic
config
Layered configuration resolution for tribunal.yaml
Installer avec Codex ou Claude Copiez ce prompt, collez-le dans Codex, Claude ou un autre assistant, puis laissez-le vérifier la page du skill et l'installer pour vous.
Menu
Layered configuration resolution for tribunal.yaml
Installer avec Codex ou Claude Copiez ce prompt, collez-le dans Codex, Claude ou un autre assistant, puis laissez-le vérifier la page du skill et l'installer pour vous.
Basé sur la classification professionnelle SOC
Enforces design review gate after brainstorming — bridges superpowers:brainstorming into the tribunal quality pipeline
Create comprehensive GitHub issues with TDD plans, acceptance criteria, and agent instructions for autonomous PR lifecycle management
Multi-agent brainstorming debate — agents propose solutions, critique each other, and reach consensus before design review
Delegate implementation and review tasks to external AI CLI tools (Codex, Gemini) with cross-model adversarial review
Address PR review feedback systematically — fetch inline comments, review bodies, handle outside-diff-range comments, resolve threads with proper attribution
Migrate from npm-installed tribunal to the marketplace plugin — removes redundant files with safety checks
| name | config |
| description | Layered configuration resolution for tribunal.yaml |
| auto_activate | false |
| triggers | ["tribunal.yaml","config resolution","resolve config","configuration"] |
Resolves layered configuration from tribunal.yaml by deep-merging a common block with CLI tool-specific overrides. Every Tribunal feature (debate, agent selection, coverage enforcement) reads its settings through this resolution system.
tribunal.yaml has a common block and optional tool-specific blocks:
common:
timeout_seconds: 300
sandbox: docker
coverage:
lines: 100
branches: 100
claude:
timeout_seconds: 600
gemini:
coverage:
branches: 90
The effective config for a tool is computed as:
effective_config = deep_merge(common, tool_specific[tool_name])
| Type | Behavior |
|---|---|
| Scalar | Tool-specific value wins |
| Object | Recursively merged (keys combine) |
| Array | Tool-specific replaces entirely |
| Missing | Common value used as-is |
If a tool has no block in the YAML, the common config is returned unchanged.
node lib/resolve-config.js <path-to-tribunal.yaml> <tool-name>
Outputs the resolved config as JSON to stdout.
const fs = require('fs');
const { resolveConfig, deepMerge, parseYaml } = require('./lib/resolve-config');
const yamlText = fs.readFileSync('tribunal.yaml', 'utf8');
const config = resolveConfig(yamlText, 'claude');
// config is the merged result
| Section | Description |
|---|---|
timeout_seconds | Max execution time per task |
sandbox | Sandbox mode: docker, platform, or none |
coverage | Code coverage thresholds (lines, branches, etc.) |
enforcement | Coverage enforcement rules and commands |
debate | Brainstorming debate settings (rounds, agents) |
agent_selection | Agent priority and selection strategy |
escalation | Retry and escalation limits |
health_check | Per-task health check toggle |
The default template is at templates/tribunal.yaml. Copy it to your project root and customize as needed.