Agent Conductor — compiles AGENTS.md contracts and SKILL.md skills into governed, consensus-gated agent operations.
Agent Conductor defines 7 tools with reasonable descriptions (avg 180 chars) and consistent parameter schemas using Zod. All tools have descriptions and input parameters are typed. However, output schemas are not formally documented, responses are inferred from code (jsonContent wrapper). Tool names follow verb_noun convention well (contract_load, skills_list, decision_gate). Parameter descriptions are present but often lack constraint details (ranges, enums, format specs). Error handling returns JSON with error field but lacks recovery guidance or error classification. No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite all tools being read-only. Composition is sound, each tool has one responsibility and outputs chain reasonably (e.g., skills_list → skill_load).
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, a project directory, an explicit roots list, or a roots map file (defaults to cwd). Returns a summary without section bodies so callers stay inside progressive-disclosure budgets.
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. Accepts the same single-root or multi-root inputs as contract_load.
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.
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.
Health/readiness probe for the vendored 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.
Output schemas not formally documented. Tools return JSON via jsonContent() wrapper, but response structure is inferred from code, not declared in tool registration. LLMs cannot reliably predict field names, types, or presence.
No tool annotations despite all tools being read-only. Missing readOnlyHint in tool definitions. Agents cannot distinguish safe tools from destructive ones without explicit hints.
Error responses lack recovery guidance. errorContent() returns {error: message} but does not classify errors as retryable/user-fixable/fatal or suggest next steps. E.g., 'File not found' should suggest 'Check path or use skills_list to discover available skills.'
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 68 | <=2025-11-25 | v2 |
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.
Discover SKILL.md skills visible from a project root or declared multi-root workspace (project-scope .conductor/.claude/.cursor skill dirs per root, then personal ones). Extra source roots outside a module directory are included when declared. Returns metadata only (~100 tokens per skill); use skill_load for the full body.
Parameter descriptions lack constraint details. E.g., 'path' parameter has no format spec (file path? directory? URL?). 'high_stakes' in decision_adversary says 'Default true' but does not explain what true/false means semantically.
engine_status tool name is vague. 'status' could mean HTTP status, health status, or operational state. Better names: 'check_engine_health' or 'probe_decision_engine'. Current name requires reading description to disambiguate.