# Setup Channels

> Claude Channels(텔레그램/디스코드) 자동 셋업. 폰에서 메시지로 Claude Code에 작업 지시 가능. --auto 플래그와 FORGE_OUTPUT=json 프로토콜 공유.

- **Type:** Skill
- **Install:** `agentstack add skill-ggombee-code-forge-setup-channels`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [ggombee](https://agentstack.voostack.com/s/ggombee)
- **Installs:** 0
- **Category:** [Agent Skills](https://agentstack.voostack.com/c/agent-skills)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [ggombee](https://github.com/ggombee)
- **Source:** https://github.com/ggombee/code-forge/tree/main/skills/setup-channels

## Install

```sh
agentstack add skill-ggombee-code-forge-setup-channels
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# /setup-channels

Claude Channels를 통해 **텔레그램/디스코드에서 Claude Code 세션에 원격 접근**합니다.
폰에서 메시지만으로 `/start`, `/test` 같은 명령을 실행할 수 있고,
`--auto` 플래그와 결합하면 블로킹 없이 자동 완료됩니다.

**[즉시 실행]** 아래 흐름을 바로 시작하세요.

---

## 사용법

```
/setup-channels                  → AskUserQuestion으로 플랫폼 선택
/setup-channels telegram         → 텔레그램 직행
/setup-channels discord          → 디스코드 직행
/setup-channels --status         → 현재 연결 상태 확인
/setup-channels --uninstall      → 연결 제거
```

---

## Step 1: 플랫폼 선택

`$ARGUMENTS`에 `telegram`/`discord`가 포함되면 Step 2로. 아니면 `AskUserQuestion`으로 질문:

```
AskUserQuestion({
  questions: [{
    question: "어떤 채널을 연결할까요?",
    header: "채널 플랫폼",
    options: [
      { label: "Telegram", description: "BotFather로 봇 생성 → 다이렉트 메시지로 명령 실행" },
      { label: "Discord", description: "Discord Developer Portal로 봇 생성 → 서버/DM으로 명령 실행" },
      { label: "둘 다", description: "순차적으로 둘 다 셋업" }
    ],
    multiSelect: false
  }]
})
```

---

## Step 2: 전제 조건 확인

```bash
# Claude Code 버전 (Channels는 v2.1.80+ 필요)
claude --version

# Channels 플러그인 설치 여부
claude plugin list | grep -i channel
```

미설치면 마켓플레이스에서 설치:
```bash
claude plugin install claude-channels  # 이름은 실제 배포명에 맞춰 확인
```

---

## Step 3-A: Telegram 셋업

### 3A-1. 봇 토큰 발급 안내

사용자에게 다음을 안내:

```
1. 텔레그램에서 @BotFather 찾기
2. /newbot 명령 입력
3. 봇 이름 지정 (예: "ggombee-forge-bot")
4. 봇 유저네임 지정 (예: "ggombee_forge_bot" — _bot으로 끝나야 함)
5. 받은 API 토큰(형식: 123456789:ABC-DEF...) 복사
```

AskUserQuestion으로 토큰 입력 요청:

```
AskUserQuestion({
  questions: [{
    question: "BotFather에서 받은 토큰을 붙여넣어주세요",
    header: "Telegram Bot Token",
    options: [
      { label: "직접 입력", description: "토큰을 다음 입력에 붙여넣기 (123456789:ABC...)" },
      { label: "취소", description: "셋업 중단" }
    ],
    multiSelect: false
  }]
})
```

### 3A-2. 토큰 저장

```bash
# ~/.claude/channels/telegram.env 에 저장 (권한 600)
mkdir -p ~/.claude/channels
cat > ~/.claude/channels/telegram.env  URL Generator":
   - Scopes: bot, applications.commands
   - Bot Permissions: Send Messages, Read Message History
6. 생성된 URL로 봇을 서버에 초대
```

### 3B-2. 토큰 저장 + 설정

Telegram 3A-2, 3A-3과 동일한 패턴. 파일명만 `discord.{env,json}`.

---

## Step 4: 로컬 데몬 자동 시작 (옵션)

macOS `launchd` 또는 `pm2`로 봇 프로세스를 백그라운드 실행:

### launchd (추천 — macOS 네이티브)

```xml

  
    Labelcom.ggombee.claude-channels
    ProgramArguments
    
      /bin/bash
      -c
      source ~/.claude/channels/telegram.env && claude channels start --platform telegram
    
    RunAtLoad
    KeepAlive
    StandardErrorPath~/Library/Logs/claude-channels.err
  

```

```bash
launchctl load ~/Library/LaunchAgents/com.ggombee.claude-channels.plist
```

### pm2 (Node 개발자 선호)

```bash
pm2 start "claude channels start --platform telegram" --name forge-channels
pm2 save
pm2 startup
```

---

## Step 5: 검증

```bash
/setup-channels --status
```

기대 출력:
```
✅ telegram  연결됨  (인증: @ggombee)  최근 메시지: 2분 전
⏸ discord   미설정
```

텔레그램에서 `/start TICKET-123 --auto` 메시지 전송 → 봇이 작업 분석/구현/커밋까지 자동 완료 후 결과 리포트.

---

## Step 6: 사용 팁

### 원격 시나리오

| 상황 | 폰에서 할 일 |
|-----|-----------|
| 아이디어 떠오름 | `/notepad-add 이 부분 리팩토링 필요` → .claude/state/notepad.md |
| 버그 리포트 | `/start "에러: XXX" --auto` — 2-3 옵션 받고 선택 |
| 긴 빌드 감시 | `ScheduleWakeup` 훅이 완료 알림 (Phase K) |
| 상태 확인 | `/forge-status` (Phase H) |

### 보안

- 토큰 파일 권한 **반드시 600**
- `TELEGRAM_AUTHORIZED_USER` 화이트리스트로 **본인 user_id만** 허용
- `allowedCommands`에 위험 명령(`--no-verify`, `rm -rf`) 금지
- 원격에서 오는 명령도 `hooks/guard.sh` + `write-guard.sh` 전부 거침

---

## Step 7: 문제 해결

| 증상 | 원인 | 해결 |
|-----|-----|-----|
| 봇이 응답 안 함 | 프로세스 중단 | `pm2 restart` 또는 launchd reload |
| "unauthorized" | user_id 미등록 | telegram.env의 `TELEGRAM_AUTHORIZED_USER` 갱신 |
| 블로킹으로 멈춤 | `--auto` 미포함 | `defaultFlags: "--auto"` 확인 |
| 메시지 못 읽음 | Discord 권한 부족 | "Read Message History" intent 활성화 |

---

## 관련 문서

- `@../../references/forge-bot-integration.md` — FORGE_OUTPUT=json 프로토콜 스펙
- `@../../docs/contracts/state-schema.md` — 세션 간 상태 파일 계약
- 원격 개발 환경 전체 계획은 사용자 로컬 plan 파일 참고

---

## 금지 사항

- 토큰/인증정보 커밋 금지 (`.gitignore`에 `.claude/channels/` 추가 권장)
- 공개 Discord 서버에 봇 추가 금지 — 누구나 명령 실행 가능해짐
- Channels 플러그인 미설치 상태로 이 스킬 완료 처리 금지 — Step 2에서 중단

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [ggombee](https://github.com/ggombee)
- **Source:** [ggombee/code-forge](https://github.com/ggombee/code-forge)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** yes
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-ggombee-code-forge-setup-channels
- Seller: https://agentstack.voostack.com/s/ggombee
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
