fpm-cdflisted
Install: claude install-skill Finfra/fpm
# CDF Skill
인자: $ARGUMENTS
## cdft 우선 호출 규칙
`~/.zsh_functions`에 `cdft()` 함수가 존재함. **query 모드를 제외한 모든 모드**(setup, send, list, kill, capture)는 `cdft`를 bash에서 직접 실행하여 처리할 것.
```bash
# query 모드 판별
if echo "$ARGUMENTS" | /usr/bin/grep -qE '(^|[[:space:]]): .'; then
# query 모드 → 아래 스킬 로직 실행
:
else
# cdft 직접 실행 (빠르고 안정적)
cdft $ARGUMENTS
# 여기서 종료 — 아래 로직 실행 불필요
fi
```
query 모드가 아니면 cdft 실행 후 종료. **아래 절차는 query 모드에서만 실행함.**
---
아래 절차를 **순서대로 bash 명령으로 직접 실행**할 것. 설명만 하지 말고 실행해야 함.
## Step 1: ARGUMENTS 파싱
**입력:** `$ARGUMENTS`
### 특수 키워드 즉시 처리
| 조건 | 처리 |
| ------------------------- | ------------------------------------ |
| 비어있음 또는 `list` | list 모드 실행 후 종료 |
| `kill` [WIN_NAME] | kill 모드 실행 후 종료 |
| `kill` N N ... | 윈도우 인덱스 N들을 삭제 |
| `capture` [N] ([:NAME]) | capture 모드: 각 pane 상태+출력 수집 |
### 파싱 (순서대로)
**1. `@N` 윈도우 번호 추출**
```bash
TMUX=/opt/homebrew/bin/tmux
if echo "$ARGUMENTS" | /usr/bin/grep -qE '@[0-9]+'; then
WIN_NUM=$(echo "$ARGUMENTS" | /usr/bin/grep -oE '@[0-9]+' | /usr/bin/tr -d '@')
ARGS_W=$(echo "$ARGUMENTS" | /usr/bin/sed 's/@[0-9]*//g' | /usr/bin/sed 's/ */ /g;s/^ //;s/ $//')
TARGET_WIN=$($TMUX display-message -t "pm:$WIN_NUM" -p '#W' 2>/dev/null)
[ -z "$TARGET_WIN" ] && TARGET_WIN="win-$WIN_NUM" && WIN_CREATE_IDX="$WIN_NUM"
else
WIN_NUM=""
ARGS_W="$ARGUMENTS"
TARGET_WIN=""
fi
```
**2. `:NAME` 윈도우 이름 추출**
```bash