用途
Agent Sort 用于在某个代码仓库需要项目专属的 ECC 安装面、而非默认全量安装时使用。其目标不是凭感觉猜测哪些组件“有用”,而是依据实际代码库中的证据对 ECC 组件进行分类。
适用场景
- 项目只需要 ECC 的一个子集,全量安装过于嘈杂。
- 仓库技术栈清晰,但没人愿意逐个手动挑选技能。
- 团队希望获得可重复、由 grep 证据支撑而非主观意见的安装决策。
- 需要将始终加载的日常工作流面与可搜索的库/参考面区分开。
- 仓库已经漂移到错误的语言、规则或钩子集合,需要清理。
不可协商的规则
- 以当前仓库为事实来源,而非通用偏好。
- 每个 DAILY 决策都必须引用具体的仓库证据。
- LIBRARY 不意味着“删除”,而是“保持可访问但不默认加载”。
- 不安装当前仓库无法使用的钩子、规则或脚本。
- 优先使用 ECC 原生面,不引入第二套安装系统。
输出物
按顺序产出以下工件:
- DAILY 清单
- LIBRARY 清单
- 安装计划
- 验证报告
- 可选的技能库路由(如果项目需要)
分类模型
仅使用两个桶:
- DAILY:应为此仓库每次会话加载;与仓库的语言、框架、工作流或操作面强烈匹配。
- LIBRARY:值得保留,但不值得默认加载;应通过搜索、路由技能或选择性手动使用保持可达。
证据来源
在做出任何分类前,先使用仓库本地证据:
- 文件扩展名
- 包管理器和锁文件
- 框架配置
- CI 和钩子配置
- 构建/测试脚本
- 导入和依赖清单
- 明确描述技术栈的仓库文档
常用命令包括:
rg --files
rg -n "typescript|react|next|supabase|django|spring|flutter|swift"
cat package.json
cat pyproject.toml
cat Cargo.toml
cat pubspec.yaml
cat go.mod
并行审查轮次
如果可用的并行子代理,将审查拆分为以下轮次:
- Agents:分类 agents/*
- Skills:分类 skills/*
- Commands:分类 commands/*
- Rules:分类 rules/*
- Hooks 和脚本:分类钩子面、MCP 健康检查、辅助脚本和操作系统兼容性
- Extras:分类上下文、示例、MCP 配置、模板和指导文档
如果没有子代理,则按顺序运行相同的轮次。
核心工作流
1. 读取仓库
在分类任何内容前,先确定真实技术栈:
- 使用的语言
- 使用的框架
- 主要包管理器
- 测试栈
- lint/format 栈
- 部署/运行时面
- 已存在的操作集成
2. 构建证据表
对每个候选面,记录:
- 组件路径
- 组件类型
- 建议的桶
- 仓库证据
- 简短理由
使用此格式:
skills/frontend-patterns | skill | DAILY | 84 .tsx files, next.config.ts present | core frontend stack
skills/django-patterns | skill | LIBRARY | no .py files, no pyproject.toml | not active in this repo
rules/typescript/* | rules | DAILY | package.json + tsconfig.json | active TS repo
rules/python/* | rules | LIBRARY | zero Python source files | keep accessible only
3. 决定 DAILY 与 LIBRARY
提升为 DAILY 的条件:
- 仓库明确使用匹配的技术栈
- 组件足够通用,能帮助每次会话
- 仓库已经依赖相应的运行时或工作流
降级为 LIBRARY 的条件:
- 组件不在技术栈内
- 仓库以后可能需要,但不是每天需要
- 它增加上下文开销而没有即时相关性
4. 构建安装计划
将分类转化为行动:
- DAILY 技能 -> 安装或保留在 .claude/skills/
- DAILY 命令 -> 仅在仍然有用时保留为显式 shim
- DAILY 规则 -> 仅安装匹配的语言集
- DAILY 钩子/脚本 -> 仅保留兼容的
- LIBRARY 面 -> 通过搜索或 skill-library 保持可访问
如果仓库已经使用选择性安装,更新该计划而不是创建另一套系统。
5. 创建可选的库路由
如果项目需要可搜索的库面,创建:
.claude/skills/skill-library/SKILL.md
该路由应包含:
- DAILY 与 LIBRARY 的简短说明
- 分组触发关键词
- 库参考所在位置
不要在路由内复制每个技能正文。
6. 验证结果
计划应用后,验证:
- 每个 DAILY 文件都存在于预期位置
- 过时的语言规则没有被保留为活动状态
- 不兼容的钩子没有被安装
- 最终安装确实匹配仓库技术栈
返回紧凑报告,包含:
- DAILY 数量
- LIBRARY 数量
- 移除的过时面
- 未决问题
交接
- 如果下一步是交互式安装或修复,交接给:configure-ecc
- 如果下一步是重叠清理或目录审查,交接给:skill-stocktake
- 如果下一步是更广泛的上下文裁剪,交接给:strategic-compact
输出格式
按此顺序返回结果:
STACK
- language/framework/runtime summary
DAILY
- always-loaded items with evidence
LIBRARY
- searchable/reference items with evidence
INSTALL PLAN
- what should be installed, removed, or routed
VERIFICATION
- checks run and remaining gaps