SuperAPI AI 工具集

axiom-health-check

测试与质量

查看项目

更新于 10-15 20:11

技能介绍

用途:axiom-health-check 是一个“健康检查元审计”技能,面向 iOS/Swift 项目,在用户需要全项目综合审计、完整健康检查或跨领域扫描时使用。它不自己实现检查逻辑,而是调度 Axiom 的多个专项审计器,汇总结果并去重,输出统一报告。

主要能力:先解析启动提示中的可选块,确定审计范围与用户意图。支持两种模式:全项目审计(默认,无 DIFF SCOPE 块,Phase 1 用 Glob **/*.swift 扫描整个项目)和 diff 范围审计(存在 DIFF SCOPE 块时,以提供的变更 Swift 文件列表为唯一范围,不再 Glob)。可识别 EXCLUSIONS 行以跳过指定审计器,识别 USER EMPHASIS 行以调整报告排序与高亮,但不改变审计器的纳入或排除。

审计器选择:始终运行的包括 memory-auditor、security-privacy-scanner、accessibility-auditor、swift-performance-analyzer、modernization-helper、codable-auditor。条件运行则通过 Grep 检测框架信号,例如 import SwiftUI 触发 swiftui-performance-analyzer、swiftui-architecture-auditor、swiftui-layout-auditor、swiftui-nav-auditor;import SwiftData 或 @Model 触发 swiftdata-auditor;async/await/actor 触发 concurrency-auditor;Timer.scheduledTimer 或 CLLocationManager 触发 energy-auditor;AVCaptureSession 触发 camera-auditor;LanguageModelSession 或 @Generable 触发 foundation-models-auditor;import SpriteKit 触发 spritekit-auditor;NWConnection 或 NetworkConnection 触发 networking-auditor;NSUbiquitousKeyValueStore、CKContainer 或 CloudKit 触发 icloud-auditor;registerMigration、DatabaseMigrator 或 ALTER TABLE 触发 database-schema-auditor;NSTextLayoutManager 或 TextKit 触发 textkit-auditor;UIScreen.main、UIApplicationDelegate 或 Info.plist 中的 UIRequiresFullScreen 触发 resize-auditor;NavigationStack、sheet( 或 TabView 触发 ux-flow-auditor;FileManager、UserDefaults 或 .documentsDirectory 触发 storage-auditor;XCTestCase、@Test 或 @Suite 触发 testing-auditor;.glassEffect(、GlassEffectContainer、UIBlurEffect、UIVisualEffectView、NSVisualEffectView 或 Info.plist 中的 UIDesignRequiresCompatibility 触发 liquid-glass-auditor;存在 Screenshots/ 或 marketing/ 目录触发 screenshot-validator。

使用方式:读取每个选中审计器对应的本地 Codex 技能(如 axiom-audit-memory、axiom-audit-accessibility 等),或通过 Axiom MCP 调用 axiom_get_agent 并传入规范审计器名称。若允许委派且具备 spawn_agent 与 wait_agent 等工具,则按并发上限分批委派;否则在当前会话中顺序执行。每个审计器输出写入 scratch/health-check-{area}-{date}.md,日期用 ISO 格式 YYYY-MM-DD。

结果处理:收集所有审计结果,解析 file:line 与严重级别,跨报告合并重复项,保留全部领域标签并取最高严重级别。最终报告写入 scratch/health-check-{date}.md(全项目)或 scratch/health-check-diff-{date}.md(diff 范围),包含范围、执行摘要、按领域分组发现、通过审计、汇总表。若总发现超过 100 条,对话中只展示 CRITICAL 与 HIGH,其余引用 scratch 文件。

限制:Codex 不提供构造 diff 范围的命令启动器;若用户请求 diff 审计,必须先获得已验证的 DIFF SCOPE 块,不能因缺失而回退为全项目审计。调用方需提供 base ref、merge-base SHA 和完整变更 Swift 文件列表。全项目审计无需范围块。审计器失败或超时需在报告中注明并继续。diff 模式下需丢弃不在文件列表中的发现。排除文件包括 Tests.swift、Previews.swift、/Pods/、/Carthage/、/.build/、/DerivedData/、/scratch/、/docs/、/.claude/、/.claude-plugin/。