Process PR Reviews
nexu-io/nexu
A skill your agent uses when the user asks to process, triage, fetch, view, count, list, or resolve review feedback in a GitHub PR.
Lets a NanoClaw agent join GitHub pull request and issue comment threads as conversations, using a dedicated bot account and the Chat SDK bridge.
$ npx skills add nanocoai/nanoclaw --skill add-github -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install nanocoai/nanoclaw add-github --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/nanocoai/nanoclaw.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/add-github .claude/skills/add-github && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "add-github" agent skill from https://github.com/nanocoai/nanoclaw/tree/main/.claude/skills/add-github into .claude/skills/add-github/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-github", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/nanocoai/nanoclaw/tree/main/.claude/skills/add-githubType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add nanocoai/nanoclaw --skill add-github -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install nanocoai/nanoclaw add-github --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nanocoai/nanoclaw.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/add-github .agents/skills/add-github && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "add-github" agent skill from https://github.com/nanocoai/nanoclaw/tree/main/.claude/skills/add-github into .agents/skills/add-github/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-github", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add nanocoai/nanoclaw --skill add-github -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install nanocoai/nanoclaw add-github --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nanocoai/nanoclaw.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/add-github .cursor/skills/add-github && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "add-github" agent skill from https://github.com/nanocoai/nanoclaw/tree/main/.claude/skills/add-github into .cursor/skills/add-github/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-github", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/nanocoai/nanoclaw.git --path .claude/skills/add-github--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add nanocoai/nanoclaw --skill add-github -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install nanocoai/nanoclaw add-github --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nanocoai/nanoclaw.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/add-github .gemini/skills/add-github && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "add-github" agent skill from https://github.com/nanocoai/nanoclaw/tree/main/.claude/skills/add-github into .gemini/skills/add-github/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-github", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install nanocoai/nanoclaw add-githubInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add nanocoai/nanoclaw --skill add-github -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/nanocoai/nanoclaw.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/add-github .github/skills/add-github && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "add-github" agent skill from https://github.com/nanocoai/nanoclaw/tree/main/.claude/skills/add-github into .github/skills/add-github/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-github", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add nanocoai/nanoclaw --skill add-github -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install nanocoai/nanoclaw add-github --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nanocoai/nanoclaw.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/add-github .opencode/skills/add-github && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "add-github" agent skill from https://github.com/nanocoai/nanoclaw/tree/main/.claude/skills/add-github into .opencode/skills/add-github/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-github", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
add-githubLets a NanoClaw agent join GitHub pull request and issue comment threads as conversations, using a dedicated bot account and the Chat SDK bridge.
The agent takes part in pull request and issue comment threads on GitHub, treating each thread as a conversation. It needs a dedicated GitHub bot account instead of your personal one, invited as a collaborator with write access to the repositories to watch, because the adapter posts replies as that account and ignores its own messages so it cannot loop.
Setup copies the GitHub adapter from the `channels` branch, registers it in `src/channels/index.ts`, installs `@chat-adapter/github` pinned to an exact version and builds, with a registration test as the one automated check. Credentials start with a personal access token created while logged in as the bot, and a webhook setup follows. End-to-end delivery on a real repository is checked manually.
7 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 66f0823. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
opensslghpnpmFrom the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
github.comFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
GITHUB_WEBHOOK_SECRETGITHUB_TOKENFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
GitHub Channel for NanoClaw loads about 2.2k tokens when it runs. Until then it costs about 26 tokens; SKILL.md has 1,002 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
ed `ncl` or the OneCLI vault instead of `.env` by swapping only the consumer.Here they go to `.env` (set-if-absent — a value you've already filled in isps) so it loads the adapter and the new `.env` values.Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from nanocoai/nanoclaw at commit 66f0823, republished under its MIT licence (© nanocoai). 1,002 words, ~2,178 tokens.
.claude/skills/add-github/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.Adds GitHub support via the Chat SDK bridge. The agent participates in PR and
issue comment threads. NanoClaw doesn't ship channels in trunk — this skill
copies the GitHub adapter in from the channels branch.
The mechanical steps under Apply carry nc: directive fences: an agent
reads the prose and applies them, and a parser can apply them deterministically
from the same document. Every directive is idempotent, so the whole skill is
safe to re-run; anything a parser can't apply falls back to the prose beside it.
You need a dedicated GitHub bot account (not your personal account). The adapter uses this account to post replies and filters out its own messages to avoid loops. Create a free GitHub account for your bot (e.g. my-org-bot), then invite it as a collaborator with write access to the repos you want monitored.
Fetch the channels branch and copy the GitHub adapter into src/channels/
(overwrite — the branch is canonical):
src/channels/github.ts
src/channels/github-registration.test.tsAppend the self-registration import to the channel barrel (skipped if the line is already present). This one line is the skill's only reach-in into core:
import './github.js';Pinned to an exact version — the supply-chain policy rejects ranges and latest:
@chat-adapter/github@4.29.0The build guards the typed createChatSdkBridge(...) core call and proves the
dependency is installed (the adapter import throws if @chat-adapter/github
isn't present):
pnpm run buildpnpm exec vitest run src/channels/github-registration.test.tsgithub-registration.test.ts imports the real channel barrel and asserts the
registry contains github. It goes red if the import line is deleted or drifts,
if the barrel fails to evaluate, or if @chat-adapter/github isn't installed
(the import throws) — so it also covers the dependency from step 3.
End-to-end message delivery against a real GitHub repo is verified manually once the service is running — see Next Steps and the webhook setup below.
Log in as your bot account, then:
On each repo (logged in as the repo owner/admin):
https://your-domain/webhook/github (the shared webhook server, default port 3000)application/jsonopenssl rand -hex 20)Capture the three values, then write them. prompt only asks and binds the
answer to a name; a separate directive consumes it — so the same prompts could
feed ncl or the OneCLI vault instead of .env by swapping only the consumer.
Here they go to .env (set-if-absent — a value you've already filled in is
never overwritten):
Paste the Fine-grained Personal Access Token for the bot account — starts with `github_pat_`.Paste the webhook secret you generated for the repo webhook(s).Enter the bot account's GitHub username exactly (used for @-mention detection).GITHUB_TOKEN={{github_token}}
GITHUB_WEBHOOK_SECRET={{webhook_secret}}
GITHUB_BOT_USERNAME={{bot_username}}GITHUB_BOT_USERNAME must match the bot account's GitHub username exactly. This is used for @-mention detection — the agent responds when someone writes @your-bot-username in a PR or issue comment.
Ask the user: Is this a private or public repo?
unknown_sender_policy: 'public'. Only collaborators can comment anyway, so it's safe to let all comments through.unknown_sender_policy: 'strict'. Only registered members can trigger the agent, preventing strangers from consuming agent resources. Add trusted collaborators as members (see below).Run /manage-channels to wire the GitHub channel to an agent group, or create the rows directly with ncl. The host service must be running — ncl connects to it over a Unix socket:
# Create messaging group (one per repo)
ncl messaging-groups create --channel-type github --platform-id "github:owner/repo" \
--name "owner/repo" --is-group 1 --unknown-sender-policy <policy>
# Wire to agent group (engage mode/pattern default to the GitHub adapter's
# declared channel defaults; grab the mg id from the create output above)
ncl wirings create --messaging-group-id <mg-id> --agent-group-id <your-agent-group-id> \
--session-mode per-threadReplace <policy> with public or strict based on the user's choice above.
When using strict, add each GitHub user who should be able to trigger the agent:
# Add user (kind = 'github', id = 'github:<numeric-user-id>')
ncl users create --id "github:<user-id>" --kind github --display-name "<username>"
# Grant membership to the agent group
ncl members add --user "github:<user-id>" --group "<agent-group-id>"To find a GitHub user's numeric ID: gh api users/<username> --jq .id
Use per-thread session mode so each PR/issue gets its own agent session.
If you're in the middle of /setup, return to the setup flow now.
Otherwise, restart the service to pick up the new channel.
Run from your NanoClaw project root:
source setup/lib/install-slug.sh
launchctl kickstart -k gui/$(id -u)/$(launchd_label) # macOS
systemctl --user restart $(systemd_unit) # Linuxgithubgithub:owner/repo (e.g. github:acme/backend). Each PR/issue becomes its own thread automatically.per-thread session mode. Each PR or issue gets its own isolated agent session. Typically wire to a dedicated agent group if the repo contains sensitive code.API calls return 401/403 with the token. The token must be a fine-grained PAT starting github_pat_, created while logged in as the bot account (Settings → Developer Settings → Personal Access Tokens → Fine-grained tokens), with the monitored repos selected under Repository access and both Pull requests and Issues set to Read & Write. A classic ghp_ token, or one minted on your personal account, is the usual miss.
Webhook deliveries show red in the repo settings. Open Settings → Webhooks → Recent Deliveries on the repo: a 401 response means the secret in the webhook form doesn't match GITHUB_WEBHOOK_SECRET; a timeout means https://your-domain/webhook/github isn't publicly reachable on the shared webhook port (3000). Fix, then use Redeliver to retest without writing a new comment.
Comments never trigger the agent. The @-mention must match GITHUB_BOT_USERNAME exactly, and the webhook must subscribe to Issue comments and Pull request review comments (not just pushes). Comments authored by the bot account itself are filtered by design — test from a different account than the bot.
Adapter installed but the channel is dead. Run pnpm exec vitest run src/channels/github-registration.test.ts — red means the barrel import or the @chat-adapter/github install drifted, so re-run the Apply steps. If green, restart the service (see Next Steps) so it loads the adapter and the new .env values.
© nanocoai, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 2 other files in .claude/skills/add-github of nanocoai/nanoclaw.
Open the folder on GitHubat commit 66f0823
GitHub Channel for NanoClaw next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| GitHub Channel for NanoClaw this skillnanocoai/nanoclaw | 31k | — | ~2.2k | Automated safety check: Notes | MIT | |
| Process PR Reviewsnexu-io/nexu | 3.3k | — | ~2.5k | Automated safety check: Pass | MIT | |
| OpenObserve PR Briefopenobserve/openobserve | 22k | — | ~1.8k | Automated safety check: Pass | AGPL-3.0 | |
| GitHub Automationdavila7/claude-code-templates | 32k | 5 repos | ~2.8k | Automated safety check: Pass | MIT | |
| Last30days CnJesseovo/last30days-skill-cn | 1.9k | — | ~2.4k | Automated safety check: Notes | MIT | |
| Openloomi Connectorsmelandlabs/openloomi | 1k | — | ~3.3k | Automated safety check: Pass | Apache-2.0 |
nexu-io/nexu
A skill your agent uses when the user asks to process, triage, fetch, view, count, list, or resolve review feedback in a GitHub PR.
openobserve/openobserve
Produces a read-only morning brief of your open pull requests across the openobserve GitHub org, with a next step for each and a reminder for idle ones.
davila7/claude-code-templates
Automate GitHub repositories, issues, pull requests, branches, CI/CD, and permissions via Rube MCP (Composio).
Jesseovo/last30days-skill-cn
Research what Chinese internet users actually said in the last 30 days across Weibo, Xiaohongshu (RED), Bilibili, Zhihu, Douyin, WeChat public accounts, Baidu and Toutiao: engagement-weighted…
melandlabs/openloomi
openloomi Connectors tools - manage the native 7 messaging integrations and pair with the composio skill for the 1000+ apps OAuth layer (Slack, Discord, X, Gmail, Outlook, Google…
EdisonChenAI/agent-reach
Use the internet: search, read, and interact with 13+ platforms including Twitter/X, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu (小红书), Douyin (抖音), WeChat Articles (微信公众号), LinkedIn, Boss直聘…
nanocoai/nanoclaw
Installs or refreshes Iron Proxy and its Iron Control web console for NanoClaw, with a local Docker setup, database, credentials and a human approval bridge.
nanocoai/nanoclaw
Drives a web browser from the shell with the agent-browser CLI: open pages, read an element snapshot, click and fill by reference, grab text and screenshots.
nanocoai/nanoclaw
Installs or refreshes OneCLI as the gateway provider for NanoClaw, copying the adapter files, registering the provider and running the setup script.
nanocoai/nanoclaw
Guides a conversational migration from an OpenClaw install to NanoClaw v2, carrying over identity, channel credentials, scheduled tasks and workspace files.
nanocoai/nanoclaw
Wires up an additional phone number onto an already-installed Dial channel, so one NanoClaw install answers SMS and AI voice calls on more than one line.
nanocoai/nanoclaw
Adds a persistent wiki knowledge base to a NanoClaw group following Karpathy's LLM Wiki pattern, with folders, a tailored container skill and a CLAUDE.md section.
Works with
Categories
Lets a NanoClaw agent join GitHub pull request and issue comment threads as conversations, using a dedicated bot account and the Chat SDK bridge. The agent takes part in pull request and issue comment threads on GitHub, treating each thread as a conversation. It needs a dedicated GitHub bot account instead of your personal one, invited as a collaborator with write access to the repositories to watch, because the adapter posts replies as that account and ignores its own messages so it cannot loop.
GitHub Channel for NanoClaw fits situations like: having an agent reply in pull request or issue comment threads; setting up a bot account to monitor specific repositories; wiring GitHub webhooks to a NanoClaw channel.
Run `npx skills add nanocoai/nanoclaw --skill add-github -a claude-code`. Or copy the skill folder (.claude/skills/add-github in nanocoai/nanoclaw) into .claude/skills/add-github in your project. Claude Code loads it when a task matches its description.
Run `npx skills add nanocoai/nanoclaw --skill add-github -a codex`. Or copy the skill folder (.claude/skills/add-github in nanocoai/nanoclaw) into .agents/skills/add-github in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add nanocoai/nanoclaw --skill add-github -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/add-github, .gemini/skills/add-github, .github/skills/add-github and .opencode/skills/add-github in your project.
Going by SKILL.md and its folder, GitHub Channel for NanoClaw needs the command-line tools its instructions call (openssl, gh and pnpm) and credentials named GITHUB_WEBHOOK_SECRET and GITHUB_TOKEN. Our summary lists: A NanoClaw installation with pnpm; A dedicated GitHub bot account with write access to the repositories; A personal access token for the bot.
SKILL.md names 1 domain. As links in the text: github.com. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
GitHub Channel for NanoClaw is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.2k tokens (SKILL.md is roughly 8.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with GitHub Channel for NanoClaw: Process PR Reviews (nexu-io/nexu, 3.3k stars), OpenObserve PR Brief (openobserve/openobserve, 22k stars), GitHub Automation (davila7/claude-code-templates, 32k stars) and Last30days Cn (Jesseovo/last30days-skill-cn, 1.9k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
nanocoai (a GitHub organization) maintains it in nanocoai/nanoclaw, which has 30,883 GitHub stars. The repository holds 59 skills in this directory. The repository was last updated on October 6, 2026.
Source: nanocoai/nanoclaw on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.