← ClaudeAtlas

helplisted

List every Productizer command with what it does and when to reach for it, read from the installed plugin rather than from memory. Use when asked what productizer can do, what the commands are, how to use it, where to start, or which command to use for something.
gitayg/productizer · ★ 0 · Web & Frontend · score 73
Install: claude install-skill gitayg/productizer
# Productizer — what you can type !`set -e; D="${CLAUDE_PLUGIN_ROOT}/skills"; [ -d "$D" ] || D="$(git rev-parse --show-toplevel 2>/dev/null)/plugins/productizer/skills"; if [ ! -d "$D" ]; then echo "cannot find the plugin's skills directory - this list would be from memory, and memory is what it exists to avoid."; exit 0; fi; V="$(basename "$(dirname "$D")" 2>/dev/null)"; python3 - "$D" <<'PY' import io, os, re, sys d = sys.argv[1] rows = [] for name in sorted(os.listdir(d)): f = os.path.join(d, name, 'SKILL.md') if not os.path.isfile(f): continue try: head = io.open(f, encoding='utf-8', errors='replace').read(4000) except (IOError, OSError): rows.append((name, '(could not be read - present, but unreadable)', '')); continue nm = re.search(r'^name:\s*(\S+)\s*$', head, re.M) ds = re.search(r'^description:\s*"(.*?)"\s*$', head, re.M | re.S) hint = re.search(r'^argument-hint:\s*"(.*?)"\s*$', head, re.M) auto = not re.search(r'^disable-model-invocation:\s*true\s*$', head, re.M) first = (ds.group(1).split('. ')[0] + '.') if ds else '(no description)' rows.append(((nm.group(1) if nm else name), first, hint.group(1) if hint else '', auto)) if not rows: print(' no commands found in %s' % d) for r in rows: nm, first, hint = r[0], r[1], r[2] auto = r[3] if len(r) > 3 else False print(' /productizer:%-10s %s%s' % (nm, hint, ' [auto]' if auto else '')) print(' %s' % first) print('') print(' %d c