{"id":47184561,"url":"https://github.com/austintgriffith/ethereum-wingman","last_synced_at":"2026-03-13T08:36:39.481Z","repository":{"id":334122599,"uuid":"1140099024","full_name":"austintgriffith/ethereum-wingman","owner":"austintgriffith","description":null,"archived":false,"fork":false,"pushed_at":"2026-01-30T02:15:40.000Z","size":221,"stargazers_count":11,"open_issues_count":1,"forks_count":10,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-01-30T17:35:46.769Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/austintgriffith.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-01-22T20:33:44.000Z","updated_at":"2026-01-30T16:22:29.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/austintgriffith/ethereum-wingman","commit_stats":null,"previous_names":["austintgriffith/ethereum-wingman"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/austintgriffith/ethereum-wingman","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/austintgriffith%2Fethereum-wingman","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/austintgriffith%2Fethereum-wingman/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/austintgriffith%2Fethereum-wingman/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/austintgriffith%2Fethereum-wingman/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/austintgriffith","download_url":"https://codeload.github.com/austintgriffith/ethereum-wingman/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/austintgriffith%2Fethereum-wingman/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30462544,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-13T06:34:02.089Z","status":"ssl_error","status_checked_at":"2026-03-13T06:33:49.182Z","response_time":60,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-03-13T08:36:38.945Z","updated_at":"2026-03-13T08:36:39.473Z","avatar_url":"https://github.com/austintgriffith.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Ethereum Wingman\n\nA comprehensive Ethereum development tutor and guide built as an Agent Skill. Teaches smart contract development through SpeedRun Ethereum challenges, Scaffold-ETH tooling, and security best practices.\n\n## Quick Start\n\n**Build an Ethereum dApp from scratch with AI assistance:**\n\n```bash\n# 1. Create a new project folder\nmkdir my-defi-project\ncd my-defi-project\n\n# 2. Install the Ethereum Wingman skill\nnpx skills add austintgriffith/ethereum-wingman\n\n# 3. Open in Cursor (or your AI-enabled editor)\ncursor .\n```\n\n**Then just tell the AI what you want to build:**\n\n\u003e \"Help me build a dApp where users can stake ETH and earn rewards\"\n\n\u003e \"Create a token with buy/sell functionality like SpeedRun Ethereum Challenge 2\"\n\n\u003e \"Build an NFT collection with on-chain SVG art\"\n\nThe Ethereum Wingman will:\n- 🏗️ Scaffold a Scaffold-ETH 2 project for you\n- ⚠️ Warn you about critical gotchas (token decimals, reentrancy, etc.)\n- 🔐 Guide you on security best practices\n- 📚 Reference SpeedRun Ethereum challenges for learning\n\n---\n\n## What is Ethereum Wingman?\n\nEthereum Wingman is a knowledge base and prompt system that helps AI agents assist developers learning Ethereum development. It covers:\n\n- **SpeedRun Ethereum Challenges**: TLDR modules for all 12 challenges\n- **Scaffold-ETH 2 Integration**: Tooling docs, hooks reference, fork workflows\n- **DeFi Protocols**: Uniswap, Aave, Compound patterns\n- **ERC Standards**: Comprehensive guides for ERC-20, 721, 1155, 4626\n- **Security**: Critical gotchas, historical hacks, pre-production checklist\n\n## Installation\n\n### Via skills.sh (Recommended)\n```bash\nnpx skills add austintgriffith/ethereum-wingman\n```\n\nThis works with Cursor, Claude Code, Codex, OpenCode, and other AI coding agents.\n\n### Manual Installation\n\n**For Cursor:**\nCopy `.cursorrules` to your project root or add to your global Cursor rules.\n\n**For Claude Code:**\nReference the `CLAUDE.md` file in your project instructions.\n\n**As MCP Integration:**\nThe skill.json manifest describes capabilities that can be integrated with MCP-compatible agents.\n\n## Directory Structure\n\n```\nethereum-wingman/\n├── skills/\n│   └── ethereum-wingman/    # skills.sh compatible package\n│       ├── SKILL.md         # Skill definition with frontmatter\n│       ├── AGENTS.md        # Full compiled instructions\n│       ├── metadata.json    # Skill metadata\n│       ├── README.md        # Skill documentation\n│       ├── scripts/         # Helper scripts\n│       │   ├── init-project.sh\n│       │   └── check-gotchas.sh\n│       └── references/      # Key knowledge files\n├── knowledge/\n│   ├── challenges/     # 12 SpeedRun Ethereum challenge modules\n│   ├── protocols/      # DeFi protocol documentation\n│   ├── standards/      # ERC standards\n│   ├── foundations/    # Core concepts\n│   └── gotchas/        # Security knowledge\n├── tools/\n│   ├── scaffold-eth/   # Scaffold-ETH 2 documentation\n│   ├── deployment/     # Deployment patterns\n│   └── security/       # Security tools\n├── prompts/            # AI agent prompts\n├── AGENTS.md           # Symlink to skills/ethereum-wingman/AGENTS.md\n├── skill.json          # Legacy skill manifest\n├── .cursorrules        # Cursor IDE integration\n└── CLAUDE.md           # Claude Code integration\n```\n\n## Key Concepts Covered\n\n### 🚨 The Most Important Concept\n\n**NOTHING IS AUTOMATIC ON ETHEREUM.**\n\nSmart contracts cannot execute themselves. For any function that \"needs to happen\":\n1. Make it callable by **ANYONE** (not just admin)\n2. Give callers a **REASON** (profit, reward, their own interest)\n3. Make the incentive **SUFFICIENT** to cover gas + profit\n\nThe Wingman will always ask: *\"Who calls this function? Why would they pay gas?\"*\n\n### Critical Gotchas\nEvery Ethereum developer must know:\n\n1. **Token Decimals Vary**: USDC = 6, WBTC = 8, most = 18\n2. **Approve Pattern Required**: Contracts need approval before transferFrom\n3. **Reentrancy Attacks**: Always use Checks-Effects-Interactions + ReentrancyGuard\n4. **Oracle Manipulation**: Never use DEX spot prices\n5. **No Floating Point**: Use basis points (500/10000 = 5%)\n6. **Nothing is Automatic**: Design incentives for function callers\n7. **Vault Inflation Attack**: Protect first depositors\n\n### SpeedRun Ethereum Challenges\nEach challenge teaches a key blockchain concept:\n\n| Challenge | Concept |\n|-----------|---------|\n| Simple NFT | ERC-721, minting, metadata |\n| Decentralized Staking | Coordination, deadlines, escrow |\n| Token Vendor | ERC-20 approve pattern |\n| Dice Game | Randomness vulnerabilities |\n| DEX | AMM, constant product formula |\n| Oracles | Price feeds, manipulation resistance |\n| Lending | Collateralization, liquidation |\n| Stablecoins | Pegging mechanisms |\n| Prediction Markets | Outcome resolution |\n| ZK Voting | Privacy-preserving governance |\n| Multisig | Threshold signatures |\n| SVG NFT | On-chain generative art |\n\n## Usage Examples\n\n### Teaching Mode\nAsk questions like:\n- \"How does the ERC-20 approve pattern work?\"\n- \"Explain the constant product formula in AMMs\"\n- \"What are the security considerations for a lending protocol?\"\n\n### Code Review Mode\nSubmit code for review:\n- \"Review this withdrawal function for vulnerabilities\"\n- \"Check this vault contract for inflation attacks\"\n- \"Audit this oracle integration\"\n\n### Build Mode\nGet help building:\n- \"Help me build a token with buy/sell functionality\"\n- \"Set up a staking contract with rewards\"\n- \"Create an NFT minting page\"\n\n### Debug Mode\nTroubleshoot issues:\n- \"Why is my transaction reverting?\"\n- \"How do I fix 'insufficient allowance' errors?\"\n- \"Debug this reentrancy issue\"\n\n## Contributing\n\nTo add new content:\n1. Add markdown files to appropriate directory\n2. Follow existing format (TLDR, code examples, security notes)\n3. Update skill.json if adding new capabilities\n4. Test with AI agent to ensure clarity\n\n## License\n\nMIT License - Use freely for learning and building.\n\n## Credits\n\nBuilt for the [BuidlGuidl](https://buidlguidl.com/) community.\n\nIntegrates knowledge from:\n- [SpeedRun Ethereum](https://speedrunethereum.com/)\n- [Scaffold-ETH 2](https://scaffoldeth.io/)\n- [OpenZeppelin](https://openzeppelin.com/)\n- [Chainlink](https://chain.link/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faustintgriffith%2Fethereum-wingman","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faustintgriffith%2Fethereum-wingman","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faustintgriffith%2Fethereum-wingman/lists"}