Trash Truck 是一个用于调查并退役未使用产品、代码、运维或基础设施表面的技能。其核心理念是质疑某个表面是否还应继续存在,并遵循“优先删除而非简化、优先简化而非优化、优先优化而非自动化”的取舍顺序。一个证据充分的保留结论、证据不足或无需变更的结果,同样被视为完整的工作成果。
用途 该技能用于在仓库需要主动修剪时,基于真实使用证据判断哪些产品、代码、运维或基础设施表面可以退役。它既支持交互式发现,也支持指定目标审查,并可在计划模式下自动运行。
主要能力
- 解析调用参数并校验模式、候选目标与持久化选项的合法性。
- 对仓库进行预检,读取目标仓库的活跃指令、问题提交策略与破坏性操作规则,确认仓库身份、当前修订、默认分支、脏状态与可用的只读证据能力。
- 限定调查范围,仅沿目标仓库配置、部署清单、运行时标识或权威文档所识别的直接运维依赖展开,不扩散到供应商级账户、无关仓库或传递依赖。
- 收集证据并主动尝试推翻退役结论,区分被动安装或加载与实际调用,优先使用独立的只读工作器处理可分离的表面。
- 构建候选包并进行排名,依据资格、重要性、评分、平局与批准规则,返回零到三个候选。
- 按模式分支处理:计划模式仅报告,交互式发现呈现排名候选并等待选择,交互式指定目标给出退役、修剪/简化、保留或证据不足的裁决。
- 在执行前刷新易漂移来源,并在证据变化、目标修订变更、置信度下降、来源失效或爆炸半径扩大时使选择失效。
- 执行至多一个经批准的切片,移除完整授权范围,并验证静态消费者与动态入口不再依赖退役表面。
使用方式 调用格式包括: /trash-truck OWNER/REPO mode:interactive /trash-truck OWNER/REPO mode:interactive candidate:"<description>" /trash-truck OWNER/REPO mode:scheduled /trash-truck OWNER/REPO mode:scheduled persist:github 其中 OWNER/REPO 为必填;candidate:"<description>" 可选且仅在交互模式下有效;persist:github 可选且仅在计划模式下有效,且必须来自所有者配置的计划或当前所有者的明确请求。在继续之前需运行 python3 <skill-dir>/scripts/rank_candidates.py mode <invocation-json> 进行规范化与校验。
适用场景 适用于需要主动修剪的仓库,例如调查并退役未使用的产品表面、代码路径、运维任务或基础设施资源。交互模式适合有用户在场时进行发现或指定目标审查;计划模式适合由计划或自动化触发,仅做调查与报告。
限制 计划模式绝不编辑代码、删除任何内容、打开退役 PR、禁用任务、更改模式或数据、变更基础设施、合并、部署或同步活跃技能。交互式调查在所有者选择确切的候选指纹与退役清单之前为只读。选择不等于一揽子删除授权,模式、数据、基础设施、外部集成、合并、部署等仍需各自明确授权。GitHub 问题、先前意见、过期批准或候选评分是证据而非执行权限。不可用、失败、过期或错误环境的遥测绝不能被解释为零使用。结果不得填充,返回零到三个候选。一次运行最多退役一个候选。PR 不等于生产退役,只有在部署修订与部署后证据证明完整清单已消失后,才能将生产表面标记为已退役。