Skip to content

Skills must FAIL when the required darnit MCP server isn't wired #389

Description

@mlieberman85

Summary

When a darnit skill is invoked from a coding agent, the intended dispatch is to a darnit MCP tool. If the MCP server isn't registered / isn't reachable, the current behavior is to silently fall back (to CLI heuristics, string parsing, or agent-inferred paths). That violates Constitution II ("conservative-by-default"): the framework is not "uncertain" -- it is misconfigured, and hiding the misconfiguration produces subtly wrong results at scale.

The skill layer should fail-fast with a clear, actionable error message pointing the operator at the fix (which darnit install --client <name> to run, or which MCP entry to add to their client's config).

Scope

  • In scope (v0): MCP server not registered / unreachable when a darnit skill needs it.
  • Applies to every skill in the current install (audit, remediate, data, comply).
  • Error message MUST name the specific MCP tool the skill needed and the shortest install command that would wire it. No heuristic fallback.

Out of scope for v0 (noted as follow-up candidates)

Each of the above is legitimate but scoped to its own future issue.

Constitution alignment

  • II. Conservative-by-Default: "err on the side of caution" -- and misconfiguration is not the same as uncertainty. Explicit FAIL preserves the FAIL/WARN semantic boundary.
  • III. TOML-First: the error message points to the smallest config surface the user can edit (client config, no code changes).

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions