gsd-review-backlog
Review and promote backlog items to active milestone
How do I install this agent skill?
npx skills add https://github.com/open-gsd/gsd-core --skill gsd-review-backlogIs this agent skill safe to install?
- Gen Agent Trust Hubpass
The skill manages project backlog items by interacting with local files and a vendor-specific CLI tool. It includes logic to locate the tool across various installation paths, verify its identity, and persist its location in the environment path for future use.
- Socketpass
No alerts
- Snykpass
Risk: LOW · No issues
What does this agent skill do?
-
List backlog items:
_BACKLOG=( .planning/phases/999* ) if [ -e "${_BACKLOG[0]}" ]; then ls -d "${_BACKLOG[@]}"; else echo "No backlog items found"; fi -
Read ROADMAP.md and extract all 999.x phase entries:
cat .planning/ROADMAP.mdShow each backlog item with its description, any accumulated context (CONTEXT.md, RESEARCH.md), and creation date.
-
Present the list to the user via AskUserQuestion:
- For each backlog item, show: phase number, description, accumulated artifacts
- Options per item: Promote (move to active), Keep (leave in backlog), Remove (delete)
-
For items to PROMOTE:
- Find the next sequential phase number in the active milestone
- Rename the directory from
999.x-slugto{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) ```
- Move accumulated artifacts to the new phase directory
- Update ROADMAP.md: move the entry from
## Backlogsection to the active phase list - Remove
(BACKLOG)marker - Add appropriate
**Depends on:**field
-
For items to REMOVE:
- Delete the phase directory
- Remove the entry from ROADMAP.md
## Backlogsection
-
Commit changes:
gsd_run query commit "docs: review backlog — promoted N, removed M" --files .planning/ROADMAP.md -
Report summary:
## 📋 Backlog Review Complete Promoted: {list of promoted items with new phase numbers} Kept: {list of items remaining in backlog} Removed: {list of deleted items}
How can the creator link this skill?
Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.
<a href="https://skillzs.dev/skills/open-gsd/gsd-core/gsd-review-backlog">View gsd-review-backlog on skillZs</a>