--- name: discuss-sdk-feature-solution description: 讨论 ReadViewSDK 的新功能、修复或重构方案,核验 EPUB/PDF 阅读器源码,比较实现路径并收敛为可直接开发的计划。用户说“先讨论”“先给方案”“比较方案”“不要改代码”,或接口、缓存、渲染路径、持久化兼容存在会改变实现方式的灰区时使用;路径已明确且用户要求直接修改时不要使用。 --- # SDK 功能方案讨论 ## 目标 在编码前用仓库事实收敛决策,输出最小、可验证、能交给开发 Skill 直接执行的方案。本 Skill 默认不修改业务代码。 ## 工作流 1. 检查工作区并定位目标模块、入口、相邻实现和对应文档。 2. 区分已锁定决定、阻塞决定、实现假设、后续项与非范围。 3. 按根目录 `AGENTS.md` 读取所需文档;结论必须由真实路径、类型、方法和调用链支撑。 4. 方案未定时给出 2–4 个可行路径,比较改动面、公开 API、缓存/持久化、渲染路径、性能、回归和维护成本,并明确推荐一个。 5. 用户已选定方案时只细化该方案,不继续横向发散。 6. 方案至少覆盖: - EPUB:`.textReflowable`、`.webInteractive`、`.webFixedLayout` 中受影响的路径 - PDF:宿主图片 Provider 与内置 PDFKit Provider 中受影响的路径 - 公共 API、Codable/磁盘格式、缓存版本和 CocoaPods 集成影响 - 异步乱序、取消、生命周期、内存压力和失败降级 7. 收敛为文件级任务、数据/状态流、成功标准、验证方式、风险和回滚点。 ## 输出 默认在对话中给出: - 需求、范围与非范围 - 已确认决定、阻塞项和必要假设 - 方案对比或已选方案拆解 - 涉及文件、调用链、复用点和兼容策略 - 风险、回滚点与验证清单 - 建议交给 `start-sdk-feature-dev-lite` 或 `start-sdk-feature-dev` 的执行摘要 用户要求落文档,或方案需要跨会话执行时,写入 `Doc/FeatureSolution/`,并在存在文档索引时同步 `Doc/index.md`。 ## 边界 - 不为未确认的未来需求预埋抽象。 - 必要改动、可选优化和后续治理必须分开。 - 未核验的系统 API、第三方能力、文件格式或缓存行为不得写成事实。 - 文档与源码冲突时以当前源码为事实,并明确指出文档待同步项。