Plugins

Thin wrappers. One MCP server. No second scanner.

Every plugin teaches the agent the same loop: deadpath.judge (markdown table) → deadpath.workflow → follow the steps → deadpath.remember. Do not guess unused code; do not rewrite the table as prose; do not delete without approval.

Claude Code Cursor Codex deadpath mcp stdio · JSON-RPC · 9 tools one engine scan · judge workflow · counsel plan · explain remember · memory .deadpath/memory.json

Claude Code

Manifest plugins/claude/.claude-plugin/plugin.json registers the MCP server and the deadpath skill.

/plugin marketplace add wolfxops/deadpath
/plugin install deadpath

Cursor

Manifest plugins/cursor/.cursor-plugin/plugin.json; a rule stops Cursor from guessing dead code without a scan.

{
  "mcpServers": {
    "deadpath": { "command": "deadpath", "args": ["mcp"] }
  }
}

Codex

Add to ~/.codex/config.toml. See plugins/codex/README.md.

[mcp_servers.deadpath]
command = "deadpath"
args = ["mcp"]

MCP tools

ToolInputOutput
deadpath.scan{ path?, lang?, only_new?, full?, min_confidence?, memory?, judge?, format? }Findings with confidence; compact JSON by default. Pass format: "table" for the plugin-facing markdown table.
deadpath.judge{ path?, format? }Table by default. Prosecution vs devil's advocate, identification, security, effort, next check. Verdicts remove / verify / keep. Deterministic, no LLM.
deadpath.workflow{ path?, max_findings?, triage?, format? }Language- and framework-aware verify / edit / validate / remember steps. kept_by_judge skipped; security_first first; first verify step is the judge's next check.
deadpath.triage{ path?, max_items?, llm? }Veto-only counsel: judge remove first, then verify/warn. Cannot strengthen. Keep and note never sent. Cached by evidence digest; heuristic without a key.
deadpath.plan{ path? }Ordered steps ranked by judge verdict then confidence. Judge keep omitted. Never writes.
deadpath.explain{ id, llm? }One paragraph; model-backed if a key is set. Pass llm: false for heuristic.
deadpath.remember{ id, decision, note?, path? }Stores keep / false_positive / resolved in memory.
deadpath.memory{ path?, clear? }Runs, cache stats, open findings, decisions, triage verdict count.
deadpath.languages{}Support matrix: languages, tier, precision, frameworks, validation commands.

The loop every skill teaches

  1. 1

    Judge, do not guess

    Call deadpath.judge. Show the markdown table as-is. keep means a live path was found (scheduler, entry, flag…); remove + quick win after one grep; remove_first security markers go first.

  2. 2

    Ask for the workflow

    Call deadpath.workflow. Follow the steps in order. Read only the files it names — the first verify step is the judge's next_check.

  3. 3

    Validate, then propose

    Run the validation commands for the detected stack. Propose a patch; never delete without the user's explicit approval.

  4. 4

    Remember

    Record each decision with deadpath.remember. The next session starts from that baseline and costs fewer tokens.