Skip to main content
ClaudeWave
Skill5.3k repo starsupdated 17d ago

make-git-escrow

Create a new git escrow bounty for a test suite. Use when the user wants to submit a challenge with escrowed token rewards for passing a failing test suite. Requires the git-escrows CLI (npm i -g git-escrows).

Install in Claude Code
Copy
git clone --depth 1 https://github.com/internet-court/internet-court-skill /tmp/make-git-escrow && cp -r /tmp/make-git-escrow/vendored/arkhai/make-git-escrow ~/.claude/skills/make-git-escrow
Then start a new Claude Code session; the skill loads automatically.

SKILL.md

# Make Git Escrow

You are automating the creation of a git escrow bounty via the `git-escrows submit` CLI command. This locks ERC20 tokens in escrow as a bounty for someone who can make a failing test suite pass.

## 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"
```

Verify it contains at least `PRIVATE_KEY` and `NETWORK` (or defaults to anvil). For base-sepolia and sepolia networks, contract addresses are auto-configured.

## Step 3: Gather parameters

You need all of these to run the submit command:

1. **`--tests-repo`** (required): Git repository URL containing the failing test suite.
   - If the user provided a URL as an argument, use that.
   - Otherwise, check if the current directory is a git repo and offer to use its remote URL.
   - Ask the user if neither is available.

2. **`--tests-commit`** (required): The commit hash of the test suite.
   - If using the current repo, detect HEAD with `git rev-parse HEAD`.
   - Otherwise ask the user.

3. **`--reward`** (required): Amount of tokens to escrow, in wei.
   - Ask the user. Help them convert if they give a human-readable amount (e.g., "1 USDC" = "1000000" for 6-decimal tokens, "1 ETH worth" = "1000000000000000000" for 18-decimal tokens).

4. **`--oracle`** (required): The Ethereum address of the oracle that will arbitrate.
   - Ask the user. Mention the public demo oracle on Sepolia: `0xc5c132B69f57dAAAb75d9ebA86cab504b272Ccbc`.

5. **`--arbiter`** (required): The arbiter contract address.
   - Ask the user. This is typically the TrustedOracleArbiter contract on their network.

6. **`--token`** (required): The ERC20 token contract address for the reward.
   - Ask the user.

Ask for any missing parameters, grouping related questions together when possible to minimize back-and-forth.

## Step 4: Execute

Run the submit command with all gathered parameters:

```
git-escrows submit \
  --tests-repo "<repo-url>" \
  --tests-commit "<commit-hash>" \
  --reward "<amount>" \
  --arbiter "<address>" \
  --oracle "<address>" \
  --token "<address>"
```

## Step 5: Report results

After successful execution:
- Report the **Escrow UID** prominently
- Show the full escrow details (attester, recipient, schema, reward, token, oracle)
- Provide the fulfill command that a solver would use:
  ```
  git-escrows fulfill --escrow-uid <UID> --solution-repo "<url>" --solution-commit "<hash>"
  ```
- Mention they can track status with: `git-escrows list --status open`

If the command fails, help diagnose the issue (insufficient balance, wrong network, missing approval, etc.).
internet-courtSkill

Entry point for Internet Court — the trust layer for agent-to-agent commerce. Use whenever an agent needs to transact with another agent or a paid service, or a user mentions agent payments, paid APIs (HTTP 402/x402), wallet custody or trust concerns, spending mandates, delegated permissions (ERC-7710/7715), escrow, agent identity or reputation (ERC-8004), negotiation between agents (A2A), agent jobs (ERC-8183), machine payments (MPP, AP2), supervision of agent behavior, revocation, verification, or dispute resolution (GenLayer) — even if they never say "Internet Court". Routes to the vendored protocol skills and connector skills in this package.

genlayer-erc7710-connectorSkill

Connect GenLayer Intelligent Contract decisions to ERC-7710-style delegated authority. Use when an agent needs to design the interface, message schema, relayer/bridge path, EVM revocation controller, constraint updates, proof/finality assumptions, and failure handling that turn a GenLayer agent-performance review into ERC-7710 revocation or policy changes.

genlayer-intelligent-contractsSkill

Internet Court adapter for GenLayer Intelligent Contract supervision. Use to specify agent-performance rubrics, evidence schemas, decision outputs, and ERC-7710 connector expectations, while delegating actual GenLayer contract writing, linting, testing, deployment, and CLI interaction to the official GenLayer skills at https://skills.genlayer.com/.

x402-erc7710Skill

Design and implement demos combining x402 HTTP payments with ERC-7710 smart contract delegations and ERC-7715 wallet permission requests for subscriptions, bounded agent budgets, recurring spend, pay-per-use APIs, and agentic commerce.

0g-computeSkill

0G Compute Network guide for decentralized AI inference, fine-tuning, and GPU services. Covers chatbots, image generation, speech-to-text, SDK integration (0g-serving-broker), processResponse API, broker.inference methods, CLI commands (0g-compute-cli), and account management. Use this skill for any 0G compute, 0G AI, or decentralized GPU question.

altllm-portal-api-keysSkill

Use this skill when the user asks to list, create, inspect, update, disable, re-enable, or revoke AltLLM Portal API keys for external agents or applications. Do NOT use for wallet login, billing history, or payment links.

altllm-portal-authSkill

Use this skill when the user asks to log in or out with a wallet session, fetch a wallet sign-in challenge, verify an externally signed challenge, or troubleshoot AltLLM Portal wallet login for the local altllm CLI. Do NOT use for API key management, billing history, or payment links.

altllm-portal-billingSkill

Use this skill when the user asks to inspect AltLLM Portal balance, redeem a promo code, review billing transactions, or view usage analytics by period, model, or API key using the local altllm CLI. Do NOT use for API key lifecycle management or payment-link execution.