Context Detection Skill
SkillSecurityAutomatically identify the type of protocol being audited to load appropriate checklists, templates, and vulnerability patterns without manual configuration. Use when starting any new audit to classify the protocol (DeFi lending, AMM, bridge, governance, etc.) and surface the most relevant checks.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Context Detection Skill skill
What this skill tells your AI
The instructions your AI receives, as published by 0x-shashi/web3-audit-skills in skills/advanced/context-detection/SKILL.md and read by ahel’s review.
Purpose
Automatically identify the type of protocol being audited to load appropriate checklists, templates, and vulnerability patterns without manual configuration.
Detection Signals
DeFi Lending Protocol
Signals:
- Functions: deposit, withdraw, borrow, repay, liquidate
- State: collateralFactor, borrowRate, totalBorrows, totalReserves
- Imports: InterestRateModel, PriceOracle
- Patterns: health factor calculations, LTV ratios
→ Load: lending-template, defi-lending-checklist, oracle-chains
DEX / AMM
Signals:
- Functions: swap, addLiquidity, removeLiquidity, getAmountOut
- State: reserve0, reserve1, totalLiquidity, fee
- Imports: IUniswapV2Pair, IUniswapV3Pool
- Patterns: constant product (x*y=k), concentrated liquidity, tick math
→ Load: amm-dex-template, dex-amm-checklist, flash-loan-chains
Bridge
Signals:
- Functions: sendMessage, receiveMessage, relayMessage, verifyProof
- State: nonce, messageHash, guardians, threshold
- Imports: MessageVerifier, CrossChainMessenger
- Patterns: lock-mint-burn-unlock, validator signatures
→ Load: bridge-template, bridge-checklist, bridge-chains
Governance
Signals:
- Functions: propose, vote, execute, queue, cancel
- State: proposals, votingPower, quorum, timelock
- Imports: GovernorAlpha, GovernorBravo, TimelockController
- Patterns: proposal lifecycle, voting snapshots, delegation
→ Load: governance-checklist, governance-chains
Staking
Signals:
- Functions: stake, unstake, claim, getReward
- State: rewardRate, rewardPerToken, totalStaked
- Imports: StakingRewards, MasterChef
- Patterns: reward accumulation per share, lock periods
→ Load: staking-template, staking-checklist
NFT / Gaming
Signals:
- Functions: mint, burn, tokenURI, onERC721Received
- State: tokenId, baseURI, maxSupply, royaltyInfo
- Imports: ERC721, ERC1155, VRF
- Patterns: merkle proof minting, reveal mechanics, randomness
→ Load: nft-marketplace-template, nft-gaming-checklist
Vault / Yield
Signals:
- Functions: deposit, withdraw, harvest, compound
- State: totalAssets, totalShares, strategy
- Imports: ERC4626, Strategy
- Patterns: share/asset conversion, yield strategies
→ Load: defi-patterns, staking-checklist
Detection Algorithm
- Scan all contract interfaces (function signatures)
- Scan import statements
- Scan state variable names
- Match against known protocol type signatures
- Return ranked list of protocol types with confidence scores
- Load templates for highest-confidence match
Multiple Protocol Types
Many protocols combine multiple types (e.g., lending + staking + governance). When multiple types detected:
- Load ALL matching templates
- Prioritize by detection confidence
- Add cross-module interaction checks
- Apply comprehensive checklist as baseline
Prerequisites
Context detection requires access to contract source code or verified ABI. The detection algorithm MUST have function signature databases loaded.
Validation
To verify detection accuracy, test against known protocol types:
# Validate detection signals
def test_lending_detection():
signals = detect_protocol("contracts/LendingPool.sol")
assert signals['type'] == 'lending'
assert signals['confidence'] > 0.85
print(f"Detection verified: {signals['type']} ({signals['confidence']:.2f})")
# Expected detection outcome for Uniswap V2 Pair
input: UniswapV2Pair.sol
expected:
type: amm-dex
confidence: 0.95
signals: [swap, addLiquidity, reserve0, reserve1]
templates: [amm-dex-template, dex-amm-checklist]
# Run detection test suite
python -m pytest tests/context_detection/ -v
Behavior Guidelines
- Detection MUST run before loading any protocol-specific templates
- Protocols with confidence below 0.5 should use the comprehensive checklist as fallback
- Multi-type protocols ALWAYS load all matching templates
- Manual override is optionally available when automated detection is uncertain
References
- Context Detection References - Function signature databases and classification trees
Signals
- GitHub stars
- 60
- Forks
- 10
- Last commit
- Feb 2026
Advanced
- Catalog kind
- skill
- Gateway key
context-detection- Source
- github.com/0x-shashi/web3-audit-skills