tfx-psmux-ruleslisted
Install: claude install-skill genusarvicolabathos238/triflux
# tfx-psmux-rules — psmux + Codex CLI 강제 규칙
> **이 스킬은 참고 문서가 아니다. 강제 규칙이다.**
> psmux 명령, launch 스크립트, Codex CLI 호출을 생성하는 모든 스킬은
> 아래 규칙을 **반드시** 준수해야 한다. 위반 시 생성을 중단하고 수정한다.
## 적용 시점
다음 행위 중 하나라도 수행할 때 이 규칙이 자동 적용된다:
- `psmux send-keys` 명령 생성
- `launch-*.sh` 또는 `launch-*.ps1` 스크립트 생성
- `codex` CLI 호출 인자 조합
- `wt.exe` 탭/패인 명령 생성
- 스웜 세션 정리
---
## RULE 1: psmux 기본 셸 = PowerShell
psmux 세션의 기본 셸은 **PowerShell**이다.
### MUST NOT (금지)
```bash
# WRONG — bash 문법을 PowerShell 세션에 직접 전달
psmux send-keys -t session "cd '/c/Users/...' && codex ..." Enter
psmux send-keys -t session "prompt=\$(cat file.md)" Enter
psmux send-keys -t session "export FOO=bar" Enter
```
### MUST (필수)
```bash
# CORRECT — PowerShell 구문으로 bash.exe 전체 경로 호출
BASH_WIN='C:\\Program Files\\Git\\bin\\bash.exe'
psmux send-keys -t session "& '$BASH_WIN' './launch.sh'" Enter
# CORRECT — PowerShell 네이티브 명령 사용
psmux send-keys -t session "Set-Location 'C:\\path'" Enter
psmux send-keys -t session "\$p = Get-Content 'file.md' -Raw" Enter
```
### 금지 패턴 체크리스트
| 패턴 | 문제 | 대체 |
|------|------|------|
| `cd '/c/...'` | PS가 `/c/`를 상대경로로 해석 → `C:\c\...` | `Set-Location 'C:\...'` |
| `$(cat file)` | bash 명령 치환, PS에서 `Get-Content` 호출됨 | `$p = Get-Content file -Raw` |
| `&&` | PS7에서 작동하지만 앞 명령 실패 시 의미 다름 | `;` 또는 별도 send-keys |
| `export VAR=val` | bash 전용 | `$env:VAR = 'val'` |
| `grep`, `awk`, `sed` | bash 유틸리티 | PS cmdlet 또는 bash.exe 경유 |
---
## RULE 2: 경로는 Windows 형식
psmux send-keys로 전달하는 경로는 반드시 **Windows 형식**이다.
```