Skip to content
Agentmart
Submit a tool

dispute-respond

Prepare and explicitly file an evidence-bound payment dispute response using native receipt proof, approval, provider execution, and independent readback.

Skill by runxhq

IndexedApache-2.0★ 104
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/runxhq-dispute-respond

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Prepare and explicitly file an evidence-bound payment dispute response using native receipt proof, approval, provider execution, and independent readback.

Use cases: finance

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found
Runs as
Node.js package

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/dispute-respond

What's inside

Skill name
dispute-respond
Description
Prepare and explicitly file an evidence-bound payment dispute response using native receipt proof, approval, provider execution, and independent readback.
License
Apache-2.0
Instructions
101 lines in SKILL.md · view on GitHub

Before installing

  • Ships executable scripts

Files (10)

  • SKILL.md
  • dispute-respond.mjs
  • composes-in-graph.yaml · fixtures/
  • dispute-respond-needs-native-receipt.yaml · fixtures/
  • dispute-respond-refuses-raw-evidence.yaml · fixtures/
  • composed.graph · fixtures/support/
  • mark.svg
  • catalog.md · references/
  • mark-license.md · references/
  • run.yaml

SKILL.md (first lines)

# Dispute Respond

Turn one provider dispute event and the exact Runx payment history behind it
into a reviewable response posture. A good dispute packet does not merely tell a
persuasive story: it proves which charge and refund receipts were consulted,
which external evidence may be cited, what remains unknown, and why the operator
should accept, contest, review, or acknowledge an existing refund.

The default `file-response` runner prepares the evidence-bound response, files
it through the selected configured provider after one exact approval, and
requires independent readback. `respond` remains the explicit draft-only
runner, while `file` consumes an admitted prior response packet without
repeating the evidence work. No runner closes a dispute, moves money, or
invents provider acceptance.

## When to use it

Use `dispute-respond` after a provider has created a bounded dispute event and
the original charge should exist in Runx receipt history. Use `refund` when the
operator chooses a new reversal rather than a dispute response. If the original
settlement cannot be proven, gather that evidence before contesting.

## How it works

1. Normalize provider, dispute, charge, amount, currency, reason, and optional
   response deadline.
2. Resolve the exact original charge and every prior refund by content-addressed
   Runx receipt id. Caller-supplied receipt rows or summary projections are not
   accepted as substitutes.
3. Require complete signature verification, a hosted or CI issuer, and
   redacted native detail for each linked receipt tree. A receipt signed by a
   runx home's own local key proves only that operator's word.
4. Admit external evidence only as bounded locator, SHA-256 digest, kind, and
   summary. Raw provider payloads and credentials remain outside the packet.
5. Draft one posture using only admitted receipt ids and evidence locators.
6. Deterministic finalization rejects invented citations, effect claims, and
   any completion state the evidence cannot support.
7. When the operator deliberately invokes `file`, Runx validates the unchanged
   ready packet, binds it to a SHA-256 digest, obtains approval, and calls the
   configured provider under the narrow `dispute.file` scope.
8. Runx projects only the filing reference, dispute id, request digest, and
   status from the provider result, then performs an independent
   `dispute.read` and requires those fields to match before reporting success.

A contest posture must cite delivery or consent evidence. A verified prior
refund forces `refund_already_sent` or `operator_review`; the model cannot ignore
it to produce a stronger contest narrative.

## Inputs and result

The input includes the normalized dispute event, exact original receipt id,
prior refund ids, and bounded external evidence. The result contains the
posture, response summary, cited receipt ids and evidence locators, open questions,
validation, and an exact provider-filing handoff for later review.

`ready_for_review` means only that the packet is complete enough for an
operator. The preparation result always reports `filing.status: not_filed`,
`provider_status: not_called`, and `approval_status: not_requested`.

Use the named `file` runner only after reviewing that packet. Supply the exact
packet, the configured provider name, and one stable idempotency key for that
filing. Runx injects the key into the provider request, rejects a conflicting
nested key, refuses a packet whose decision or filing state has drifted, and
does not accept the mutation response as proof by itself. A successful run must
also return matching `dispute.read` evidence. Provider credentials remain in
the configured adapter boundary; they never belong in skill inputs or output.

## Stop conditions

- Return `needs_more_evidence` for missing, invalid, locally signed, or
  incompletely verified receipt trees.
- Refuse caller-authored receipt detail, raw provider evidence, credentials, or
  citations not present in the admitted set.
- Do not contest without evidence of delivery, consent, or the provider-specific
  fact on which the response depends.
- Do not file a packet that is incomplete, failed validation, already marked as
  filed, or different from the packet approved by the operator.
- Do not claim filing from the mutation response alone. Require the independent
  provider readback, and do not equate a filed response with dispute acceptance,
  closure, settlement, or a refund.

## Example

A dispute alleges an unrecognized charge. Native history proves the charge but
contains no consent evidence. The packet may recommend `operator_review` and
name the missing evidence; it should not contest by inference. If a verified
refund receipt already covers the amount, the posture becomes
`refund_already_sent` and cites that exact receipt. If the operator later invokes
`file`, the approved packet—not a rewritten summary—is what reaches the provider,
and matching provider readback is the completion proof.

## Agent task contract

### `dispute-response-draft`

Choose `accept`, `contest`, `refund_already_sent`, `needs_more_evidence`, or
`operator_review` from the admitted dispute, evidence locators, and native redacted
receipt detail. Cite only exact admitted ids and locators. Never claim filing,
provider acceptance, closure, settlement, or a refund not proven by the packet.

From runxhq/runx, Apache-2.0.

More from runxhq/runx

Compare and alternatives

    Featured in

    Signals

    Stars
    104
    Forks
    109
    Open issues
    16
    Contributors
    16
    Last commit (this folder)
    Oct 17, 2026 (10 days ago)
    Last release
    Oct 18, 2026 (9 days ago)

    From GitHub (fetched Oct 24, 2026).

    Details

    License
    Apache-2.0
    Website
    runx.ai
    First seen
    Oct 24, 2026
    Last checked
    Oct 24, 2026

    More from runxhq

    Cite this page

    dispute-respond skill. Agent Mart. https://agentmart.dev/skills/runxhq-dispute-respond (last updated 2026-10-24)