核心功能
design-hook 是一个专注于Uniswap V4 Hook架构设计的规划型技能,其核心定位是"设计先行、代码后置"。与直接生成代码的工具不同,它通过调用 hook-builder 子代理,在纯设计模式下输出一份完整的设计文档,涵盖开发Hook所需的全部架构决策。
设计文档核心内容
| 模块 | 输出内容 |
|------|----------|
| 回调选择 | 分析业务需求,确定必需的V4回调(如 `beforeSwap`、`afterInitialize` 等) |
| Hook标志位 | 计算所需的Hook Flags组合及对应的十六进制掩码(如 `0x2080`) |
| 状态管理 | 设计存储变量、数据结构和访问模式,包括可变/不可变状态划分 |
| Gas估算 | 按回调提供粗略Gas开销(如 `beforeSwap ~30,000 gas`) |
| 安全考量 | 识别特定于该设计的攻击向量(预言机操纵、重入等)及缓解措施 |
| 架构决策 | 记录关键设计选择及其理由,支持追溯与评审 |
| 替代方案 | 对比其他可行路径,说明当前选择的优劣 |
典型使用场景
- 开发前规划:明确技术可行性,避免编码后返工
- 方案评审:团队内部分享设计,收集反馈
- 学习参考:理解特定Hook类型(如TWAMM、动态费用、限价单)的实现原理
- 可行性评估:判断想法是否在V4技术约束内可实现
显著优点
1. 零代码风险:设计阶段不生成文件,避免污染工作区
2. 专业化分工:由 hook-builder 子代理专注处理复杂的V4回调矩阵
3. 决策可追溯:强制记录架构决策理由,提升代码可维护性
4. 安全前置:在设计阶段识别风险,而非事后修补
潜在局限
- 无代码产出:需要配合
build-hook技能才能进入实现阶段 - Gas估算非精确值:基于典型实现的经验值,实际消耗依赖具体编码
- 依赖子代理质量:设计深度受限于
hook-builder的知识覆盖 - 无法自动验证:设计正确性需人工或后续代码审查确认
适合人群
- V4 Hook开发者(初级到高级)
- DeFi协议架构师评估Hook集成的技术方案
- 安全审计师快速理解陌生Hook的设计意图
- 研究人员探索V4 Hook的设计空间
常规风险
| 风险类型 | 说明 |
|----------|------|
| 设计错误 | 错误的回调选择或标志位计算导致Hook无法正常触发 |
| Gas低估 | 复杂状态操作可能导致实际Gas远超估算,影响用户体验 |
| 预言机依赖 | 涉及外部数据的Hook需额外评估操纵风险与可用性 |
| 权限模型缺陷 | 设计中未妥善处理的权限控制可能引入中心化风险 |