genvm-lint
Validate GenLayer intelligent contracts with the GenVM linter.
npx skills add internet-court/internet-court-skill --skill genvm-lint --agent claude-code
Same command for any agent — swap --agent for codex, cursor, copilot.
Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.
# GenVM Lint Validate intelligent contracts for safety, correctness, and SDK compliance. ## Setup Requires `genvm-linter` (included in `requirements.txt` for boilerplate projects): ```bash 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. ```bash genvm-lint check contracts/my_contract.py ``` `check` runs both lint (AST safety) and validate (SDK semantics) in one pass. ## Commands ### check (recommended) ```bash genvm-lint check contracts/my_contract.py genvm-lint check contracts/my_contract.py --json # Machine-readable output ``` ### lint (fast AST checks only, ~50ms) ```bash genvm-lint lint contracts/my_contract.py ``` Catches: - Forbidden imports (`os`, `sys`, `subprocess`, `random`, etc.) - Non-deterministic patterns (bare `float` usage) - Contract header structure issues ### validate (SDK semantic checks, ~200ms) ```bash 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`/`li
- Setup
- Workflow
- Commands
- check (recommended)
- lint (fast AST checks only, ~50ms)
- validate (SDK semantic checks, ~200ms)
- schema (extract ABI)
- typecheck (Pyright/Pylance)
- download (pre-download GenVM artifacts)
- Output Formats
- Human (default)
- JSON (--json)
- Exit Codes
- Agent Workflow
pip install genvm-linter genvm-lint check contracts/my_contract.py genvm-lint check contracts/my_contract.py --json # Machine-readable output genvm-lint lint contracts/my_contract.py genvm-lint validate contracts/my_contract.py 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 genvm-lint typecheck contracts/my_contract.py genvm-lint typecheck contracts/my_contract.py --json
What does the genvm-lint skill do?
Validate GenLayer intelligent contracts with the GenVM linter.
How do I install it?
Run `npx skills add internet-court/internet-court-skill --skill genvm-lint --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.
Where does this skill come from?
From internet-court/internet-court-skill, a repository with 1,536 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.
Is a popular skill a good skill?
Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.