Free SKILL.md scraped from GitHub. Clone the repo or copy the file directly into your Claude Code skills directory.
npx versuz@latest install onfire7777-universal-ai-skills-library-skills-design-hookgit clone https://github.com/onfire7777/universal-ai-skills-library.gitcp universal-ai-skills-library/SKILL.MD ~/.claude/skills/onfire7777-universal-ai-skills-library-skills-design-hook/SKILL.md---
name: design-hook
description: Design a Uniswap V4 hook architecture without code generation. Use when user wants to plan a hook, understand which callbacks to use, or review an architecture before building. Returns a design document, not code.
license: Unspecified
metadata:
allowed-tools: Read, Glob, Grep, Task(subagent_type:hook-builder), mcp__uniswap__get_supported_chains
model: opus
---
# Design Hook
## Overview
Designs a Uniswap V4 hook architecture without generating code. Delegates to the `hook-builder` agent in design-only mode to produce a comprehensive design document covering: which callbacks are needed, hook flag requirements, state management approach, gas estimates, security considerations, and architecture decisions. Use this to plan before building, or to evaluate feasibility.
## When to Use
Activate when the user asks:
- "Design a hook for..."
- "What callbacks do I need for..."
- "Hook architecture for..."
- "Plan a V4 hook"
- "Is it possible to build a hook that..."
- "What would a dynamic fee hook look like?"
- "Help me think through a hook design"
- "Which flags do I need for a TWAMM?"
## Parameters
| Parameter | Required | Default | Description |
| --- | --- | --- | --- |
| behavior | Yes | -- | Hook behavior description (e.g., "limit orders", "dynamic fees", "oracle pricing") |
| constraints | No | -- | Gas budget, security requirements, or specific design constraints |
| integrations | No | -- | External systems the hook needs to interact with (oracles, governance, staking) |
## Workflow
1. **Extract parameters** from the user's request: identify the hook behavior, constraints, and any external integrations.
2. **Delegate to hook-builder in design-only mode**: Invoke `Task(subagent_type:hook-builder)` with explicit instruction to produce a design document only -- no code generation, no file writes. The hook-builder will:
- Analyze the requirements and determine which V4 callbacks are needed
- Map callbacks to hook flags and validate the combination
- Design the state management approach (what storage, what data structures)
- Estimate gas overhead per callback
- Identify security considerations specific to this hook design
- Evaluate feasibility and flag any concerns
3. **Present the design document** to the user covering:
- Callbacks needed and why each is required
- Hook flags and bitmask
- State management design (storage variables, data structures, access patterns)
- Gas estimates and performance implications
- Security considerations and mitigations
- Architecture decisions with rationale
- Comparison with alternative approaches if applicable
## Output Format
Present a structured design document:
```text
V4 Hook Design: Dynamic Fee Hook
Callbacks Required:
- beforeSwap: Read volatility oracle, calculate dynamic fee
- beforeInitialize: Set initial fee parameters and oracle address
Hook Flags: BEFORE_SWAP_FLAG | BEFORE_INITIALIZE_FLAG
Bitmask: 0x2080
State Management:
- volatilityOracle: IVolatilityOracle (immutable, set in constructor)
- baseFee: uint24 (configurable by owner)
- maxFee: uint24 (cap to prevent excessive fees)
- feeMultiplier: uint24 (scales with volatility)
Gas Estimates:
beforeSwap: ~30,000 gas (oracle read + fee calculation)
beforeInitialize: ~25,000 gas (one-time setup)
Security Considerations:
- Oracle manipulation: Use TWAP, not spot price
- Fee cap: Enforce maxFee to protect traders
- Owner control: Fee parameters updatable by owner only
Architecture Decisions:
- Using beforeSwap (not afterSwap) to set fee before execution
- External oracle for volatility data rather than on-chain calculation
- Fee bounded between baseFee and maxFee for predictability
Alternative Approaches:
- On-chain volatility calculation (higher gas, no oracle dependency)
- Fixed fee tiers with governance voting (simpler, less responsive)
```
## Important Notes
- This skill produces a design document only -- no code is generated and no files are written.
- The design document provides enough detail to proceed with `build-hook` when the user is ready.
- If the hook design is infeasible (e.g., requires callbacks that V4 doesn't support), this will be clearly communicated.
- Gas estimates are approximations based on typical implementations -- actual gas depends on implementation details.
## Error Handling
| Error | User-Facing Message | Suggested Action |
| --- | --- | --- |
| `VAGUE_REQUIREMENTS` | "Need more detail about the desired hook behavior." | Describe specific behavior (e.g., "limit orders that execute at tick boundaries") |
| `UNSUPPORTED_CALLBACK` | "V4 does not support the requested callback." | Review available V4 callbacks and adjust requirements |
| `INFEASIBLE_DESIGN` | "This hook design is not feasible with current V4 capabilities." | Simplify requirements or consider alternative approaches |