backloglisted
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