Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add nirholas/three.ws --skill smart-contract-reading-guidegit clone --depth 1 https://github.com/nirholas/three.wsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/nirholas/three.ws/smart-contract-reading-guide)<a href="https://agentmods.dev/skills/nirholas/three.ws/smart-contract-reading-guide"><img src="https://agentmods.dev/badge/skills/nirholas/three.ws/smart-contract-reading-guide/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/nirholas/three.ws/smart-contract-reading-guide"><img src="https://agentmods.dev/badge/skills/nirholas/three.ws/smart-contract-reading-guide.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00053 | $0.02068 |
| Opus 5.5 | $0.00021 | $0.00827 |
| Sonnet 5.5 | $0.00011 | $0.00414 |
| Haiku 4.5 | $0.00005 | $0.00207 |
Grade A, and why
smart-contract-reading-guide scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 266 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Smart Contract Reading Guide
You don't need to be a Solidity developer to read smart contracts. This guide teaches you to understand what contracts do by reading their code on block explorers.
Finding Contract Code
Block Explorers
| Chain | Explorer | URL |
|---|---|---|
| Ethereum | Etherscan | etherscan.io |
| Arbitrum | Arbiscan | arbiscan.io |
| Base | BaseScan | basescan.org |
| Optimism | Optimistic Etherscan | optimistic.etherscan.io |
| Polygon | PolygonScan | polygonscan.com |
Steps to Read a Contract
- Go to the explorer → Enter contract address
- Click "Contract" tab
- Look for the green checkmark ("Contract Source Code Verified")
- If not verified → RED FLAG — don't interact with unverified contracts
Understanding Contract Structure
Solidity 101 for Readers
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
// Interface — defines what functions exist
interface IERC20 {
function transfer(address to, uint256 amount) external returns (bool);
function balanceOf(address account) external view returns (uint256);
}
// Contract — the actual code
contract MyToken is IERC20 {
// State variables (stored on blockchain)
string public name = "My Token";
mapping(address => uint256) private _balances;
address public owner;
// Events (logs, used for tracking)
event Transfer(address indexed from, address indexed to, uint256 value);
// Modifier (access control)
modifier onlyOwner() {
require(msg.sender == owner, "Not owner");
_;
}
// View function (read-only, free to call)
function balanceOf(address account) external view returns (uint256) {
return _balances[account];
}
// State-changing function (costs gas)
function transfer(address to, uint256 amount) external returns (bool) {
_balances[msg.sender] -= amount;
_balances[to] += amount;
emit Transfer(msg.sender, to, amount);
return true;
}
// Owner-only function (⚠️ check these carefully)
function mint(address to, uint256 amount) external onlyOwner {
_balances[to] += amount;
}
}
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 1mo ago First seen · 266 lines · 53 tokens per session scan A 8dc02d1b4267
smart-contract-reading-guide is a skill published in the GitHub repository nirholas/three.ws (256 stars, last pushed today), licensed Apache-2.0. It adds 53 tokens to every session and 2,068 once invoked, about $0.0002 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.
Other skills, from other repositories
context7-docs
Fetch up-to-date documentation and code examples for any library, framework, SDK, CLI tool, or cloud service. Use whenever the user asks about a specific library — even well-known ones like React, Next.js, Prisma, Express, Tailwind, Django, or Spring Boot — because training data may not reflect recent API changes or…
eli5
Explain concepts in very simple terms suitable for a five-year-old.
socratic-quiz
Use this when the user wants to deeply understand something through guided questioning. Trigger phrases include: "quiz me", "help me understand", "Socratic", "teach me", "walk me through with questions", "test my understanding", or when the user asks for an explanation and would benefit more from guided discovery than…
learning-coach
Explains any InvestSkill output like a mentor — every metric in plain words, why it matters, its good / bad range, and the lesson that teaches it — then asks 3–5 Socratic questions and "what would change your mind?". --level beginner / intermediate, --lang zh-TW, and a --quiz mode that drills a Learning lesson.
notebooklm
Programmatic access to Google NotebookLM for creating notebooks, adding sources (URLs, YouTube, PDFs, audio, video, images), chatting with content, generating artifacts (podcasts, videos, reports, quizzes, mind maps, flashcards, infographics), and downloading results. Includes capabilities beyond the web UI.
product-taste
Help users build a professional eye for quality, articulate the reasoning behind successful product paradigms, and develop the conviction to make high-stakes decisions before data is available.