menulisted
Install: claude install-skill SONGYEONGSIN/vibe-flow
# /menu
vibe-flow 24 스킬을 카테고리별로 보여주고 사용 분포 + Stage 추천을 함께 출력한다.
## 트리거
- 사용자: `/menu`, `/menu core`, `/menu extensions`, `/menu <category>` (사이클|작업|검증|git|메타|meta-quality|design-system|deep-collaboration|learning-loop|code-feedback)
## 절차
### 1. 활성 extensions + Stage 조회
```bash
ACTIVE_EXTS="[]"
EXT_COUNT=0
if [ -f ".claude/.vibe-flow.json" ]; then
ACTIVE_EXTS=$(jq -c '.extensions | keys' .claude/.vibe-flow.json 2>/dev/null || echo '[]')
EXT_COUNT=$(jq '.extensions | length' .claude/.vibe-flow.json 2>/dev/null || echo 0)
fi
STAGE=""
STAGE_NAME=""
if [ -f ".claude/memory/onboard-state.json" ]; then
STAGE=$(jq -r '.stage // ""' .claude/memory/onboard-state.json 2>/dev/null)
STAGE_NAME=$(jq -r '.stage_name // ""' .claude/memory/onboard-state.json 2>/dev/null)
fi
```
### 2. 스킬별 사용 횟수 (events.jsonl 1패스 aggregation)
```bash
declare -A USAGE
if [ -f ".claude/events.jsonl" ]; then
while IFS=$'\t' read -r type count; do
USAGE["$type"]=$count
done < <(jq -r '.type // empty' .claude/events.jsonl 2>/dev/null | sort | uniq -c | awk '{print $2"\t"$1}')
fi
# 사용 분포 라벨 함수
usage_label() {
local n=${USAGE[$1]:-0}
if [ "$n" -ge 6 ]; then echo "✓ 자주 사용"
elif [ "$n" -ge 1 ]; then echo "· 가끔"
else echo "· 미사용"
fi
}
```
### 3. Stage별 추천 매핑
```bash
RECOMMEND=""
case "$STAGE" in
0) RECOMMEND="brainstorm" ;;
1) RECOMMEND="commit verify" ;;
2) RECOMMEND="test security scaffold" ;;
3) RECOMMEND="retrospective" ;;
4) RECOMMEND="eval evolve" ;;
esac
is_recomm