docs(channel-skills): rewrite all 13 /add-*-v2 skills for copy-from-channels-branch pattern

Each skill now:
- Pre-flight: checks for file present + import line + dep listed (idempotent)
- git fetch origin channels
- git show origin/channels:<paths> > <paths> to copy adapter (and helpers/tests/setup-step where applicable)
- Append `import './<chan>.js';` to src/channels/index.ts
- pnpm install <pkg>@<pinned-version>
- pnpm run build

Telegram additionally copies 4 helper/test files + setup/pair-telegram.ts
and registers `'pair-telegram':` in setup/index.ts STEPS.

WhatsApp (native) additionally copies setup/whatsapp-auth.ts and
registers `'whatsapp-auth':` in setup/index.ts STEPS, installs
@whiskeysockets/baileys + qrcode + @types/qrcode pinned.

All credential / next-steps / channel-info / troubleshooting sections
preserved verbatim.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
gavrielc
2026-04-17 14:24:20 +03:00
parent 437ba63a2f
commit a3376c25df
13 changed files with 427 additions and 98 deletions

View File

@@ -7,23 +7,47 @@ description: Add Discord bot channel integration to NanoClaw v2 via Chat SDK.
Adds Discord bot support to NanoClaw v2. Discord is built in — no adapter package to install. Adds Discord bot support to NanoClaw v2. Discord is built in — no adapter package to install.
## Pre-flight
Check if `src/channels/discord.ts` exists and the import is uncommented in `src/channels/index.ts`. If both are in place, skip to Credentials.
## Install ## Install
Discord support is bundled with NanoClaw — there is no separate package to install. v2 trunk doesn't ship channels. This skill copies the Discord adapter in from the `channels` branch.
### Enable the channel ### Pre-flight (idempotent)
Uncomment the Discord import in `src/channels/index.ts`: Skip to **Credentials** if all of these are already in place:
- `src/channels/discord.ts` exists
- `src/channels/index.ts` contains `import './discord.js';`
- `@chat-adapter/discord` is listed in `package.json` dependencies
Otherwise continue. Every step below is safe to re-run.
### 1. Fetch the channels branch
```bash
git fetch origin channels
```
### 2. Copy the adapter
```bash
git show origin/channels:src/channels/discord.ts > src/channels/discord.ts
```
### 3. Append the self-registration import
Append to `src/channels/index.ts` (skip if the line is already present):
```typescript ```typescript
import './discord.js'; import './discord.js';
``` ```
### Build ### 4. Install the adapter package (pinned)
```bash
pnpm install @chat-adapter/discord@4.26.0
```
### 5. Build
```bash ```bash
pnpm run build pnpm run build

View File

@@ -7,22 +7,48 @@ description: Add Google Chat channel integration to NanoClaw v2 via Chat SDK.
Adds Google Chat support to NanoClaw v2 using the Chat SDK bridge. Adds Google Chat support to NanoClaw v2 using the Chat SDK bridge.
## Pre-flight
Check if `src/channels/gchat.ts` exists and the import is uncommented in `src/channels/index.ts`. If both are in place, skip to Credentials.
## Install ## Install
v2 trunk doesn't ship channels. This skill copies the Google Chat adapter in from the `channels` branch.
### Pre-flight (idempotent)
Skip to **Credentials** if all of these are already in place:
- `src/channels/gchat.ts` exists
- `src/channels/index.ts` contains `import './gchat.js';`
- `@chat-adapter/gchat` is listed in `package.json` dependencies
Otherwise continue. Every step below is safe to re-run.
### 1. Fetch the channels branch
```bash ```bash
pnpm install @chat-adapter/gchat git fetch origin channels
``` ```
Uncomment the Google Chat import in `src/channels/index.ts`: ### 2. Copy the adapter
```bash
git show origin/channels:src/channels/gchat.ts > src/channels/gchat.ts
```
### 3. Append the self-registration import
Append to `src/channels/index.ts` (skip if the line is already present):
```typescript ```typescript
import './gchat.js'; import './gchat.js';
``` ```
### 4. Install the adapter package (pinned)
```bash
pnpm install @chat-adapter/gchat@4.26.0
```
### 5. Build
```bash ```bash
pnpm run build pnpm run build
``` ```

View File

@@ -7,22 +7,48 @@ description: Add GitHub channel integration to NanoClaw v2 via Chat SDK. PR and
Adds GitHub support to NanoClaw v2 using the Chat SDK bridge. The agent participates in PR and issue comment threads. Adds GitHub support to NanoClaw v2 using the Chat SDK bridge. The agent participates in PR and issue comment threads.
## Pre-flight
Check if `src/channels/github.ts` exists and the import is uncommented in `src/channels/index.ts`. If both are in place, skip to Credentials.
## Install ## Install
v2 trunk doesn't ship channels. This skill copies the GitHub adapter in from the `channels` branch.
### Pre-flight (idempotent)
Skip to **Credentials** if all of these are already in place:
- `src/channels/github.ts` exists
- `src/channels/index.ts` contains `import './github.js';`
- `@chat-adapter/github` is listed in `package.json` dependencies
Otherwise continue. Every step below is safe to re-run.
### 1. Fetch the channels branch
```bash ```bash
pnpm install @chat-adapter/github git fetch origin channels
``` ```
Uncomment the GitHub import in `src/channels/index.ts`: ### 2. Copy the adapter
```bash
git show origin/channels:src/channels/github.ts > src/channels/github.ts
```
### 3. Append the self-registration import
Append to `src/channels/index.ts` (skip if the line is already present):
```typescript ```typescript
import './github.js'; import './github.js';
``` ```
### 4. Install the adapter package (pinned)
```bash
pnpm install @chat-adapter/github@4.26.0
```
### 5. Build
```bash ```bash
pnpm run build pnpm run build
``` ```

View File

@@ -7,22 +7,48 @@ description: Add iMessage channel integration to NanoClaw v2 via Chat SDK. Local
Adds iMessage support to NanoClaw v2 using the Chat SDK bridge. Two modes: local (macOS with Full Disk Access) or remote (Photon API). Adds iMessage support to NanoClaw v2 using the Chat SDK bridge. Two modes: local (macOS with Full Disk Access) or remote (Photon API).
## Pre-flight
Check if `src/channels/imessage.ts` exists and the import is uncommented in `src/channels/index.ts`. If both are in place, skip to Credentials.
## Install ## Install
v2 trunk doesn't ship channels. This skill copies the iMessage adapter in from the `channels` branch.
### Pre-flight (idempotent)
Skip to **Credentials** if all of these are already in place:
- `src/channels/imessage.ts` exists
- `src/channels/index.ts` contains `import './imessage.js';`
- `chat-adapter-imessage` is listed in `package.json` dependencies
Otherwise continue. Every step below is safe to re-run.
### 1. Fetch the channels branch
```bash ```bash
pnpm install chat-adapter-imessage git fetch origin channels
``` ```
Uncomment the iMessage import in `src/channels/index.ts`: ### 2. Copy the adapter
```bash
git show origin/channels:src/channels/imessage.ts > src/channels/imessage.ts
```
### 3. Append the self-registration import
Append to `src/channels/index.ts` (skip if the line is already present):
```typescript ```typescript
import './imessage.js'; import './imessage.js';
``` ```
### 4. Install the adapter package (pinned)
```bash
pnpm install chat-adapter-imessage@0.1.1
```
### 5. Build
```bash ```bash
pnpm run build pnpm run build
``` ```

View File

@@ -7,22 +7,48 @@ description: Add Linear channel integration to NanoClaw v2 via Chat SDK. Issue c
Adds Linear support to NanoClaw v2 using the Chat SDK bridge. The agent participates in issue comment threads. Adds Linear support to NanoClaw v2 using the Chat SDK bridge. The agent participates in issue comment threads.
## Pre-flight
Check if `src/channels/linear.ts` exists and the import is uncommented in `src/channels/index.ts`. If both are in place, skip to Credentials.
## Install ## Install
v2 trunk doesn't ship channels. This skill copies the Linear adapter in from the `channels` branch.
### Pre-flight (idempotent)
Skip to **Credentials** if all of these are already in place:
- `src/channels/linear.ts` exists
- `src/channels/index.ts` contains `import './linear.js';`
- `@chat-adapter/linear` is listed in `package.json` dependencies
Otherwise continue. Every step below is safe to re-run.
### 1. Fetch the channels branch
```bash ```bash
pnpm install @chat-adapter/linear git fetch origin channels
``` ```
Uncomment the Linear import in `src/channels/index.ts`: ### 2. Copy the adapter
```bash
git show origin/channels:src/channels/linear.ts > src/channels/linear.ts
```
### 3. Append the self-registration import
Append to `src/channels/index.ts` (skip if the line is already present):
```typescript ```typescript
import './linear.js'; import './linear.js';
``` ```
### 4. Install the adapter package (pinned)
```bash
pnpm install @chat-adapter/linear@4.26.0
```
### 5. Build
```bash ```bash
pnpm run build pnpm run build
``` ```

View File

@@ -7,22 +7,48 @@ description: Add Matrix channel integration to NanoClaw v2 via Chat SDK. Works w
Adds Matrix support to NanoClaw v2 using the Chat SDK bridge. Adds Matrix support to NanoClaw v2 using the Chat SDK bridge.
## Pre-flight
Check if `src/channels/matrix.ts` exists and the import is uncommented in `src/channels/index.ts`. If both are in place, skip to Credentials.
## Install ## Install
v2 trunk doesn't ship channels. This skill copies the Matrix adapter in from the `channels` branch.
### Pre-flight (idempotent)
Skip to **Credentials** if all of these are already in place:
- `src/channels/matrix.ts` exists
- `src/channels/index.ts` contains `import './matrix.js';`
- `@beeper/chat-adapter-matrix` is listed in `package.json` dependencies
Otherwise continue. Every step below is safe to re-run.
### 1. Fetch the channels branch
```bash ```bash
pnpm install @beeper/chat-adapter-matrix git fetch origin channels
``` ```
Uncomment the Matrix import in `src/channels/index.ts`: ### 2. Copy the adapter
```bash
git show origin/channels:src/channels/matrix.ts > src/channels/matrix.ts
```
### 3. Append the self-registration import
Append to `src/channels/index.ts` (skip if the line is already present):
```typescript ```typescript
import './matrix.js'; import './matrix.js';
``` ```
### 4. Install the adapter package (pinned)
```bash
pnpm install @beeper/chat-adapter-matrix@0.2.0
```
### 5. Build
```bash ```bash
pnpm run build pnpm run build
``` ```

View File

@@ -7,23 +7,47 @@ description: Add Resend (email) channel integration to NanoClaw v2 via Chat SDK.
Connect NanoClaw to email via Resend for async email conversations. Connect NanoClaw to email via Resend for async email conversations.
## Pre-flight
Check if `src/channels/resend.ts` exists and the import is uncommented in `src/channels/index.ts`. If both are in place, skip to Credentials.
## Install ## Install
v2 trunk doesn't ship channels. This skill copies the Resend adapter in from the `channels` branch.
### Pre-flight (idempotent)
Skip to **Credentials** if all of these are already in place:
- `src/channels/resend.ts` exists
- `src/channels/index.ts` contains `import './resend.js';`
- `@resend/chat-sdk-adapter` is listed in `package.json` dependencies
Otherwise continue. Every step below is safe to re-run.
### 1. Fetch the channels branch
```bash ```bash
pnpm install @resend/chat-sdk-adapter git fetch origin channels
``` ```
Uncomment the Resend import in `src/channels/index.ts`: ### 2. Copy the adapter
```bash
git show origin/channels:src/channels/resend.ts > src/channels/resend.ts
```
### 3. Append the self-registration import
Append to `src/channels/index.ts` (skip if the line is already present):
```typescript ```typescript
import './resend.js'; import './resend.js';
``` ```
Build: ### 4. Install the adapter package (pinned)
```bash
pnpm install @resend/chat-sdk-adapter@0.1.1
```
### 5. Build
```bash ```bash
pnpm run build pnpm run build

View File

@@ -7,27 +7,47 @@ description: Add Slack channel integration to NanoClaw v2 via Chat SDK.
Adds Slack support to NanoClaw v2 using the Chat SDK bridge. Adds Slack support to NanoClaw v2 using the Chat SDK bridge.
## Pre-flight
Check if `src/channels/slack.ts` exists and the import is uncommented in `src/channels/index.ts`. If both are in place, skip to Credentials.
## Install ## Install
### Install the adapter package v2 trunk doesn't ship channels. This skill copies the Slack adapter in from the `channels` branch.
### Pre-flight (idempotent)
Skip to **Credentials** if all of these are already in place:
- `src/channels/slack.ts` exists
- `src/channels/index.ts` contains `import './slack.js';`
- `@chat-adapter/slack` is listed in `package.json` dependencies
Otherwise continue. Every step below is safe to re-run.
### 1. Fetch the channels branch
```bash ```bash
pnpm install @chat-adapter/slack git fetch origin channels
``` ```
### Enable the channel ### 2. Copy the adapter
Uncomment the Slack import in `src/channels/index.ts`: ```bash
git show origin/channels:src/channels/slack.ts > src/channels/slack.ts
```
### 3. Append the self-registration import
Append to `src/channels/index.ts` (skip if the line is already present):
```typescript ```typescript
import './slack.js'; import './slack.js';
``` ```
### Build ### 4. Install the adapter package (pinned)
```bash
pnpm install @chat-adapter/slack@4.26.0
```
### 5. Build
```bash ```bash
pnpm run build pnpm run build

View File

@@ -7,23 +7,47 @@ description: Add Microsoft Teams channel integration to NanoClaw v2 via Chat SDK
Connect NanoClaw to Microsoft Teams for interactive chat in team channels, group chats, and direct messages. Connect NanoClaw to Microsoft Teams for interactive chat in team channels, group chats, and direct messages.
## Pre-flight
Check if `src/channels/teams.ts` exists and the import is uncommented in `src/channels/index.ts`. If both are in place, skip to Credentials.
## Install ## Install
v2 trunk doesn't ship channels. This skill copies the Teams adapter in from the `channels` branch.
### Pre-flight (idempotent)
Skip to **Credentials** if all of these are already in place:
- `src/channels/teams.ts` exists
- `src/channels/index.ts` contains `import './teams.js';`
- `@chat-adapter/teams` is listed in `package.json` dependencies
Otherwise continue. Every step below is safe to re-run.
### 1. Fetch the channels branch
```bash ```bash
pnpm install @chat-adapter/teams git fetch origin channels
``` ```
Uncomment the Teams import in `src/channels/index.ts`: ### 2. Copy the adapter
```bash
git show origin/channels:src/channels/teams.ts > src/channels/teams.ts
```
### 3. Append the self-registration import
Append to `src/channels/index.ts` (skip if the line is already present):
```typescript ```typescript
import './teams.js'; import './teams.js';
``` ```
Build: ### 4. Install the adapter package (pinned)
```bash
pnpm install @chat-adapter/teams@4.26.0
```
### 5. Build
```bash ```bash
pnpm run build pnpm run build

View File

@@ -7,27 +7,61 @@ description: Add Telegram channel integration to NanoClaw v2 via Chat SDK.
Adds Telegram bot support to NanoClaw v2 using the Chat SDK bridge. Adds Telegram bot support to NanoClaw v2 using the Chat SDK bridge.
## Pre-flight
Check if `src/channels/telegram.ts` exists and the import is uncommented in `src/channels/index.ts`. If both are in place, skip to Credentials.
## Install ## Install
### Install the adapter package v2 trunk doesn't ship channels. This skill copies the Telegram adapter, its formatting/pairing helpers, their tests, and the `pair-telegram` setup step in from the `channels` branch.
### Pre-flight (idempotent)
Skip to **Credentials** if all of these are already in place:
- `src/channels/telegram.ts`, `telegram-pairing.ts`, `telegram-markdown-sanitize.ts` (and their `.test.ts` siblings) all exist
- `src/channels/index.ts` contains `import './telegram.js';`
- `setup/pair-telegram.ts` exists and `setup/index.ts`'s `STEPS` map contains `'pair-telegram':`
- `@chat-adapter/telegram` is listed in `package.json` dependencies
Otherwise continue. Every step below is safe to re-run.
### 1. Fetch the channels branch
```bash ```bash
pnpm install @chat-adapter/telegram git fetch origin channels
``` ```
### Enable the channel ### 2. Copy the adapter, helpers, tests, and setup step
Uncomment the Telegram import in `src/channels/index.ts`: ```bash
git show origin/channels:src/channels/telegram.ts > src/channels/telegram.ts
git show origin/channels:src/channels/telegram-pairing.ts > src/channels/telegram-pairing.ts
git show origin/channels:src/channels/telegram-pairing.test.ts > src/channels/telegram-pairing.test.ts
git show origin/channels:src/channels/telegram-markdown-sanitize.ts > src/channels/telegram-markdown-sanitize.ts
git show origin/channels:src/channels/telegram-markdown-sanitize.test.ts > src/channels/telegram-markdown-sanitize.test.ts
git show origin/channels:setup/pair-telegram.ts > setup/pair-telegram.ts
```
### 3. Append the self-registration import
Append to `src/channels/index.ts` (skip if already present):
```typescript ```typescript
import './telegram.js'; import './telegram.js';
``` ```
### Build ### 4. Register the setup step
In `setup/index.ts`, add this entry to the `STEPS` map (right after the `register` line is fine; skip if already present):
```typescript
'pair-telegram': () => import('./pair-telegram.js'),
```
### 5. Install the adapter package (pinned)
```bash
pnpm install @chat-adapter/telegram@4.26.0
```
### 6. Build
```bash ```bash
pnpm run build pnpm run build

View File

@@ -7,22 +7,48 @@ description: Add Webex channel integration to NanoClaw v2 via Chat SDK.
Adds Cisco Webex support to NanoClaw v2 using the Chat SDK bridge. Adds Cisco Webex support to NanoClaw v2 using the Chat SDK bridge.
## Pre-flight
Check if `src/channels/webex.ts` exists and the import is uncommented in `src/channels/index.ts`. If both are in place, skip to Credentials.
## Install ## Install
v2 trunk doesn't ship channels. This skill copies the Webex adapter in from the `channels` branch.
### Pre-flight (idempotent)
Skip to **Credentials** if all of these are already in place:
- `src/channels/webex.ts` exists
- `src/channels/index.ts` contains `import './webex.js';`
- `@bitbasti/chat-adapter-webex` is listed in `package.json` dependencies
Otherwise continue. Every step below is safe to re-run.
### 1. Fetch the channels branch
```bash ```bash
pnpm install @bitbasti/chat-adapter-webex git fetch origin channels
``` ```
Uncomment the Webex import in `src/channels/index.ts`: ### 2. Copy the adapter
```bash
git show origin/channels:src/channels/webex.ts > src/channels/webex.ts
```
### 3. Append the self-registration import
Append to `src/channels/index.ts` (skip if the line is already present):
```typescript ```typescript
import './webex.js'; import './webex.js';
``` ```
### 4. Install the adapter package (pinned)
```bash
pnpm install @bitbasti/chat-adapter-webex@0.1.0
```
### 5. Build
```bash ```bash
pnpm run build pnpm run build
``` ```

View File

@@ -7,23 +7,47 @@ description: Add WhatsApp Business Cloud API channel to NanoClaw v2 via Chat SDK
Connect NanoClaw to WhatsApp via the official Meta WhatsApp Business Cloud API. Connect NanoClaw to WhatsApp via the official Meta WhatsApp Business Cloud API.
## Pre-flight
Check if `src/channels/whatsapp-cloud.ts` exists and the import is uncommented in `src/channels/index.ts`. If both are in place, skip to Credentials.
## Install ## Install
v2 trunk doesn't ship channels. This skill copies the WhatsApp Cloud adapter in from the `channels` branch.
### Pre-flight (idempotent)
Skip to **Credentials** if all of these are already in place:
- `src/channels/whatsapp-cloud.ts` exists
- `src/channels/index.ts` contains `import './whatsapp-cloud.js';`
- `@chat-adapter/whatsapp` is listed in `package.json` dependencies
Otherwise continue. Every step below is safe to re-run.
### 1. Fetch the channels branch
```bash ```bash
pnpm install @chat-adapter/whatsapp git fetch origin channels
``` ```
Uncomment the WhatsApp Cloud API import in `src/channels/index.ts`: ### 2. Copy the adapter
```bash
git show origin/channels:src/channels/whatsapp-cloud.ts > src/channels/whatsapp-cloud.ts
```
### 3. Append the self-registration import
Append to `src/channels/index.ts` (skip if the line is already present):
```typescript ```typescript
import './whatsapp-cloud.js'; import './whatsapp-cloud.js';
``` ```
Build: ### 4. Install the adapter package (pinned)
```bash
pnpm install @chat-adapter/whatsapp@4.26.0
```
### 5. Build
```bash ```bash
pnpm run build pnpm run build

View File

@@ -7,36 +7,59 @@ description: Add WhatsApp channel to NanoClaw v2 using native Baileys adapter. D
Adds WhatsApp support to NanoClaw v2 using the native Baileys adapter (no Chat SDK bridge). Adds WhatsApp support to NanoClaw v2 using the native Baileys adapter (no Chat SDK bridge).
## Pre-flight
Check if `src/channels/whatsapp.ts` exists and the import is uncommented in `src/channels/index.ts`. If both are in place, skip to Credentials.
## Install ## Install
### Install the adapter packages v2 trunk doesn't ship channels. This skill copies the native WhatsApp (Baileys) adapter and its `whatsapp-auth` setup step in from the `channels` branch. No Chat SDK bridge.
### Pre-flight (idempotent)
Skip to **Credentials** if all of these are already in place:
- `src/channels/whatsapp.ts` exists
- `src/channels/index.ts` contains `import './whatsapp.js';`
- `setup/whatsapp-auth.ts` exists and `setup/index.ts`'s `STEPS` map contains `'whatsapp-auth':`
- `@whiskeysockets/baileys`, `qrcode` are listed in `package.json` dependencies
Otherwise continue. Every step below is safe to re-run.
### 1. Fetch the channels branch
```bash ```bash
pnpm install @whiskeysockets/baileys@^6.7.21 pino@^9.6.0 qrcode@^1.5.4 @types/qrcode@^1.5.6 git fetch origin channels
``` ```
### Enable the channel ### 2. Copy the adapter and setup step
If `src/channels/whatsapp.ts` is missing, fetch it from upstream:
```bash ```bash
git remote -v | grep -q upstream || git remote add upstream https://github.com/qwibitai/nanoclaw.git git show origin/channels:src/channels/whatsapp.ts > src/channels/whatsapp.ts
git fetch upstream v2 git show origin/channels:setup/whatsapp-auth.ts > setup/whatsapp-auth.ts
git checkout upstream/v2 -- src/channels/whatsapp.ts
``` ```
Uncomment or add the WhatsApp import in `src/channels/index.ts`: ### 3. Append the self-registration import
Append to `src/channels/index.ts` (skip if already present):
```typescript ```typescript
// whatsapp (native, no Chat SDK)
import './whatsapp.js'; import './whatsapp.js';
``` ```
### Build ### 4. Register the setup step
In `setup/index.ts`, add this entry to the `STEPS` map (skip if already present):
```typescript
'whatsapp-auth': () => import('./whatsapp-auth.js'),
```
### 5. Install the adapter packages (pinned)
```bash
pnpm install @whiskeysockets/baileys@6.17.16 qrcode@1.5.4 @types/qrcode@1.5.6
```
`pino` is already a v2 trunk dependency — no separate install needed.
### 6. Build
```bash ```bash
pnpm run build pnpm run build