fulfill-git-escrow
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).
git clone --depth 1 https://github.com/internet-court/internet-court-skill /tmp/fulfill-git-escrow && cp -r /tmp/fulfill-git-escrow/vendored/arkhai/fulfill-git-escrow ~/.claude/skills/fulfill-git-escrowSKILL.md
# 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 Clone or read the test repository to understand what the tests expect: 1. Identify the test repo URL and commit from the escrow details 2. Clone it to a temporary location: `git clone <url> /tmp/escrow-tests-<uid> && cd /tmp/escrow-tests-<uid> && git checkout <commit>` 3. Read the test files to understand: - What functions/modules/APIs the tests import - What behavior they assert - What test framework is used - The project structure expected ### A2: Write the solution In the **current working directory** (or a subdirectory the user specifies): 1. Create/modify files to implement the code that will make the tests pass 2. Follow the project structure the tests expect (e.g., if tests import from `src/math.ts`, create that file) 3. Include any necessary config files (package.json, Cargo.toml, etc.) 4. Ensure the test framework's dependencies are accounted for ### A3: Commit and get repo details 1. Stage and commit the solution: `git add -A && git commit -m "solution for escrow <uid>"` 2. Get the commit hash: `git rev-parse HEAD` 3. Get the remote URL: `git remote get-url origin` - If no remote exists, ask the user to push to a public git repo and provide the URL ### A4: Submit the fulfillment ``` git-escrows fulfill \ --escrow-uid "<uid>" \ --solution-repo "<repo-url>" \ --solution-commit "<commit-hash>" ``` ## Mode B: Submit Existing Solution ### B1: Gather parameters From the user's input, extract: - `--solution-repo`: The git repo URL with the solution - `--solution-commit`: The commit hash of the solution If either is missing, ask the user. ### B2: Submit the fulfillment ``` git-escrows fulfill \ --escrow-uid "<uid>" \ --solution-repo "<repo-url>" \ --solution-commit "<commit-hash>" ``` ## Step 4: Report results (both modes) After successful execution: - Report the **Fulfillment UID** prominently - Explain that the oracle will now automatically test the solution - Provide the collect command for after arbitration passes: ``` git-escrows collect --escrow-uid <escrow-uid> --fulfillment-uid <fulfillment-uid> ``` - Suggest checking status with: `git-escrows list --verbose` If the command fails, help diagnose the issue (escrow already fulfilled, wrong network, key not registered, etc.). If the user's git key isn't registered, suggest `git-escrows register-key`.
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.
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.
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/.
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 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.
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.
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.
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.