SuperAPI AI 工具集

fix

数据与分析

查看项目

更新于 10-15 22:11

技能介绍

用途:fix 是 claude-db 的可选写入器,对应 /claude-db:fix 命令,把审计结果中可修复的 schema/迁移问题生成迁移文件。模型无法自行触发(disable-model-invocation: true),只能由用户运行命令;写入仅通过唯一具备 Write/Edit 的 db-migration-writer 子代理,且需显式确认,默认 dry-run。

主要能力:按 finding 的 fixable 字段分三类。AUTO:确定性、增量、可回滚、可机器验证、语义风险低,可写入(附 diff 与确认),以 expand-contract 迁移表达,如补非唯一索引/FK 支持索引、以 NOT VALID 再 VALIDATE 添加 NOT NULL/CHECK/UNIQUE 约束、补 FK、增量加默认值或生成列、加宽过小的整数键,均带 down 迁移。PROPOSED:改变数据、语义或结构,生成草稿迁移并逐项确认,如类型变更(float→numeric 金额)、回填、反规范化/规范化、重命名、枚举变更、软删除/时间列。ADVISORY:工具永不写入,如引擎选择、分片/分区拓扑、RLS/安全策略设计、容量与扩展决策等。

使用方式:取最近审计或新审计/findings JSON,过滤 fixable(用户可选加入 proposed),用 --category 限定范围。逐项构建精确迁移(存在重写/锁风险时用 expand-contract),每段 diff 前用通俗语言说明作用与原因,再给出统一 diff/迁移文件内容;所需真实输入(回填值、枚举目标集、FK 目标)须询问用户,不得臆造。默认 dry-run:打印说明与 diff,按文件/步骤分组,不写任何内容,并汇总去掉 --dry-run 后会改什么,含锁级别与可回滚性。显式确认后才委派写入,可逐项或批量确认。

限制与安全:写入需去掉 --dry-run 并确认;任何数据丢失/破坏性步骤(DROP、TRUNCATE、收窄、删除枚举值)须先经 /claude-db:migrate 令牌握手,用户须逐字输入受影响对象名,不匹配即中止。Git 感知:工作树脏时拒绝写入,除非 --force,优先用分支,通过 git status --porcelain 检测;非仓库环境退出码 128 视为可写,备份仍存插件数据目录。幂等:检测已有约束/索引,不重复。写入后重跑各 finding 的验证并报告通过/失败。不得触碰 .git/、.env/密钥、锁文件或项目根外文件,不写实时数据库,fix 只产出迁移文件。不得编造默认值、回填值、统计、价格或凭据。