# Fulfill GIT Escrow

Fulfill a git escrow bounty by writing a solution or submitting an existing one.

- Repository: https://github.com/internet-court/internet-court-skill (7050 stars)
- Category: Testing
- License: see repository
- Last updated: 2026-10-26
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add internet-court/internet-court-skill --skill fulfill-git-escrow -g -a claude-code -y`
Codex: `npx skills add internet-court/internet-court-skill --skill fulfill-git-escrow -g -a codex -y`
Cursor: `npx skills add internet-court/internet-court-skill --skill fulfill-git-escrow -g -a cursor -y`
Gemini CLI: `npx skills add internet-court/internet-court-skill --skill fulfill-git-escrow -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add internet-court/internet-court-skill`

## Description

Fulfill a git escrow bounty by writing a solution or submitting an existing one. Use when the user wants to solve a test suite challenge, write code to pass tests, and claim a token reward. Requires the git-escrows CLI (npm i -g git-escrows).

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Fulfill Git Escrow

You are helping the user fulfill a git escrow bounty. This means submitting code that passes a failing test suite to claim the escrowed token reward.

There are two modes:
- **Mode A (Write + Submit)**: You write the solution code, commit it, and submit. This is the default when no `--solution-repo` is provided by the user.
- **Mode B (Submit Existing)**: The user already has a solution repo and commit. You just submit the fulfillment.

Determine the mode from the user's input:
- If they provide `--solution-repo`, use **Mode B**.
- Otherwise, use **Mode A**.

The escrow UID is always required.

## Step 1: Check CLI availability

Run `git-escrows --help` to verify the CLI is installed. If it fails, try `npx git-escrows --help` or `bunx git-escrows --help`. Use whichever works for all subsequent commands. If none work, tell the user to install with `npm i -g git-escrows`.

## Step 2: Check .env configuration

Check if a `.env` file exists in the current directory. If not, tell the user they need one and suggest running:
```
git-escrows new-client --privateKey "0x..." --network "sepolia"
```

## Step 3: Validate the escrow

Run `git-escrows list --verbose --format json` and find the escrow matching the provided UID. Confirm:
- The escrow exists and is **open**
- Note the test repo URL, test commit hash, reward amount, and oracle address

If no escrow UID was provided, ask the user for one. You can help them browse with `git-escrows list --status open`.

## Mode A: Write Solution + Submit

### A1: Understand the tests

The rest: https://github.com/internet-court/internet-court-skill/blob/HEAD/vendored/arkhai/fulfill-git-escrow/SKILL.md
