用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/jiayaoqijia/cryptoskill --skill solidity命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
"Peer-driven onchain reputation layer for AI agents enabling kudos across reliability, speed, accuracy, creativity, and security categories."
"Interaction layer where humans, AI agents, and blockchain converge, powering a trustless reputation economy for ERC-8004 ecosystem."
"Interaction layer powering trustless reputation economy for ERC-8004 ecosystem with rewards for honest contributions."
基于 SOC 职业分类
正在显示 SKILL.md
| name | Solidity |
| description | Avoid common Solidity mistakes — reentrancy, gas traps, storage collisions, and security pitfalls. |
| metadata | {"clawdbot":{"emoji":"⟠","os":["linux","darwin","win32"]}} |
ReentrancyGuard from OpenZeppelin — use nonReentrant modifier on vulnerable functionstransfer() and send() have 2300 gas limit — but don't rely on this for securityunchecked {} blocks bypass this5 / 2 = 2, no decimalstype(uint256).max for max value — don't hardcode large numbersdelete refunds gas but has limits — refund capped, don't rely on itinternal — not private, derived contracts see themprivate doesn't mean hidden — all blockchain data is public, just not accessible from other contractstx.origin is original sender — use msg.sender, tx.origin enables phishing attacksexternal can't be called internally — use public or this.func() (wastes gas)payable required to receive ether — non-payable functions reject etherselfdestruct sends ether bypassing fallback — contract can receive ether without receive functionsend() — returns false on failure, doesn't revertcall{value: x}("") preferred over transfer() — forward all gas, check return valuestorage persists, memory is temporary — storage costs gas, memory doesn't persistmemory — explicit storage to modify statecalldata for external function inputs — read-only, cheaper than memoryinitialize() with initializer modifierselfdestruct implementation — breaks all proxies pointing to itdelegatecall uses caller's storage — impl contract storage layout must match proxyrequire for user errors, assert for invariants — assert failures indicate bugs== doesn't work — use keccak256(abi.encodePacked(a)) == keccak256(abi.encodePacked(b))indexed for efficient filtering