tfx-remote-setuplisted
Install: claude install-skill genusarvicolabathos238/triflux
# tfx-remote-setup — 원격 호스트 설정 위저드
> **ARGUMENTS 처리**: 이 스킬이 `ARGUMENTS: <값>`과 함께 호출되면, 해당 값을 사용자 입력으로 취급하여
> 워크플로우의 첫 단계 입력으로 사용한다. ARGUMENTS가 비어있거나 없으면 기존 절차대로 사용자에게 입력을 요청한다.
> 원격 세션(tfx-remote-spawn)을 쓰기 전에 호스트를 설정합니다.
> Tailscale 네트워크 자동 감지 → SSH 연결 → Claude 프로브 → hosts.json 등록을 한번에.
## 워크플로우
### Step 1: 모드 선택 (AskUserQuestion)
인자 없이 호출된 경우:
```
question: "어떤 설정을 하시겠습니까?"
header: "원격 설정"
options:
- label: "새 호스트 추가 (Add)"
description: "Tailscale 감지 → SSH 연결 → Claude 프로브 → hosts.json 등록"
- label: "기존 호스트 편집 (Edit)"
description: "별칭, 기본 디렉토리, 설명 수정"
- label: "전체 프로브 (Probe All)"
description: "등록된 모든 호스트 환경을 일괄 점검"
- label: "진단 (Diagnose)"
description: "Tailscale, SSH, psmux, WT, hosts.json 전체 상태 확인"
```
`--add` → 바로 호스트 추가 플로우.
`--edit` → 바로 편집 플로우.
`--probe-all` → 바로 전체 프로브.
`--diagnose` → 바로 진단.
### Step 2: 모드별 실행
#### 새 호스트 추가 (Add)
**2-1. Tailscale 네트워크 감지**
먼저 Tailscale tailnet의 피어 목록을 조회한다:
```bash
tailscale status --json 2>/dev/null
```
Tailscale이 설치되어 있고 로그인 상태이면, 피어 목록에서 호스트를 AskUserQuestion으로 표시:
```
question: "Tailscale 네트워크에서 호스트가 감지되었습니다. 선택하세요."
header: "Tailscale 피어"
options:
- label: "ultra4 (100.x.x.x)"
description: "Windows | online | ultra4.yak-bebop.ts.net"
- label: "m2 (100.y.y.y)"
description: "macOS | online | m2.yak-bebop.ts.net"
- label: "SSH config에서 선택"
description: "Tailscale 대신 ~/.ssh/config에서 호스트 선택"
- label: "직접 입력"
description: "호스트명을 수동 입력"
```
옵션은 `tailscale status --json`에서 동