关于 gsd-review-backlog
gsd-review-backlog 是用于检查项目规划中 999.x 待办阶段的技能,可将条目移入当前里程碑、保留或删除,并更新规划记录。
主要功能
- 01列出待办阶段及相关资料
- 02展示描述、背景和创建日期
- 03将选定阶段移入当前序列
- 04删除过时阶段目录和路线图条目
- 05更新路线图并提交审查结果
适用场景
- 01开始新里程碑前检查延期工作
- 02将待办阶段纳入当前计划
- 03删除过时的规划条目
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ open-gsd/ gsd-core --skill gsd-review-backlog安装后在 Claude Code 中输入/gsd-review-backlog确认已加载。
详细介绍
-
列出待办事项:
_BACKLOG=( .planning/phases/999* ) if [ -e "${_BACKLOG[0]}" ]; then ls -d "${_BACKLOG[@]}"; else echo "No backlog items found"; fi -
阅读 ROADMAP.md 并提取所有 999.x 阶段条目:
cat .planning/ROADMAP.md显示每个待办事项的描述、已累积的上下文(CONTEXT.md、RESEARCH.md)和创建日期。
-
通过 AskUserQuestion 向用户展示列表:
- 对于每个待办事项,显示:阶段编号、描述、已累积的产物
- 每个事项的选项:提升(移至当前序列)、保留(留在待办列表中)、删除
-
对于要提升的事项:
- 查找当前里程碑中的下一个连续阶段编号
- 将目录从
999.x-slug重命名为{new_num}-slug:
_GSD_SHIM_NAME="gsd-tools.cjs"; _GSD_RUNTIME_ROOT="${RUNTIME_DIR:-$(git rev-parse --show-toplevel 2>/dev/null || pwd)}"; GSD_TOOLS="${_GSD_RUNTIME_ROOT}/gsd-core/bin/${_GSD_SHIM_NAME}"; _gsd_at() { for _p; do if [ -f "$_p" ]; then GSD_TOOLS="$_p"; return 0; fi; done; return 1; }; _gsd_id_ok() { case "$("$1" runtime-identity --raw 2>/dev/null || true)" in '{"packageName":"@opengsd/gsd-core"'*'}') return 0;; ) return 1;; esac; }; _gsd_homes() { set -- "${CLAUDE_CONFIG_DIR:-$HOME/.claude}" "${ANTIGRAVITY_CONFIG_DIR:-$HOME/.gemini/antigravity}" "$HOME/.gemini/antigravity-ide" "$HOME/.gemini/antigravity-cli" "${AUGMENT_CONFIG_DIR:-$HOME/.augment}" "${CLINE_CONFIG_DIR:-$HOME/.cline}" "${CODEBUDDY_CONFIG_DIR:-$HOME/.codebuddy}" "${CODEX_HOME:-$HOME/.codex}" "${COPILOT_CONFIG_DIR:-${COPILOT_HOME:-$HOME/.copilot}}" "${CURSOR_CONFIG_DIR:-$HOME/.cursor}" "${HERMES_HOME:-$HOME/.hermes}" "${KILO_CONFIG_DIR:-${XDG_CONFIG_HOME:-$HOME/.config}/kilo}" "${KIMI_CONFIG_DIR:-$HOME/.config/agents}" "$HOME/.agents" "${KIMI_CODE_HOME:-$HOME/.kimi-code}" "${OPENCODE_CONFIG_DIR:-${XDG_CONFIG_HOME:-$HOME/.config}/opencode}" "${PI_CODING_AGENT_DIR:-$HOME/.pi/agent}" "${QWEN_CONFIG_DIR:-$HOME/.qwen}" "${TRAE_CONFIG_DIR:-$HOME/.trae}" "${WINDSURF_CONFIG_DIR:-$HOME/.codeium/windsurf}" "${ZCODE_CONFIG_DIR:-$HOME/.zcode}" "${GROK_AGENTS_HOME:-$HOME/.agents}"; for _h; do _gsd_at "$_h/gsd-core/bin/${_GSD_SHIM_NAME}" && return 0; done; return 1; }; if _gsd_at "${_GSD_RUNTIME_ROOT}/gsd-core/bin/${_GSD_SHIM_NAME}" "${_GSD_RUNTIME_ROOT}/.claude/gsd-core/bin/${_GSD_SHIM_NAME}" "${_GSD_RUNTIME_ROOT}/.codex/gsd-core/bin/${_GSD_SHIM_NAME}"; then gsd_run() { node "$GSD_TOOLS" "$@"; }; elif _gsd_homes; then gsd_run() { node "$GSD_TOOLS" "$@"; }; elif unset -f gsd_run; _G="$(command -v gsd_run)"; [ -n "$_G" ] && _gsd_id_ok "$_G"; then GSD_TOOLS="$_G"; gsd_run() { "$GSD_TOOLS" "$@"; }; else echo "ERROR: gsd-tools.cjs not found at $GSD_TOOLS and no identity-proving gsd_run is on PATH. Run: npx -y @opengsd/gsd-core@latest --claude --local" >&2; exit 1; fi; GSD_IDENTITY_STATUS=unverified; _gsd_id_ok gsd_run && GSD_IDENTITY_STATUS=ok; export GSD_IDENTITY_STATUS; [ "$GSD_IDENTITY_STATUS" = ok ] || echo "WARNING: "$GSD_TOOLS" did not prove it is @opengsd/gsd-core - it is either a different package or an @opengsd/gsd-core older than the runtime-identity verb. See docs/how-to/diagnose-a-foreign-gsd-tools.md" >&2; if [ -n "${CLAUDE_ENV_FILE:-}" ] && [ -n "${GSD_TOOLS:-}" ]; then printf "export PATH='%s':"$PATH"\n" "${GSD_TOOLS%/}" >> "$CLAUDE_ENV_FILE" 2>/dev/null || true; fi NEW_NUM=$(gsd_run query phase.add "${DESCRIPTION}" --raw) ```
- 将已累积的产物移至新的阶段目录
- 更新 ROADMAP.md:将条目从
## Backlog部分移至当前阶段列表 - 移除
(BACKLOG)标记 - 添加适当的
**Depends on:**字段
-
对于要删除的事项:
- 删除阶段目录
- 从 ROADMAP.md 的
## Backlog部分移除该条目
-
提交更改:
gsd_run query commit "docs: review backlog — promoted N, removed M" --files .planning/ROADMAP.md -
汇总报告:
## 📋 Backlog Review Complete Promoted: {list of promoted items with new phase numbers} Kept: {list of items remaining in backlog} Removed: {list of deleted items}