Back to skills
SKILL.md
Specialized
ASecurityBlockchain development skill - Smart contracts, DeFi, Web3, consensus
- 3 stars
- 0 votes
- 0 copies
- 2 views
- Added September 8, 2026
Works with
Security analysis
100/100Pro scans all 9 files and shows the line behind each finding
npx -y skills add pluginagentmarketplace/custom-plugin-linux --skill specialized --agent claude-codeAre you the author of Specialized?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/pluginagentmarketplace-specialized-custom-plugin-linux)---
name: blockchain
description: Blockchain development skill - Smart contracts, DeFi, Web3, consensus
version: "1.0.0"
sasmp_version: "1.3.0"
input_schema:
type: object
properties:
task: { type: string, enum: [develop, audit, deploy, optimize, integrate] }
platform: { type: string, enum: [ethereum, solana, polygon, arbitrum, base] }
required: [task]
output_schema:
type: object
properties:
contract: { type: string }
audit_report: { type: object }
gas_analysis: { type: object }
retry_config:
max_attempts: 3
backoff: exponential
timeout_ms: 120000
---
# Blockchain Development Skill
## PURPOSE
Smart contract development, DeFi protocols, and Web3 integration.
## CORE COMPETENCIES
```
Smart Contracts:
├── Solidity (EVM)
├── Rust (Solana)
├── Move (Sui/Aptos)
├── Security patterns
└── Upgradability
DeFi Protocols:
├── AMM/DEX
├── Lending/Borrowing
├── Yield farming
├── Staking
└── Oracles (Chainlink)
Web3 Integration:
├── ethers.js / viem
├── Wallet connection
├── Transaction handling
├── Event listening
└── IPFS/Arweave
```
## CODE PATTERNS
### Solidity Contract
```solidity
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;
import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
import "@openzeppelin/contracts/access/Ownable.sol";
import "@openzeppelin/contracts/utils/ReentrancyGuard.sol";
contract SecureVault is ReentrancyGuard, Ownable {
mapping(address => uint256) private balances;
event Deposited(address indexed user, uint256 amount);
event Withdrawn(address indexed user, uint256 amount);
function deposit() external payable nonReentrant {
require(msg.value > 0, "Amount must be > 0");
balances[msg.sender] += msg.value;
emit Deposited(msg.sender, msg.value);
}
function withdraw(uint256 amount) external nonReentrant {
require(balances[msg.sender] >= amount, "Insufficient balance");
balances[msg.sender] -= amount;
(bool success, ) = msg.sender.call{value: amount}("");
require(success, "Transfer failed");
emit Withdrawn(msg.sender, amount);
}
}
```
### Web3 Integration
```typescript
import { createPublicClient, createWalletClient, http } from 'viem';
import { mainnet } from 'viem/chains';
const publicClient = createPublicClient({
chain: mainnet,
transport: http(),
});
// Read contract
const balance = await publicClient.readContract({
address: contractAddress,
abi: vaultABI,
functionName: 'balanceOf',
args: [userAddress],
});
// Write contract
const hash = await walletClient.writeContract({
address: contractAddress,
abi: vaultABI,
functionName: 'deposit',
value: parseEther('1'),
});
```
## SECURITY CHECKLIST
```
[ ] Reentrancy protection
[ ] Integer overflow (use 0.8+)
[ ] Access control
[ ] Input validation
[ ] Check-effects-interactions pattern
[ ] Slippage protection
[ ] Oracle manipulation resistance
[ ] Flash loan attack prevention
[ ] Upgrade security (timelock)
[ ] Emergency pause mechanism
```
## TROUBLESHOOTING
| Issue | Cause | Solution |
|-------|-------|----------|
| Reentrancy | External call before state update | Use ReentrancyGuard |
| Front-running | Public mempool | Use commit-reveal |
| Oracle manipulation | Single source | Multiple oracles, TWAP |
| High gas | Inefficient storage | Pack structs, use events |
Files in this skill
- SKILL.md
- assets/config.yaml
- assets/schema.json
- blockchain-SKILL.md
- gamedev-SKILL.md
- references/GUIDE.md
- references/PATTERNS.md
- scripts/validate.py
- ux-SKILL.md
Attribution
Comments
Loading comments…