Agent Skills
› NeverSight/learn-skills.dev
› solidity-deploy
solidity-deploy
GitHubSolidity合约部署辅助技能。涵盖前置检查、Forge脚本执行、多链部署决策及部署后验证。提供格式化、测试、干跑、余额检查等标准流程,支持按需开启区块浏览器验证,确保部署安全与规范。
Trigger Scenarios
使用 forge script 进行合约部署
编写或运行 .s.sol 部署脚本
请求在区块浏览器上验证合约
执行多链合约部署任务
Install
npx skills add NeverSight/learn-skills.dev --skill solidity-deploy -g -y
SKILL.md
Frontmatter
{
"name": "solidity-deploy",
"description": "[AUTO-INVOKE] MUST be invoked BEFORE deploying contracts or writing deployment scripts (*.s.sol). Covers pre-flight checks, forge script commands, post-deployment validation, and verification. Trigger: any task involving forge script, contract deployment, or block explorer verification."
}
Deployment Workflow
Language Rule
- Always respond in the same language the user is using. If the user asks in Chinese, respond in Chinese. If in English, respond in English.
Pre-deployment Checklist (all must pass)
| Step | Command / Action |
|---|---|
| Format code | forge fmt |
| Run all tests | forge test — zero failures required |
| Check gas report | forge test --gas-report — review critical functions |
| Verify config | Manually check config/*.json parameters |
| Dry-run | forge script <Script> --fork-url $RPC_URL -vvvv (no --broadcast) |
| Check balance | cast balance $DEPLOYER --rpc-url $RPC_URL — sufficient gas? |
| Gas limit set | Deployment command must include --gas-limit |
Deployment Decision Rules
| Situation | Rule |
|---|---|
| Default deployment | No --verify — contracts are not verified on block explorers by default |
| User requests verification | Add --verify and --etherscan-api-key to the command |
| Post-deploy verification | Use forge verify-contract as a separate step |
| Multi-chain deploy | Separate scripts per chain, never batch multiple chains in one script |
| Proxy deployment | Deploy implementation first, then proxy — verify both separately |
Post-deployment Operations (all required)
- Update addresses in
config/*.jsonanddeployments/latest.env - Test critical functions:
cast call/cast sendto verify on-chain behavior - Record changes in
docs/CHANGELOG.md - Submit PR with deployment transaction hash link
- If verification needed, run
forge verify-contractseparately
Command Templates
# Load environment
source .env
# Standard deployment (no verification by default)
forge script script/Deploy.s.sol:DeployScript \
--rpc-url $RPC_URL \
--private-key $PRIVATE_KEY \
--broadcast \
--gas-limit 5000000 \
-vvvv
# Deployment with verification (only when explicitly requested)
forge script script/Deploy.s.sol:DeployScript \
--rpc-url $RPC_URL \
--private-key $PRIVATE_KEY \
--broadcast \
--verify \
--etherscan-api-key $ETHERSCAN_API_KEY \
--gas-limit 5000000 \
-vvvv
# Verify existing contract separately
forge verify-contract <ADDRESS> <CONTRACT> \
--chain-id <CHAIN_ID> \
--etherscan-api-key $ETHERSCAN_API_KEY \
--constructor-args $(cast abi-encode "constructor(address)" <ARG>)
# Quick on-chain function test after deployment
cast call <CONTRACT_ADDRESS> "functionName()" --rpc-url $RPC_URL
cast send <CONTRACT_ADDRESS> "functionName(uint256)" 100 \
--rpc-url $RPC_URL --private-key $PRIVATE_KEY
Version History
- e0220ca Current 2026-07-05 20:36


