Agent Conductor
Agent Conductor
Cubiczan stack — Profile · CHP · Estás aquí:
agent-conductor
AGENTS.md adentro, equipo de agentes gobernado afuera.
Agent Conductor es un servidor MCP que convierte las dos convenciones en las que el ecosistema de agentes de codificación ha convergido — los manuales operativos AGENTS.md y las habilidades SKILL.md — de documentación pasiva a una capa de orquestación activa, con un motor de decisiones endurecido por consenso que controla los cambios de alto riesgo.
Espejos: Cubiczan/agent-conductor · codeberg.org/cubiczan/agent-conductor · icohangar-ops/agent-conductor
Licencia: MIT
Estado: v0.1 — andamiaje funcional; ver Hoja de ruta
El problema
Cada herramienta de agente seria — Claude Code, Cursor, Copilot, Codex, Gemini CLI — ahora lee un AGENTS.md en la raíz del repositorio y un catálogo de archivos SKILL.md. Pero ambas convenciones son prosa de sistema de honor:
Nada compila el contrato. Las reglas no negociables, los límites de capas y las listas de verificación viven como markdown que el agente puede o no internalizar.
Nada bloquea la decisión. Un agente que está a punto de reescribir tu modelo de puntuación procede con la misma confianza que uno que renombra una variable.
Nada verifica que la lista de verificación se ejecutó. "Ejecuta
npm testantes de entregar" es una sugerencia, no una compuerta.
Conductor hace ejecutables las convenciones — sin pedir a ninguna herramienta de agente que cambie. Se distribuye como un servidor MCP estándar, por lo que cualquier cosa que hable MCP obtiene compilación de contratos, descubrimiento de habilidades y control de decisiones de forma gratuita.
Related MCP server: @event4u/agent-config
Cómo funciona
MCP client (Claude Code / Cursor / Copilot / ...)
│ stdio (JSON-RPC, MCP)
▼
┌────────────────────────────────────────────────┐
│ TypeScript front end (src/) │
│ contract/parser.ts AGENTS.md → contract │
│ skills/loader.ts SKILL.md discovery │
│ server.ts 7 MCP tools │
└────────────────┬───────────────────────────────┘
│ newline-delimited JSON, child stdio
▼
┌────────────────────────────────────────────────┐
│ Python decision engine (engine/) │
│ bridge.py → PyPI consensus-hardening-protocol│
│ R0 gates · foundation attacks · lifecycle │
└────────────────────────────────────────────────┘Tres grupos de capacidades:
Contrato — compila un
AGENTS.mden misión estructurada, reglas no negociables, límites de capas de hacer/no hacer, compuertas de verificación, recomendaciones de habilidades y una lista de fuera de alcance.Habilidades — descubre habilidades
SKILL.mden ámbitos de proyecto y personales con divulgación progresiva: los metadatos cuestan ~100 tokens, los cuerpos se cargan solo bajo demanda.Decisión — controla el trabajo a través del Consensus Hardening Protocol: una compuerta de cordura R0 barata antes de comenzar el trabajo, y una pasada adversarial de ataque a los cimientos antes de que un cambio de alto riesgo se bloquee.
Inicio rápido
npx -y @cubiczan/agent-conductor
pip install consensus-hardening-protocol # required for decision_* toolsnpm: @cubiczan/agent-conductor · PyPI: consensus-hardening-protocol
Requisitos: Node 23+ (ejecuta TypeScript de forma nativa) y Python 3.10+ con el paquete CHP publicado instalado.
git clone https://github.com/icohangar-ops/agent-conductor.git
cd agent-conductor
npm install
pip install -r engine/requirements.txt
npm test # TypeScript tests (parser, skills, live engine bridge)
npm run test:engine # Python bridge protocol tests
npm run buildRegistra con Claude Code:
claude mcp add agent-conductor -- node /path/to/agent-conductor/dist/index.jsO en la configuración JSON de cualquier cliente MCP:
{
"mcpServers": {
"agent-conductor": {
"command": "npx",
"args": ["-y", "@cubiczan/agent-conductor"]
}
}
}Establece CONDUCTOR_PYTHON si tu Python 3 se encuentra en un lugar distinto de python3.
Luego, desde cualquier proyecto que tenga un AGENTS.md:
"Carga el contrato de agente de este proyecto, lista sus compuertas de verificación y ejecuta una pasada de decision_adversary sobre el cambio que estoy a punto de hacer."
Referencia de herramientas
contract_load
Compila un AGENTS.md (o CLAUDE.md) en un contrato estructurado. Acepta una ruta de archivo o un directorio de proyecto; por defecto usa el directorio de trabajo actual.
// input
{ "path": "examples/pipeline-pulse" }
// output (abridged — real output from the bundled example)
{
"source": "examples/pipeline-pulse/AGENTS.md",
"title": "AGENTS.md — Pipeline Pulse CRM",
"mission": "Pipeline Pulse CRM is a lightweight, local-first pipeline review dashboard...",
"rules": [
"Deterministic logic — same inputs → same scores, labels, and summaries...",
"Logic in crm.js — keep main.js thin (fetch, render, events).",
"... (6 total)"
],
"layers": [
{ "layer": "src/crm.js", "role": "Domain logic",
"do": "Deterministic scoring, filtering, summaries", "dont": "DOM manipulation" }
],
"gates": [
{ "name": "Code change checklist", "commands": ["npm test"], "notes": "" },
{ "name": "Before completion", "commands": [], "notes": "npm test — all green...\n..." }
],
"skills": [
{ "task": "CRM scoring / forecast changes", "skill": "obra/test-driven-development",
"url": "https://github.com/obra/superpowers/...", "why": "Tests-first changes to deterministic logic" }
],
"outOfScope": ["External CRM integrations (Salesforce, HubSpot, etc.)", "..."],
"sectionCount": 28
}El analizador es sin pérdidas: las secciones que no reconoce se conservan textualmente, por lo que nada en un AGENTS.md no convencional se descarta.
contract_verification
Devuelve solo las compuertas de verificación — las listas de verificación con nombre y los comandos de shell que deben pasar antes de entregar el trabajo. Combínalo con el flujo de trabajo de tu agente: ejecuta los comandos, confirma el éxito y luego declara que está hecho.
skills_list
Descubre habilidades SKILL.md visibles desde la raíz de un proyecto. Solo metadatos.
// input
{ "projectRoot": "examples/pipeline-pulse" }
// output
{
"skills": [
{
"name": "pipeline-scoring",
"description": "Explain and modify scoreDealRisk weights in src/crm.js with matching test updates...",
"version": "0.1.0",
"scope": "project"
}
]
}Orden de búsqueda (la primera coincidencia por nombre de habilidad gana):
Prioridad | Ruta | Ámbito |
1 |
| proyecto |
2 |
| proyecto |
3 |
| proyecto |
4 |
| personal |
5 |
| personal |
skill_load
Carga el cuerpo completo de SKILL.md para una habilidad con nombre — la mitad bajo demanda de la divulgación progresiva. Llámalo solo cuando la tarea coincida con la descripción de la habilidad.
decision_gate
La compuerta R0 del Consensus Hardening Protocol: la verificación más barata y de mayor apalancamiento, ejecutada antes de hacer el trabajo.
// input
{ "solvable": true, "scoped": false, "valid": true, "worth_it": true }
// output
{ "verdict": "HALT", "results": { "Solvable": "PASS", "Scoped": "FATAL", "Valid": "PASS", "Worth_it": "PASS" } }Cualquier respuesta FATAL detiene: detente y reformula antes de gastar tokens en un problema que no está delimitado, no se entiende o no vale la pena resolver.
decision_adversary
Una pasada adversarial de un solo disparo para cambios de alto riesgo: CHP ataca los cimientos de la afirmación, los puntúa de 0 a 100 y devuelve hallazgos de abogado del diablo más un estado de sesión.
// input
{
"claim": "Change scoreDealRisk stale-activity weight from 20 to 30",
"context": "Tests updated; label distribution checked against fixture"
}
// output
{
"status": "EXPLORING", // or HALT / REFRAME_REQUIRED
"foundation_score": 77,
"findings": [
"Treat every financial number as unverified until tied to source data.",
"Require explicit flip criteria for any provisional recommendation."
],
"verification_failures": ["PENDING third-party validation"],
"report": "## TriangulationRunner Adversary Pass\n..."
}Los estados se asignan al ciclo de vida de decisión de CHP (EXPLORING → PROVISIONAL_LOCK → LOCKED, con salidas HALT y REFRAME_REQUIRED): EXPLORING significa que la afirmación sobrevivió al ataque y el trabajo puede continuar hacia un bloqueo; HALT/REFRAME_REQUIRED significan que los cimientos fallaron.
engine_status
Verifica el estado del subproceso del motor Python. Devuelve { ok, engine: "chp", version }.
Lo que reconoce el analizador
contract_load se basa en convenciones, no en esquemas. Extrae los patrones que los archivos AGENTS.md en el mundo real realmente usan:
Campo del contrato | Convención de origen |
| Primera sección |
| Elementos de lista bajo |
| Primera tabla con una columna |
| Bloques de código de shell + elementos de lista bajo encabezados de lista de verificación / verificación / antes de completar |
| Tablas con columnas |
| Lista bajo un encabezado de fuera de alcance / no objetivos |
| Todo, textualmente — el respaldo sin pérdidas |
Los encabezados dentro de bloques de código se ignoran; las tablas toleran énfasis en los encabezados; los enlaces y el énfasis de markdown se eliminan del texto extraído.
Escribir habilidades
Una habilidad es un directorio que contiene SKILL.md con frontmatter YAML:
---
name: pipeline-scoring
description: Explain and modify scoreDealRisk weights in src/crm.js with matching test updates. Use when changing deal risk scoring, risk labels, or forecast thresholds.
version: 0.1.0
tools: [Read, Edit, Bash]
---
# Pipeline Scoring
Step-by-step instructions the agent follows when the task matches...Estándar de calidad (heredado de los estándares de awesome-agent-skills): descripción en tercera persona con palabras clave coincidentes, metadatos de alrededor de 100 tokens, cuerpo de menos de 500 líneas, sin rutas absolutas específicas de la máquina, declarar solo las herramientas que la habilidad necesita.
El ejemplo incluido — examples/pipeline-pulse — es un AGENTS.md completo del mundo real más una habilidad a nivel de proyecto, y es lo que compila el conjunto de pruebas.
Estructura del proyecto
.
├── AGENTS.md # This repo's own contract (compiles with itself)
├── ARCHITECTURE.md # Design decisions and component detail
├── src/
│ ├── index.ts # stdio entrypoint
│ ├── server.ts # MCP server: 7 tools
│ ├── contract/ # AGENTS.md → AgentContract compiler
│ ├── skills/ # SKILL.md loader + registry
│ ├── engine/chpBridge.ts # Python engine client
│ └── utils/logger.ts # stderr-only logging (stdout is the transport)
├── engine/
│ ├── bridge.py # JSON-over-stdio router → PyPI `chp`
│ ├── requirements.txt # consensus-hardening-protocol pin
│ ├── NOTICE.md # attribution for the published engine
│ └── test_bridge.py # protocol tests
├── examples/pipeline-pulse/ # real AGENTS.md fixture + example skill
└── test/ # node:test suites (run the .ts directly)Desarrollo
pip install -r engine/requirements.txt
npm test # TypeScript tests — includes a live engine round-trip
npm run test:engine # Python-side protocol tests
npx tsc --noEmit # type check
npm run build # emit dist/
npm run dev # run the server from source (Node type stripping)Reglas de la casa (el conjunto completo está en el AGENTS.md de este repositorio):
stdout es sagrado — el transporte MCP lo posee; todo el registro va a stderr en ambos lados del puente.
Cero nuevas dependencias de runtime de Node — solo
@modelcontextprotocol/sdkyzod; markdown/frontmatter se mantienen hechos a mano. CHP es una dependencia de PyPI.Solo TypeScript borrable — el código fuente debe ejecutarse con el despojamiento de tipos de Node (sin enums, sin propiedades de parámetros).
CHP vía PyPI — instala
consensus-hardening-protocol; no lo revendas bajoengine/. Las correcciones del protocolo pertenecen al upstream.Python 3.10+ — requerido por el paquete publicado.
Hoja de ruta
Versión | Tema | Alcance |
v0.2 | Aplicación | Ejecutar las compuertas de |
v0.3 | Orquestación | Exponer |
v0.4 | Registro | Instalar habilidades verificadas de catálogos remotos (formato awesome-agent-skills) con indicaciones de revisión de fuente |
Procedencia
Conductor reutiliza deliberadamente componentes probados en lugar de reescribirlos:
Componente | Fuente | Licencia |
Motor de decisión (PyPI) | MIT | |
Forma de servidor MCP + registro | MIT | |
Estándares de calidad de habilidades | — | |
Fixture de ejemplo | Manual operativo de Pipeline Pulse CRM | fixture |
Consulta engine/NOTICE.md y ARCHITECTURE.md para el diseño de dos lenguajes.
Cubiczan stack
| Gobernanza | consensus-hardening-protocol · agent-conductor · compliance-as-code-agent · cleanmandate | | Plataforma | cubiczan-mcp-server · operational-intelligence · software-factory |
Conductor compila AGENTS.md + SKILL.md en herramientas MCP y enruta decisiones de alto riesgo a través de CHP — el mismo modelo de bloqueo que Metabocommand utiliza para aprobaciones financieras.
Licencia
MIT — ver LICENSE. Los componentes incluidos conservan sus licencias MIT originales.
Available Tools
7 toolscontract_loadA
Compile an AGENTS.md operating manual into a structured agent contract: mission, non-negotiable rules, layer responsibilities, verification gates, recommended skills, and out-of-scope list. Pass a file path or a project directory (defaults to the current working directory).
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | AGENTS.md path or project root |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full disclosure burden. It explicitly states the action (compile) and the output structure (mission, rules, etc.), implying a read-only operation without destructive effects. It does not detail error handling or side effects, but given the simple nature, the description adds sufficient context beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences: the first states the core purpose and output, the second gives parameter usage. It is front-loaded, free of fluff, and every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has one parameter, no output schema, and no annotations. The description covers the trigger (AGENTS.md), the processing (compile), and the output outline (structured contract with listed sections). It could explicitly state the return format, but the listed components imply what the contract contains, making it sufficiently complete for a simple tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (path described as 'AGENTS.md path or project root'). The description enriches this by clarifying that 'path' accepts a file or directory and defaults to the current working directory, providing practical usage details not present in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Compile') and resource ('AGENTS.md operating manual') to state exactly what the tool does: transforms a file into a structured agent contract with enumerated components (mission, rules, responsibilities, gates, skills, out-of-scope). This clearly distinguishes it from siblings like contract_verification or skills_list, which serve different purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear invocation context: 'Pass a file path or a project directory (defaults to the current working directory).' This tells the agent how to supply input and what the default is, so it can decide when to call the tool. However, it does not explicitly mention alternatives or when not to use it, though the purpose is distinct enough to infer.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
contract_verificationA
Return the verification gates from a project's agent contract — the named checklists and shell commands that must pass before work is handed off. Run these and confirm success before declaring any task complete.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | AGENTS.md path or project root |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral disclosure. It states the tool returns gates and instructs the agent to run them, which implies the agent needs to execute commands. However, it does not disclose whether the tool itself executes anything, whether there are side effects, or what happens if gates fail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences and every clause adds value: what the tool returns, what those returns consist of, and when/how to use them. There is no filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter read tool with no output schema, the description covers the return value, the usage timing, and the required action. It could be slightly richer about default path behavior or failure semantics, but it is arguably sufficient for an agent to select and invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, as the 'path' parameter is described as 'AGENTS.md path or project root'. The description adds no parameter details, but the schema already provides sufficient meaning, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Return'), names the exact resource ('verification gates from a project's agent contract'), and elaborates what those gates are ('named checklists and shell commands'). This clearly distinguishes the tool from siblings like contract_load, which would handle contract loading, and decision_gate, which evaluates a decision.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a clear usage context: run these gates and confirm success before declaring a task complete. It does not explicitly mention alternatives or exclusions, but the 'before work is handed off' phrase and sibling names make the appropriate use case evident.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
decision_adversaryA
Run a one-shot Consensus Hardening Protocol adversarial pass against a claim or proposed change: CHP attacks its foundations, scores them 0-100, and returns findings plus a session status (EXPLORING / HALT / REFRAME_REQUIRED). Use before locking any high-stakes decision.
| Name | Required | Description | Default |
|---|---|---|---|
| claim | Yes | The claim or decision to attack | |
| context | No | Supporting context for the claim | |
| high_stakes | No | Default true |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It usefully discloses one-shot behavior, the adversarial mechanism, and the statuses returned. However, it does not explain side effects, required permissions, or whether the pass modifies any state, which leaves some behavioral ambiguity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no filler. The first sentence states the action and protocol; the second gives a crisp usage rule. Every phrase earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given there is no output schema, the description adequately outlines what is returned ('findings plus a session status') and lists the possible statuses. It could be slightly richer on the response shape or effect of high_stakes, but it is sufficient for a 3-parameter tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds no extra parameter-level detail beyond the schema; it mentions 'claim or proposed change' and 'high-stakes decision' but does not elaborate on the context or high_stakes parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb ('Run') and a concrete resource ('Consensus Hardening Protocol adversarial pass against a claim or proposed change'), and it names the core output (scores, findings, session status). This clearly distinguishes the tool from siblings like decision_gate or engine_status.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear usage context: 'Use before locking any high-stakes decision.' It does not explicitly mention when not to use it or name alternatives, but the guidance is specific enough to orient an agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
decision_gateA
Run the Consensus Hardening Protocol R0 gate on a proposed decision: is it solvable, scoped, valid, and worth making at all? Any FATAL answer returns HALT — stop and reframe before doing the work.
| Name | Required | Description | Default |
|---|---|---|---|
| valid | Yes | Is the current state accurately understood? | |
| scoped | Yes | Is the scope explicitly bounded? | |
| solvable | Yes | Can this problem actually be solved? | |
| worth_it | Yes | Do the stakes justify the work? |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden. It discloses the HALT behavior on FATAL answers, but does not explain what happens when all criteria pass, nor does it define 'FATAL' or the output format. This leaves significant behavioral ambiguity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loads the purpose, and every clause earns its place. No redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple gate with no output schema, the description could be more complete by stating the pass condition and output behavior. It implies all four must be true to proceed, but does not explicitly describe the success return value or the meaning of FATAL. Available structured data is minimal, so the description needs to do more.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already describes all four boolean parameters clearly (100% coverage). The description repeats the names but adds no extra semantic detail beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Run') and names a distinct resource ('Consensus Hardening Protocol R0 gate'), clearly listing the four evaluation criteria (solvable, scoped, valid, worth it). This distinguishes it from sibling tools like decision_adversary by framing it as a gate that halts work.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool ('on a proposed decision', 'before doing the work') and hints at the consequence of a FATAL result (stop and reframe). It does not explicitly compare to alternatives, but the timing guidance is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
engine_statusA
Health/readiness probe for the CHP decision engine (Python subprocess). By default returns a cheap readiness snapshot (running, last exit code, restart-backoff state) WITHOUT spawning Python. Pass probe=true to also issue a live ping that warms/spawns the subprocess.
| Name | Required | Description | Default |
|---|---|---|---|
| probe | No | Issue a live ping (spawns the subprocess). Default false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that the default mode does NOT spawn Python (a performance consideration), while probe=true will spawn/warm the subprocess. This is valuable behavioral context beyond what annotations would provide (none are provided). It clearly communicates the side effects of probe=true without any contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, concise, and front-loaded with the core purpose. Every sentence adds value: the first defines the tool, the second explains the parameter distinction and behavioral implications. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter, no output schema, no nested objects), the description is complete. It covers the default behavior, the alternative with probe=true, and the performance implication. There's no missing information that would prevent correct usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already describes the 'probe' parameter with 100% coverage, so the baseline is 3. The description adds context that probe=true issues a live ping and spawns the subprocess, but this largely reinforces what the schema says. It doesn't add new syntax or format details beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool is a health/readiness probe for the CHP decision engine, distinguishing it from sibling tools that load contracts, list skills, or make decisions. It specifies the resource (CHP decision engine subprocess) and the action (health/readiness probe), making the purpose unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains the default behavior (cheap readiness snapshot without spawning Python) and when to use probe=true for a live ping. While it implies that probe=false is for quick checks and probe=true for when a live response is needed, it doesn't explicitly contrast with alternatives or state when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
skill_loadA
Load the full SKILL.md body for a named skill — the on-demand half of progressive disclosure. Call only when the current task matches the skill's description.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Skill name as returned by skills_list | |
| projectRoot | No | Project root (defaults to cwd) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description must carry the transparency burden. It communicates that this is an on-demand load operation and ties it to progressive disclosure, but it does not disclose return behavior, error/not-found handling, or explicit read-only guarantees.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short, purposeful sentences with no filler. The core action, context, and when-to-use guidance are all packed efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter loader tool with no output schema, the description is adequate: it explains what is loaded, when to call it, and how it fits into the progressive disclosure flow. A small gap remains regarding what the response contains, but 'full SKILL.md body' conveys the essential outcome.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents both parameters. The description adds minimal parameter-specific meaning beyond context ('named skill' and matching behavior), which aligns with the baseline for high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific action ('Load the full SKILL.md body') on a specific resource ('for a named skill'). It also distinguishes itself from siblings like skills_list by describing this as the on-demand half of progressive disclosure.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a clear usage condition: 'Call only when the current task matches the skill's description.' It does not explicitly name alternatives such as skills_list for listing skills, but the progressive-disclosure context implies the distinction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
skills_listA
Discover SKILL.md skills visible from a project root (project-scope .conductor/.claude/.cursor skill dirs, then personal ones). Returns metadata only (~100 tokens per skill); use skill_load for the full body.
| Name | Required | Description | Default |
|---|---|---|---|
| projectRoot | No | Project root (defaults to cwd) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that it returns only metadata (~100 tokens per skill) and covers scope resolution order, which is valuable behavioral context. However, no annotations are provided, and the description does not mention whether this performs a read-only operation, whether it follows symlinks, or how errors are handled if the project root is invalid. Still, for a listing tool, the scope and return-type disclosure is adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences and front-loaded with the core purpose. It covers scope, return type, and the alternative tool in no more words than necessary. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only discovery tool with one optional parameter and no output schema, the description is complete enough: it states scope, return size, and the next step (skill_load). The only minor gap is lack of detail about exact directory patterns, but that is not essential for an agent to select and invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one parameter, projectRoot, with 100% schema description coverage ('Project root (defaults to cwd)'). The tool description adds the context that the root is used to discover relevant skill directories, but the schema already explains the parameter well. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: discover SKILL.md skills from a project root with specific scope details (project vs personal). It also distinguishes itself from the sibling tool skill_load by noting this returns metadata only, which helps the agent understand the difference between listing and loading.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says when to use this tool: to discover skills visible from a project root, and explicitly tells the agent to use skill_load for the full body. This provides clear usage guidance and distinguishes it from the sibling skill_load without ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
7 tool updates
v0.1.0- First observed
contract_load - First observed
contract_verification - First observed
decision_adversary - First observed
decision_gate - First observed
engine_status - First observed
skill_load - First observed
skills_list
TDQS
Scored across 7 tools
Each tool targets a distinct responsibility: contract compilation, verification gate retrieval, skill discovery, skill body loading, decision gating, adversarial review, and engine health. Even the two decision tools are clearly separated by depth: one is a lightweight pre-check, the other is a full adversarial pass.
The naming generally follows a resource_prefix_action pattern (contract_load, skills_list, decision_gate), but there are minor inconsistencies: contract_verification and engine_status are noun-phrase rather than verb-action, and skills_list/skill_load mix plural and singular forms. The pattern is still readable and predictable overall.
Seven tools is well-scoped for the server's purpose: two for contracts, two for skills, two for decision support, and one operational health probe. Each tool fills a distinct slot with no obvious bloat or redundancy.
The core workflows are covered: contracts can be loaded and verified, skills can be discovered and loaded, and decisions can be gated and adversarial-tested. Minor gaps exist, such as the lack of a tool to explicitly execute verification gates or persist/review decision outcomes, but agents can work around these with shell commands and existing server behavior.
Maintenance
Related MCP Connectors
Sovereign Agent OS — Persistent Memory, Governance & Compliance for AI Agents.
Multi-agent governance: task orchestration, compliance, decision validation, and ML predictions.
LLM Orchestration Agent 2
AI agent skills marketplace — token-efficient skill search & execution
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables offline AI agent automation with embedded local LLM (Qwen 2.5), sandboxed file operations through AgentFS, and dynamic skill loading. Exposes capabilities via MCP with tri-state safety guards for private, air-gapped environments without network connectivity or API costs.-

@event4u/agent-configofficial
AlicenseAqualityAmaintenanceUniversal AI Agent OS — governed skills, rules, and commands for AI coding assistants (Claude Code, Augment, Cursor, Copilot, Windsurf). Read-only MCP bridge serves prompts and resources from a release-pinned content bundle.25863 npm11MIT- AlicenseNot gradedqualityCmaintenanceMulti-server MCP aggregator with 266 skills, an orchestration runtime, fleet/claims coordination, and hook-driven session governance for autonomous Claude/Cursor/Gemini agent runs.3MIT
- AlicenseNot gradedqualityDmaintenanceOrchestrates AI agents through structured markdown documents, enabling multi-agent workflows with automatic context injection and workflow management.14 npm5MIT