用途
skillshare-codebase-audit 是一个只读的一致性审计技能,用于在 skillshare 代码库中交叉校验 CLI 参数、文档、测试和目标配置之间的一致性。当用户要求审计代码库、检查一致性时使用该技能。
技能占位符 $ARGUMENTS 用于指定审计重点区域(例如 "flags"、"tests"、"targets"),省略时执行完整审计。
重要限制
该技能只读取和报告,不修改任何文件。如果用户需要修复问题,应使用 implement-feature;如果需要修复文档缺口,应使用 update-docs。
主要能力
技能在可能的情况下并行执行多个审计维度,每个维度生成汇总表格。
1. CLI 参数审计
将 cmd/skillshare/.go 中定义的每个参数与 website/docs/commands/.md 进行对比。
使用的命令:
grep -rn 'flag\.\(String\|Bool\|Int\)' cmd/skillshare/
grep -rn 'Args\|Usage' cmd/skillshare/
报告的状态包括:UNDOCUMENTED(参数存在于代码但文档中没有)、STALE(文档记录了但代码中找不到)、OK(代码与文档一致)。
2. 规范与代码对比
对于 specs/ 中标记为 completed/done 的每个规范:验证所描述的功能是否存在于源代码中;检查规范的验收标准是否可测试。
报告的状态包括:IMPLEMENTED(规范完成且代码存在)、MISMATCH(规范标记为完成但代码缺失或不完整)、PENDING(规范尚未标记完成,仅供参考)。
3. 测试覆盖
对于 cmd/skillshare/<cmd>.go 中的每个命令处理程序:检查 tests/integration/<cmd>_test.go 是否存在;检查关键行为是否有测试用例。
使用的命令:
ls cmd/skillshare/*.go | grep -v '_test.go\|main.go\|helpers.go\|mode.go'
ls tests/integration/*_test.go
报告的状态包括:COVERED(命令有带测试用例的集成测试文件)、PARTIAL(测试文件存在但缺少关键场景)、MISSING(该命令没有集成测试)。
4. 目标审计
验证 internal/config/targets.yaml 中的条目:每个目标是否同时具有 global_path 和 project_path;别名是否一致;是否有重复条目。
报告的状态包括:OK(目标条目完整有效)、INCOMPLETE(缺少必填字段)、DUPLICATE(名称或别名冲突)。
5. 处理程序拆分审计
对于 cmd/skillshare/<cmd>.go 中超过 300 行的命令,验证是否遵循处理程序拆分约定。
使用的命令:
wc -l cmd/skillshare/*.go | sort -rn | head -20
拆分约定的后缀包括:_handlers.go(提取核心逻辑)、_render.go(分离输出渲染)、_tui.go(隔离 TUI 组件)。
报告的状态包括:SPLIT(大命令正确遵循拆分约定)、MONOLITH(超过 300 行未拆分,应重构)、N/A(小命令,无需拆分)。
6. Oplog 覆盖
验证所有变更型命令都有 oplog 埋点。
使用的命令:
grep -rn 'func handle\|func cmd' cmd/skillshare/*.go
grep -rn 'oplog.Write' cmd/skillshare/
变更型命令(install、uninstall、sync、update、init、collect、backup、restore、trash)都应写入 oplog。只读命令(list、status、check、search、audit、log、version)不应写入。
报告的状态包括:INSTRUMENTED(变更型命令有 oplog.Write)、MISSING(变更型命令缺少 oplog 埋点)、N/A(只读命令,预期无 oplog)。
7. Web API 一致性
验证 internal/server/handler_*.go 路由与 CLI 命令是否匹配。
使用的命令:
ls internal/server/handler_*.go | grep -v _test.go
grep -n 'HandleFunc\|Handle(' internal/server/server.go
报告的状态包括:SYNCED(CLI 命令有对应的 API 处理程序)、CLI-ONLY(命令仅存在于 CLI 而无 Web API,可能是有意为之)、API-ONLY(API 处理程序没有 CLI 对应项,较少见)。
使用方式
通过 $ARGUMENTS 指定审计范围:如果用户指定 "flags",仅运行维度 1;"handlers" 对应维度 5;"oplog" 对应维度 6;"api" 对应维度 7。省略参数则执行完整审计。
输出格式
技能以表格形式输出各维度的问题数量与状态摘要,包括 CLI 参数、规范、测试覆盖、目标、处理程序拆分、Oplog 和 Web API 等部分,并以 "== Summary: X OK / Y issues found ==" 结尾。
规则
- 只读:绝不修改文件,只报告。
- 基于证据:每一项发现都必须包含文件路径和行号。
- 无误报:在标记之前先用 grep 验证。
- 范围受 $ARGUMENTS 约束。
适用场景与限制
该技能适用于 skillshare 代码库的维护与质量检查,帮助开发者发现文档与代码、测试与实现、配置与目标之间的不一致。其限制在于它只读不改,修复工作需要配合其他技能完成。关于该技能的具体安装方式、收费情况、支持平台等信息,资料中暂未提供。