# Deploy and Debug GenLayer Contracts

GenLayer development requires precise CLI steps for accounts, networks, deployment, and receipts. This skill guides Claude, Codex, and Claude Code through safe GenLayer CLI workflows.

## Install

```bash
npx skillstore add internet-court/genlayer-cli
```

## Metadata

- Status: approved
- Slug: internet-court-genlayer-cli
- Skillstore revision: r1
- Version status: missing
- Tree hash: cef26cca7cd028e6ddd9d06d9b32e08c0023e3ca012b955e960a3994c2efe39e
- Author: internet-court
- GitHub username: internet-court
- License: MIT
- Repository: https://github.com/internet-court/internet-court-skill/tree/main/vendored/genlayer/genlayer-cli
- Ref: 3f6e026a3363e0954ede7bef0cfe88d4475de137
- Supported tools: Claude, Codex, Claude Code
- Audit status: complete
- Agent install advisory: allowed
- Manual install advisory: allowed
- Artifact signature: available
- Audit attestation: unavailable
- Human verification: not\_verified
- Risk factors: external\_commands, network
- Quality score: 77
- Quality tier: bronze
- Public page: https://skillstore.pages.dev/skills/internet-court-genlayer-cli
- Manifest: https://skillstore.pages.dev/api/skills/internet-court-genlayer-cli/manifest

## Capabilities

- Explains GenLayer network selection for localnet, StudioNet, and testnets.
- Guides account listing, creation, import, locking, unlocking, and token sending.
- Provides deployment steps for single contracts and deploy folder workflows.
- Supports read calls, write transactions, schema inspection, and source inspection.
- Helps inspect receipts, stdout, stderr, and transaction lifecycle status.
- Documents local Studio startup, reset, validator, and configuration commands.

## Use Cases

- Deploy a Contract: Set the target network, prepare the active account, deploy a contract, and inspect the resulting transaction receipt.
- Debug Failed Transactions: Check receipt output, compare lifecycle status with execution success, and decide whether contract code or infrastructure needs attention.
- Manage Local Testing: Start local Studio, reset local state when needed, and manage local validators for repeatable test scenarios.

## Prompt Templates

### Check My Setup

```
Use the GenLayer CLI skill to check my current network and active account. Explain what each result means before suggesting changes.
```

### Deploy One Contract

```
Use the GenLayer CLI skill to deploy my contract from contracts/my_contract.py. Confirm the network and account first, then inspect the receipt.
```

### Investigate a Failed Transaction

```
Use the GenLayer CLI skill to debug this transaction hash. Check execution output, lifecycle status, schema availability, and likely next action.
```

### Plan a Local Validator Test

```
Use the GenLayer CLI skill to plan a local Studio test with multiple validators, a clean database, contract deployment, and receipt verification.
```

## Limitations

- Requires the GenLayer CLI to be installed and available in the shell.
- Cannot claim faucet funds because the faucet requires browser verification.
- State-changing commands can spend funds, deploy contracts, or modify local services.
- Private keys and passwords require careful handling outside the skill.

## Best Practices

- Confirm the target network before any deploy, write, send, appeal, or reset action.
- Inspect receipt stdout and stderr before diagnosing missing schema or missing code.
- Use keychain or secure secret storage instead of pasting private keys or passwords.

## Anti Patterns

- Do not assume finalized transactions mean contract execution succeeded.
- Do not batch many StudioNet writes without throttling and receipt checks.
- Do not pass real private keys or reusable passwords in prompts or shell history.

## Security Audit

- Audited at: 2026-07-21T03:01:48.959\+00:00
- Summary: Adjudicated 57 static findings against a documentation-only SKILL.md that teaches an agent how to use the published \`genlayer\` npm CLI. All 50 external\_commands findings are false positives: the scanner matched Markdown inline-code backticks and fenced code blocks, not real shell/Ruby command substitution. The single network finding is an inert faucet documentation link, and the 'sensitive' finding is a comment describing the legitimate \`account import\` CLI command, not a hardcoded secret. No scripts, no runtime code, and no data-exfiltration intent were found.

## Stats

- Views: 0
- Downloads: 5
- Favorites: 1
- Popularity score: 0
