Genvm lint
Skill internet-court/internet-court-skill/vendored/genlayer/genvm-lint
The trust layer for agent-to-agent commerce — natural-language mandates, ERC-7710 delegated permissions, x402 payments, escrow, and dispute resolution as one open, catch-all Agent Skill / Claude Code plugin.
npx -y skills add internet-court/internet-court-skill --skill genvm-lintAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
What its author says it does
Copied from the file, not written here
Validate GenLayer intelligent contracts with the GenVM linter.
SKILL.md
2.7 KB, as published. Nobody here has run it
GenVM Lint
Validate intelligent contracts for safety, correctness, and SDK compliance.
Setup
Requires genvm-linter (included in requirements.txt for boilerplate projects):
pip install genvm-linter
Workflow
Always lint before testing. Run genvm-lint check after writing or modifying a contract. Fix all errors before running tests.
genvm-lint check contracts/my_contract.py
check runs both lint (AST safety) and validate (SDK semantics) in one pass.
Commands
check (recommended)
genvm-lint check contracts/my_contract.py
genvm-lint check contracts/my_contract.py --json # Machine-readable output
lint (fast AST checks only, ~50ms)
genvm-lint lint contracts/my_contract.py
Catches:
- Forbidden imports (
os,sys,subprocess,random, etc.) - Non-deterministic patterns (bare
floatusage) - Contract header structure issues
validate (SDK semantic checks, ~200ms)
genvm-lint validate contracts/my_contract.py
Validates:
- Types exist in SDK (
TreeMap,DynArray,Address, etc.) - Decorators correctly applied (
@gl.public.view,@gl.public.write) - Storage fields have valid types (no
dict/list) - Method signatures correct
schema (extract ABI)
genvm-lint schema contracts/my_contract.py
genvm-lint schema contracts/my_contract.py --json
genvm-lint schema contracts/my_contract.py --output abi.json
typecheck (Pyright/Pylance)
genvm-lint typecheck contracts/my_contract.py
genvm-lint typecheck contracts/my_contract.py --json
genvm-lint typecheck contracts/my_contract.py --strict
Runs Pyright with SDK paths auto-configured. Catches type mismatches, missing attributes, undefined variables.
download (pre-download GenVM artifacts)
genvm-lint download # Latest
genvm-lint download --version v0.2.12 # Specific
genvm-lint download --list # Show cached
Output Formats
Human (default)
✓ Lint passed (3 checks)
✓ Validation passed
Contract: MyContract
Methods: 8 (5 view, 3 write)
JSON (--json)
{"ok":true,"lint":{"ok":true,"passed":3},"validate":{"ok":true,"contract":"MyContract","methods":8,"view_methods":5,"write_methods":3,"ctor_params":2}}
Exit Codes
0— All checks passed1— Lint or validation errors found2— Contract file not found3— SDK download failed
Agent Workflow
When fixing lint errors iteratively:
- Run
genvm-lint check contract.py --json - Parse JSON for specific errors
- Fix each error in the contract
- Re-run check until
"ok": true - Proceed to tests