Agent skill
context-detection
Automatically 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.
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/other/other/context-detection
SKILL.md
Context Detection Skill
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
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
Didn't find tool you were looking for?