Guide · Agent skill
How to use the Add GitHub Channel agent skill
Updated · written with AI from the project's own documentation and checked against our catalogue data
The Add GitHub Channel skill (skill name add-github) is an installer that connects a NanoClaw agent to GitHub. Once applied, the agent can read and reply to comments on pull requests and issues in the repositories you choose, with each PR or issue thread treated as its own conversation. This guide explains what the skill does, how to install it, how to trigger it, and the safety choices you need to make before you turn it on.
Quick start
- 1Download and unzip the skill. Download the ZIP from this page and unzip it into ~/.claude/skills/ or a project's .claude/skills/ folder, or upload it under Settings → Capabilities → Skills in the Claude apps.
- 2Create a bot account and token. Create a dedicated GitHub bot account, invite it with write access, and create a fine-grained token with Pull requests and Issues set to Read & Write.
- 3Add the webhook. On each repo, add a webhook at https://your-domain/webhook/github with application/json content type, a random secret, and the Issue comments and Pull request review comments events.
- 4Provide credentials. Give the agent the token, webhook secret and bot username so they are written to .env as GITHUB_TOKEN, GITHUB_WEBHOOK_SECRET and GITHUB_BOT_USERNAME.
- 5Choose the sender policy. Use public for private repos and strict for public repos, then wire each repo as a messaging group with per-thread session mode.
- 6Build, test and restart. Run pnpm run build and the GitHub registration test, then restart the NanoClaw host service.
What does the add-github skill make the agent do?
The skill adds GitHub support to NanoClaw, a personal agent framework. NanoClaw does not ship channels in its main branch, so the skill copies a GitHub adapter in from the project's channels branch. After that, the agent participates in PR and issue comment threads.
The agent responds when someone writes @your-bot-username in a comment. After the first mention, the thread is subscribed and the agent answers follow-up comments in that thread.
- Works only inside NanoClaw, which needs a running host service.
- Each PR or issue comment thread is a separate conversation.
- Uses a dedicated bot account to post replies.
Install the add-github skill from the download
Download the skill ZIP from this page and unzip it into one of two places. Use ~/.claude/skills/ to make it available across your projects, or use .claude/skills/ inside a specific project folder to scope it to that project.
If you use the Claude apps instead, open Settings, then Capabilities, then Skills, and upload the ZIP there.
- Personal: unzip into ~/.claude/skills/
- Per project: unzip into .claude/skills/ in the project root
- Claude apps: Settings → Capabilities → Skills, then upload the ZIP
Prepare the GitHub bot account and token
Use a dedicated GitHub bot account, not your personal account. The adapter uses this account to post replies and ignores its own messages to avoid loops. Invite the bot as a collaborator with write access to the repos you want monitored.
Log in as the bot account, go to Settings > Developer Settings > Personal Access Tokens, and create a Fine-grained token. Select the repositories to monitor and set Pull requests and Issues to Read & Write. Copy the token; it starts with github_pat_.
- Create a bot account and grant it write access to the target repos.
- Create a fine-grained token while logged in as the bot.
- Set Pull requests and Issues to Read & Write.
Set up the repo webhook and credentials
On each repo, go to Settings > Webhooks > Add webhook. The payload URL is https://your-domain/webhook/github, the content type is application/json, and the events are Issue comments and Pull request review comments. Generate a random secret for the webhook. The URL must be reachable from the internet, for example through a proxy or tunnel.
The skill then asks for three values: the GitHub token, the webhook secret, and the bot's username. These are written to a local .env file as GITHUB_TOKEN, GITHUB_WEBHOOK_SECRET and GITHUB_BOT_USERNAME. Existing values you have already filled in are not overwritten. The bot username must match the account name exactly.
- Payload URL: https://your-domain/webhook/github
- Content type: application/json
- Events: Issue comments and Pull request review comments
- Webhook server listens on 127.0.0.1 by default; set WEBHOOK_HOST=0.0.0.0 in .env only if the proxy or tunnel runs elsewhere.
openssl rand -hex 20Choose public or private wiring and connect the repo
Before wiring, decide who can trigger the agent. For a private repo, use the public unknown-sender policy, since only collaborators can comment anyway. For a public repo, use the strict policy, so only registered members can trigger the agent. Add trusted collaborators as members in strict mode.
Run /manage-channels to wire the channel to an agent group, or create the rows with ncl. The host service must be running, because ncl connects to it over a Unix socket. Use per-thread session mode so each PR or issue gets its own agent session.
- Private repo: --unknown-sender-policy public
- Public repo: --unknown-sender-policy strict
- Platform ID format: github:owner/repo
- To find a user's numeric ID: gh api users/<username> --jq .id
ncl messaging-groups create --channel-type github --platform-id "github:owner/repo" \
--name "owner/repo" --is-group 1 --unknown-sender-policy <policy>
ncl wirings create --messaging-group-id <mg-id> --agent-group-id <your-agent-group-id> \
--session-mode per-threadRestart the service and verify
The skill runs build and test steps: pnpm run build and a vitest test on the GitHub registration. The test checks that the channel is registered and fails if the adapter package is missing. Then restart the NanoClaw host service so it loads the new channel. End-to-end delivery against a real repo is checked manually once the service is running.
Restart commands depend on your system. On macOS the skill uses launchctl; on Linux it uses systemd.
- macOS: launchctl kickstart on the NanoClaw service
- Linux: systemctl --user restart on the NanoClaw service
- Then mention the bot in a test PR or issue comment
pnpm run build
pnpm exec vitest run src/channels/github-registration.test.tsWhat people use it for
- Answering follow-up questions in a pull request thread after the bot is @-mentioned.
- Triaging new issues in a small team's repo by replying in the issue thread.
- Giving a dedicated agent group its own isolated session for each PR in a repo with sensitive code.
- Letting trusted collaborators, registered as members, ask the agent for help on a public repo.
Frequently asked questions
Is the add-github skill free?
The source material gives a MIT licence for the nanocoai/nanoclaw skill. It does not state prices, so check the project for any costs of running NanoClaw or the hosting you use for the webhook.
What do I need before installing add-github?
You need a NanoClaw installation with pnpm and a build and test toolchain (vitest), a dedicated GitHub bot account with a fine-grained token, a webhook reachable from the internet, the GitHub CLI (gh) for looking up user IDs, and a running NanoClaw host service through launchctl on macOS or systemd on Linux.
Can I use this skill without NanoClaw?
No. The skill only works inside the NanoClaw framework and needs its service running. If you only want a GitHub assistant, this skill is not the right fit.
Why does my GitHub token return 401 or 403?
The token must be a fine-grained personal access token starting with github_pat_, created while logged in as the bot account, with the monitored repos selected and both Pull requests and Issues set to Read & Write. A classic ghp_ token or one made on your personal account is the usual cause.
Is it safe to use on a public repo?
Only with the strict membership policy. With open commenting, a stranger's comment could trigger agent work, which uses resources and may expose data. Strict mode lets only registered members trigger the agent.
How do I remove the skill later?
The REMOVE.md file in the skill lists the steps: delete the import line from src/channels/index.ts, delete github.ts and its test file, remove the three GITHUB_ variables from .env, uninstall @chat-adapter/github with pnpm, then rebuild and restart the service. Every step is safe to re-run.
New agent skills, repos and AI tools — every week
The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.
Our verdict
Choose this skill if you already run NanoClaw and want its agent to answer comments in your own GitHub repos, especially with a dedicated bot account for a small team. Pick something else if you want a GitHub assistant without running NanoClaw, or if you need an open public-repo bot without membership controls.
Download the skill