研发协作
清理 GitHub Projects 已完成条目时,用…
适用于 GitHub Projects 看板中已完成(Done)条目需要批量归档、并希望确认或减少手动清理的场景。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 38/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 59/100 ×0.15
适用场景
清理 GitHub Projects 已特定
解决思路
- 先检查内置 Auto-archive 工作流状态:打开 `https://github.com/orgs/<owner>/projects/<number>/workflows`(个人项目为 `https://github.com/users/<owner>/projects/<number>/workflows`),并向用户确认设置情况。
- 如果 Auto-archive 已启用,通常不需要执行本技能;仅在需要立即归档时继续。
- 如果 Auto-archive 未启用,则继续手动归档;必要时建议用户启用 Auto-archive。
- 获取项目条目:`gh project item-list <number> --owner <owner> --format json --limit 999`。
- 获取字段元数据:`gh project field-list <number> --owner <owner> --format json`。
- 从字段元数据中定位 Status 字段的 ID 和 Done 选项的 ID。
- 从项目条目结果中筛选 Status 为 Done 的条目。
- 如果 `--query` 可用,则使用:`gh project item-list <number> --owner <owner> --query "status:Done" --format json` 进行筛选。
- 向用户显示将要归档的目标条目并请求确认,例如列出 `#42: feat: 社交登录(Done)`、`#43: fix: 校验错误(Done)`、`#44: docs: API 文档更新(Done)` 等 N 条,并询问是否执行。
- 用户确认后,逐条归档:`gh project item-archive <number> --owner <owner> --id <item-id>`。
- 报告归档结果:已归档 N 件、剩余活动条目 M 件、看板上的 Done 条目 0 件。
- 如果 Auto-archive 未启用,推荐启用并说明:Done 后经过 N 天会自动归档,设置地址为上述 workflows URL。
- 验证:再次执行 `gh project item-list <number> --owner <owner> --format json --limit 999`,确认 Status 为 Done 的条目已从列表消失。
- 说明归档可撤销:`gh project item-archive --undo`。
- 说明归档后的条目会从项目视图中隐藏,但不会被删除。
- 归档前必须获得用户确认。
- 可与 Auto-archive 内置工作流并用,以减少手动执行频率。
- 可按特定条件(日期范围、标签等)过滤后再归档。
- 在 sandbox 环境中,本技能必须进行 GitHub 网络操作(`gh project item-archive`);需对相关命令单独禁用 sandbox 后执行;无法解除网络限制的环境不能执行。
适用边界 · 注意事项
- `gh` CLI 未安装、未认证或没有 `project` scope,或目标 GitHub Project 没有 Done 条目时不适用。
- Auto-archive 已启用且不需要立即归档时,不必手动执行。
- sandbox 环境无法解除网络限制,或无法访问 GitHub 网络时不适用。