Files
nanoclaw/.claude/skills/add-github-v2/SKILL.md
gavrielc 9486d56b01 v2: make v2 the main entry point, move v1 to src/v1/
- Move all v1 files (index, router, container-runner, db, ipc, types,
  logger, channels/registry, and all utilities) to src/v1/ as a
  fully self-contained archive with no shared dependencies
- Rename v2 files to remove -v2 suffix (index-v2.ts → index.ts, etc.)
- Update all imports across v2 source, tests, and setup files
- Migrate shared utilities (config, env, container-runtime, mount-security,
  timezone, group-folder) from pino logger to v2 log module
- Migrate setup/ files from logger to log with argument order swap
- Container agent-runner: move v1 entry to v1/, rename v2 to index.ts
- Update setup skill to offer all 13 v2 channels
- Install all Chat SDK adapter packages
- dist/index.js now runs v2; dist/v1/index.js runs v1

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-09 11:40:36 +03:00

2.0 KiB

name, description
name description
add-github-v2 Add GitHub channel integration to NanoClaw v2 via Chat SDK. PR comment threads as conversations.

Add GitHub Channel (v2)

This skill adds GitHub support to NanoClaw v2 using the Chat SDK bridge. The agent can participate in PR comment threads.

Phase 1: 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 Phase 3.

Phase 2: Apply Code Changes

Install the adapter package

npm install @chat-adapter/github

Enable the channel

Uncomment the GitHub import in src/channels/index.ts:

import './github.js';

Build

npm run build

Phase 3: Setup

Create GitHub credentials

  1. Go to GitHub Settings > Developer Settings > Personal Access Tokens
  2. Create a Fine-grained token with:
    • Repository access: select the repos you want the bot to monitor
    • Permissions: Pull requests (Read & Write), Issues (Read & Write)
  3. Copy the token
  4. Set up a webhook on your repo(s):
    • Go to Settings > Webhooks > Add webhook
    • Payload URL: https://your-domain/webhook/github
    • Content type: application/json
    • Secret: generate a random string
    • Events: select Issue comments, Pull request review comments

Configure environment

Add to .env:

GITHUB_TOKEN=github_pat_...
GITHUB_WEBHOOK_SECRET=your-webhook-secret

Sync to container: mkdir -p data/env && cp .env data/env/env

Build and restart

npm run build
launchctl kickstart -k gui/$(id -u)/com.nanoclaw  # macOS
# systemctl --user restart nanoclaw  # Linux

Phase 4: Verify

@mention the bot in a PR comment or issue comment. The bot should respond within a few seconds.

Removal

  1. Comment out import './github.js' in src/channels/index.ts
  2. Remove GITHUB_TOKEN and GITHUB_WEBHOOK_SECRET from .env
  3. npm uninstall @chat-adapter/github
  4. Rebuild and restart