← ClaudeAtlas

backloglisted

Show the backlog — the queue in front of the lifecycle — and add to it, reorder it, or start work on an item. Everything here is a want, not a requirement: nothing in the backlog has been agreed. Use when asked what is queued, what is next, to add something to the backlog, to reprioritise, or to pick up an item.
gitayg/productizer · ★ 0 · Web & Frontend · score 76
Install: claude install-skill gitayg/productizer
# The backlog !`set -e; R="$(git rev-parse --show-toplevel)"; F="$R/.claude/productizer/backlog.md"; if [ ! -e "$F" ]; then echo "No backlog at .claude/productizer/backlog.md."; echo "That is no queue, not an empty one: nothing records that something was wanted before it was agreed."; exit 0; fi; if [ ! -r "$F" ]; then echo "backlog.md exists and cannot be read. Unknown, not empty."; exit 0; fi; python3 - "$F" <<'PY' import io, re, sys rows = [] for n, l in enumerate(io.open(sys.argv[1], encoding='utf-8'), 1): if re.match(r'^\| B\d+ \|', l): c = [x.strip() for x in re.split(r'(?<!\\)\|', l.strip().strip('|'))] if len(c) < 6: print(' MALFORMED row at line %d: %d cells, expected 6' % (n, len(c))) continue rows.append(c) live = [c for c in rows if c[2].strip('`').lower() != 'done'] done = len(rows) - len(live) order = {'in-progress': 0, 'blocked': 1, 'todo': 2, 'long-term': 3} live.sort(key=lambda c: order.get(c[2].strip('`').lower(), 9)) for c in live: print(' %-5s %-13s %s' % (c[0], c[2].strip('`'), c[1][:66])) print('') print(' %d in the queue, %d done and not listed. Next id: %s' % (len(live), done, (re.search(r'Next backlog id\s*\n?:\s*`(B\d+)`', io.open(sys.argv[1], encoding='utf-8').read()) or type('x', (), {'group': lambda s, i: '?'})()).group(1))) PY` ## What this is **Nothing here is agreed.** These are wants. An item leaves this file by becoming an intent at Stag