К основному содержанию
скилл CX Codex

solidity — скилл для Claude Code: безопасные контракты и gas

Скилл для написания и ревью Solidity-контрактов: паттерны защиты от reentrancy, оптимизация gas, тесты и связка с React-фронтендом.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add Mindrally/skills --skill solidity -a claude-code
Открыть на GitHub

Что делает solidity

Скилл задаёт агенту набор правил по Solidity. Внутри — структура кода и безопасность: явные модификаторы видимости, NatSpec, паттерн Checks-Effects-Interactions, ReentrancyGuard, SafeERC20, AccessControl из OpenZeppelin, требование Solidity 0.8.0+ для защиты от переполнений, Pausable для аварийной остановки, таймлоки и мультисиг для чувствительных операций.

Отдельный блок про gas: immutable для значений из конструктора, custom errors вместо строк в revert, плотная упаковка storage-переменных. Для анализа скилл опирается на Slither и Mythril, тесты и разработку — на Hardhat, плюс pre-commit линтеры. Есть и продвинутые паттерны: Chainlink VRF для случайности, state machine, ERC20Snapshot, ERC20Permit и ERC20Votes.

Фронтенд-часть требует типизировать вызовы контрактов через генерацию TypeScript-типов из ABI (TypeChain, wagmi/viem), держать состояние кошелька и сети явным, показывать жизненный цикл транзакции от submitted до confirmed. Перед подписью скилл советует симулировать вызов через eth_call и оценку gas. Если у вас в проекте контракты на версии ниже 0.8.0, часть рекомендаций по переполнениям не сработает — это повод проверить компилятор.

Какие задачи решает

  • закрыть контракт от reentrancy через Checks-Effects-Interactions
  • снизить расход gas на деплое и в рантайме
  • настроить Slither и Mythril в CI
  • сгенерировать TypeScript-типы из ABI для фронтенда
  • показать в UI статус транзакции от отправки до подтверждения

Примеры запросов агенту

  • проверь мой контракт на reentrancy и доступы
  • оптимизируй gas в этом контракте: immutable и custom errors
  • сгенерируй типы из ABI и подключи вызов контракта в React

Как установить solidity

1Через Skills CLI (Vercel)

npx skills add Mindrally/skills --skill solidity -a claude-code

2Вручную: положить файлы

~/.claude/skills/solidity/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/solidity/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Из того же набора168

dotnet Задаёт агенту правила C#, ASP.NET Core и Entity Framework Core: структура проекта, async/await, DI, кэш, тесты. CX Codex +1 724установок fastapi-microservices-serverless Скилл задаёт агенту правила проектирования FastAPI-микросервисов под serverless и cloud-native: без состояния, с Redis, API Gateway и OAuth2. CX Codex +1 724установок tanstack-query Скилл задаёт агенту правила работы с серверным состоянием в React: ключи запросов, queryOptions, мутации и переход с v4 на v5. CX Codex +1 724установок phoenix Задаёт агенту правила кода на Elixir и Phoenix: LiveView, Ecto, контексты, тесты. Пригодится, когда проект уже на Phoenix и нужен предсказуемый стиль. CX Codex +1 722установок autogen-development Подсказывает агенту, как писать код на Microsoft AutoGen: создание агентов, групповые чаты, инструменты, оркестрация. CX Codex +1 721установок vercel-development Набор правил для ИИ-агента: как писать код под Next.js App Router, React Server Components и Vercel AI SDK. Пригодится, когда агент лепит клиентские компоненты там, где хватило бы серверных. CX Codex +1 712установок rest-api-django Набор правил для ИИ-агента, который пишет Django REST API: структура проекта, сериализаторы, JWT-аутентификация, борьба с N+1. CX Codex +1 712установок rspec Задаёт агенту правила написания тестов на RSpec для Ruby и Rails: организация, данные, изоляция. Пригодится, когда спеки расползаются и дублируются. CX Codex +1 707установок

Похожие

solidity-gas-optimization pseudoyu Скилл с 80+ приёмами оптимизации газа в Solidity по книге RareSkills. Пригодится при написании, ревью и аудите контрактов. CX Codex +1 547установок solidity-hardhat-cursorrules-prompt-file PatrickJS Правило для Cursor, которое настраивает ИИ-ассистента на разработку смарт-контрактов на Solidity с проверками безопасности и работой через Hardhat. ★ 41 011звёзд репо solidity-security Seth Hobson Скилл помогает писать и проверять Solidity-контракты с учётом типовых уязвимостей. Пригодится для аудита, DeFi и подготовки к профессиональной проверке. CX Codex 15 382установок web3-testing Seth Hobson Скилл помогает тестировать Solidity-контракты через Hardhat и Foundry: от модульных проверок до форка mainnet. Подойдёт для тестовых наборов и DeFi-протоколов. CX Codex 10 800установок solidity-auditor pashov Прогоняет безопасность Solidity-кода прямо во время разработки: один проход по репозиторию или по конкретному файлу, с отчётом на выходе. CX Codex +1 830установок upgrade-solidity-contracts OpenZeppelin Помогает обновлять смарт-контракты на Solidity через прокси-паттерны OpenZeppelin. Защищает раскладку памяти и учит настраивать пространства имён ERC-7201. CX Codex +1 472установок

Рядом в теме «Языки программирования»

Все скиллы по теме «Языки программирования» →

Вопросы о solidity

Как установить solidity в Claude?

Выполните npx skills add Mindrally/skills --skill solidity -a claude-code. После этого файл скилла лежит в ~/.claude/skills/solidity/SKILL.md.

Что делает скилл solidity?

Даёт агенту правила по разработке и ревью Solidity-контрактов: безопасность, оптимизация gas, тестирование и интеграция с Web3-фронтендом.

Какие инструменты нужны для работы скилла?

В рекомендациях названы Slither и Mythril для статического анализа, Hardhat для тестов и разработки, OpenZeppelin для контрактов, Chainlink VRF для случайности, TypeChain или wagmi/viem для типов фронтенда.

Исходный текст

SKILL.md · Apache-2.0
---
name: solidity
description: "Best practices for secure, gas-efficient Solidity smart contract development and Web3 frontend integration. Use when writing or reviewing Solidity contracts, hardening against reentrancy and access-control bugs, optimizing gas usage, setting up Hardhat/Foundry testing and static analysis, or wiring a React frontend to wallets, providers, and on-chain transactions."
metadata:
  maintainer: Mindrally
  source: https://github.com/Mindrally/skills
---

# Solidity

This skill covers best practices for Solidity smart contract development, including security patterns, gas optimization, testing/tooling, and integrating contracts with a Web3 React frontend.

## Core Principles

- Cut the fluff. Code or detailed explanations only
- Maintain brevity while prioritizing accuracy and depth
- Answer first, explain later when needed

## Code Structure & Security

- Use explicit visibility modifiers and NatSpec documentation
- Apply function modifiers to reduce redundancy
- Follow naming conventions:
  - CamelCase for contracts
  - PascalCase for interfaces (prefix with "I")
- Implement Interface Segregation Principle
- Use proxy patterns for upgradeable contracts
- Emit comprehensive events for state changes
- Follow Checks-Effects-Interactions pattern against reentrancy

## Security Best Practices

- Use OpenZeppelin's AccessControl for permissions
- Require Solidity 0.8.0+ for overflow/underflow protection
- Use Pausable pattern for circuit breakers
- Implement ReentrancyGuard for additional protection
- Use SafeERC20 for token interactions
- Employ pull-over-push payment patterns
- Implement timelocks and multisig controls for sensitive operations

## Gas Optimization

- Optimize gas consumption (deployment and runtime)
- Use immutable variables for constructor-set values
- Use custom errors instead of revert strings
- Pack storage variables efficiently
- Use appropriate data types

## Tools & Analysis

- Integrate Slither and Mythril for static analysis
- Leverage Hardhat's testing and development environment
- Implement robust CI/CD pipelines
- Use pre-commit linting tools

## Advanced Patterns

- Chainlink VRF for randomness
- Strategic assembly use with extensive documentation
- State machine patterns for complex logic
- ERC20Snapshot, ERC20Permit, and ERC20Votes for specialized tokens

## Testing & Quality

- Comprehensive unit, integration, and end-to-end testing
- Property-based testing approaches
- High coverage targets
- Regular security audits

## Web3 Frontend Integration

- Keep frontend code that talks to contracts type-safe and explicit — generate TypeScript types from ABIs (e.g. via TypeChain or wagmi/viem codegen) rather than hand-writing contract call signatures
- Treat wallet connection, chain/network state, and transaction status as explicit, typed state (connected/connecting/wrong-network/error), not implicit booleans
- Surface transaction lifecycle clearly in the UI: submitted, pending confirmation, confirmed, reverted — never assume a submitted transaction succeeded
- Validate and simulate transactions (e.g. `eth_call`/gas estimation) before prompting the user to sign, to catch reverts early
- Never trust client-side reads of contract state for authorization decisions — always re-verify on-chain in the contract itself
- Handle provider/RPC failures and user rejection of signature requests as expected, recoverable error states

© Mindrally · Apache-2.0 · Mindrally/skills

Смотрите также

Спонсоры проекта

Компании, которые помогают держать аналитику открытой