Agent skill · Code Review & Quality

genvm-lint

Validate GenLayer intelligent contracts with the GenVM linter.

Internet Court1,389★ · +222/wk · 1 repos on radarProfile →
claude-codecodexcan modify filesNOASSERTION
Install
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.

Facts
Files in the skill folder: 3
SKILL.md size: 3 KB
Bundled scripts: none
Allowed tools: -Bash-Read
Path: vendored/genlayer/genvm-lint/SKILL.md
Open the folder on GitHub →
Where it comes from
Stars: 1,536 · +147 this week
Language: TypeScript
Read our review of the source →

Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.

From the SKILL.md

# 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

What's inside
Steps it walks through
  1. Setup
  2. Workflow
  3. Commands
  4. check (recommended)
  5. lint (fast AST checks only, ~50ms)
  6. validate (SDK semantic checks, ~200ms)
  7. schema (extract ABI)
  8. typecheck (Pyright/Pylance)
  9. download (pre-download GenVM artifacts)
  10. Output Formats
  11. Human (default)
  12. JSON (--json)
  13. Exit Codes
  14. Agent Workflow
Ships with 2 files
  • LICENSE
  • agents/openai.yaml
Commands it runs
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
More from internet-court-skill
All skills →
About this skill
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.

Keep going