Wechat 2D Render
vibe-motion/skills
Clone or update https://github.com/sxhzju/wechat-2d and render the default WeChat-style 2D chat motion video with Remotion.
Adds a Matrix channel to NanoClaw for any homeserver through the Chat SDK bridge, including a pnpm patch that fixes ESM imports in the published adapter.
$ npx skills add nanocoai/nanoclaw --skill add-matrix -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install nanocoai/nanoclaw add-matrix --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-matrix .claude/skills/add-matrix && 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-matrix" agent skill from https://github.com/nanocoai/nanoclaw/tree/main/.claude/skills/add-matrix into .claude/skills/add-matrix/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-matrix", 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-matrixType 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-matrix -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install nanocoai/nanoclaw add-matrix --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-matrix .agents/skills/add-matrix && 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-matrix" agent skill from https://github.com/nanocoai/nanoclaw/tree/main/.claude/skills/add-matrix into .agents/skills/add-matrix/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-matrix", 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-matrix -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install nanocoai/nanoclaw add-matrix --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-matrix .cursor/skills/add-matrix && 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-matrix" agent skill from https://github.com/nanocoai/nanoclaw/tree/main/.claude/skills/add-matrix into .cursor/skills/add-matrix/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-matrix", 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-matrix--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-matrix -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install nanocoai/nanoclaw add-matrix --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-matrix .gemini/skills/add-matrix && 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-matrix" agent skill from https://github.com/nanocoai/nanoclaw/tree/main/.claude/skills/add-matrix into .gemini/skills/add-matrix/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-matrix", 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-matrixInstalls 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-matrix -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-matrix .github/skills/add-matrix && 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-matrix" agent skill from https://github.com/nanocoai/nanoclaw/tree/main/.claude/skills/add-matrix into .github/skills/add-matrix/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-matrix", 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-matrix -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-matrix --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-matrix .opencode/skills/add-matrix && 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-matrix" agent skill from https://github.com/nanocoai/nanoclaw/tree/main/.claude/skills/add-matrix into .opencode/skills/add-matrix/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-matrix", 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-matrixAdds a Matrix channel to NanoClaw for any homeserver through the Chat SDK bridge, including a pnpm patch that fixes ESM imports in the published adapter.
Matrix support comes through the Chat SDK bridge and works with any Matrix homeserver. The adapter lives in the `@beeper/` namespace and is pinned on its own track, apart from the `@chat-adapter` packages. The published package imports `matrix-js-sdk` paths without `.js` extensions, which fails under Node 22 strict ESM resolution, so the skill ships a pnpm patch that is registered before installation and reapplied on every install.
After the adapter and its registration test are copied from the `channels` branch and the import is appended to the barrel, the skill builds, checks that the package loads through a direct Node ESM import, and runs the registration test. The patch file, a fixtures file and `REMOVE.md` are bundled with it.
5 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:
pnpmcurlFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
matrix.orgFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
MATRIX_PASSWORDMATRIX_ACCESS_TOKENMATRIX_RECOVERY_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Matrix Channel for NanoClaw loads about 2.1k tokens when it runs. Until then it costs about 22 tokens; SKILL.md has 909 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 swappingAutomated 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). 909 words, ~2,137 tokens.
.claude/skills/add-matrix/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.Adds Matrix support via the Chat SDK bridge. NanoClaw doesn't ship channels in
trunk — this skill copies the Matrix 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.
Fetch the channels branch and copy the Matrix adapter into src/channels/
(overwrite — the branch is canonical):
src/channels/matrix.ts
src/channels/matrix-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 './matrix.js';The published adapter references matrix-js-sdk/lib/... without .js
extensions, which fails under Node 22 strict ESM resolution. Register the
committed pnpm patch before installing the package. pnpm reapplies it after
every install and fails if the pinned package drifts away from the patch:
patches/@beeper__chat-adapter-matrix@0.2.0.patchpnpm pkg set 'pnpm.patchedDependencies[@beeper/chat-adapter-matrix@0.2.0]=patches/@beeper__chat-adapter-matrix@0.2.0.patch'Pinned to an exact version — the supply-chain policy rejects ranges and latest.
The Matrix adapter lives in the @beeper/ namespace and versions on its own
track (not the @chat-adapter/* family), so it carries its own pin:
@beeper/chat-adapter-matrix@0.2.0Build guards the typed createChatSdkBridge(...) core call the adapter makes
and fails if the import './matrix.js'; line is missing. The direct Node import
checks the published ESM entrypoint using the real runtime resolver:
pnpm run buildnode --input-type=module -e 'await import("@beeper/chat-adapter-matrix")'pnpm exec vitest run src/channels/matrix-registration.test.tsmatrix-registration.test.ts imports the real channel barrel and asserts the
registry contains matrix. It goes red if the import line is deleted or drifts,
if the barrel fails to evaluate, or if @beeper/chat-adapter-matrix isn't
installed (the import throws) — so it also covers the dependency from step 3.
End-to-end message delivery against a real Matrix homeserver is verified manually once the service is running — see Next Steps.
The bot needs its own Matrix account — separate from the user's account. This is required because Matrix cannot send DMs to yourself. These steps are human and interactive (no parser can click through Element), so they stay prose.
andybot on matrix.org)@andybot:matrix.org)Option A: Username + Password (simpler)
No extra steps — just use the bot account's credentials directly. The adapter logs in automatically.
MATRIX_BASE_URL=https://matrix.org
MATRIX_USERNAME=andybot
MATRIX_PASSWORD=your-bot-password
MATRIX_USER_ID=@andybot:matrix.org
MATRIX_BOT_USERNAME=AndyOption B: Access Token (recommended for production)
Get an access token from Element: sign into the bot account → Settings > Help & About > Access Token (under Advanced). Or via API:
curl -XPOST 'https://matrix.org/_matrix/client/r0/login' \
-d '{"type":"m.login.password","user":"andybot","password":"..."}'MATRIX_BASE_URL=https://matrix.org
MATRIX_ACCESS_TOKEN=your-access-token
MATRIX_USER_ID=@andybot:matrix.org
MATRIX_BOT_USERNAME=AndyMATRIX_INVITE_AUTOJOIN=true # Auto-accept room invites (default: true)
MATRIX_INVITE_AUTOJOIN_ALLOWLIST=@you:matrix.org # Only accept invites from these users
MATRIX_RECOVERY_KEY=your-recovery-key # Enable E2EE cross-signing
MATRIX_DEVICE_ID=NANOCLAW01 # Stable device ID across restartsCapture the values for the auth method you chose, 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. The homeserver URL, the bot's user ID, and a display name are
shared across both auth methods:
Paste the homeserver base URL, e.g. `https://matrix.org`.Paste the bot's full Matrix user ID, e.g. `@andybot:matrix.org`.Paste a display name for the bot, e.g. `Andy`.MATRIX_BASE_URL={{base_url}}
MATRIX_USER_ID={{user_id}}
MATRIX_BOT_USERNAME={{bot_username}}For Option A capture the bot login, for Option B capture the access token — set only the block matching your chosen method:
Option A only — the bot's login username (the localpart, e.g. `andybot`).Option A only — the bot account's password.MATRIX_USERNAME={{username}}
MATRIX_PASSWORD={{password}}Option B only — the access token from Element Settings > Help & About, or from the login API.MATRIX_ACCESS_TOKEN={{access_token}}If you're in the middle of /setup, return to the setup flow now.
Otherwise, run /manage-channels to wire this channel to an agent group.
matrix!abc123:matrix.org) and optional aliases (like #general:matrix.org).openDM to resolve the room automatically. For group rooms, in Element click the room name > Settings > Advanced — the "Internal room ID" is the platform ID (starts with !). Or use a room alias like #general:matrix.org.Build fails with ERR_MODULE_NOT_FOUND for matrix-js-sdk/lib/.... The ESM extension patch (step 4) hasn't been applied — or a later pnpm install reinstalled the adapter and wiped it. Re-run the patch, then pnpm run build; the patch is idempotent, so re-running is always safe.
Login fails with M_FORBIDDEN. The username/user-ID split is the usual trip: MATRIX_USERNAME is the bare localpart (andybot), while MATRIX_USER_ID is the full ID (@andybot:matrix.org) — swapping them fails auth. With Option B, an access token dies the moment that Element session signs out; grab a fresh one from Settings → Help & About → Access Token, or via the login API.
The bot never joins your room. Auto-join is on by default (MATRIX_INVITE_AUTOJOIN=true), but an allowlist (MATRIX_INVITE_AUTOJOIN_ALLOWLIST) that doesn't include your user ID makes it ignore your invites. Invite the bot from your own account and watch the service log for the join.
Messages to yourself never arrive. Matrix cannot DM your own account — the bot must be its own account, separate from yours. If you configured the adapter with your personal credentials, register a dedicated bot account and redo the credential steps.
Registered but silent. Run pnpm exec vitest run src/channels/matrix-registration.test.ts — red means the barrel import or the @beeper/chat-adapter-matrix install drifted, so re-run the Apply steps. If green, restart the service (see Next Steps) and check logs/nanoclaw.error.log for login errors.
© 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 3 other files in .claude/skills/add-matrix of nanocoai/nanoclaw.
Open the folder on GitHubat commit 66f0823
Matrix 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 |
|---|---|---|---|---|---|---|
| Matrix Channel for NanoClaw this skillnanocoai/nanoclaw | 31k | — | ~2.1k | Automated safety check: Notes | MIT | |
| Wechat 2D Rendervibe-motion/skills | 1.3k | — | ~773 | Automated safety check: Pass | None | |
| Slack Browser Automationvercel-labs/agent-browser | 44k | 1 repos | ~2.1k | Automated safety check: Pass | Apache-2.0 | |
| Feishu Docopenclaw/openclaw | 392k | — | ~516 | Automated safety check: Pass | MIT | |
| She Love Me863401402/she-love-me | 919 | 1 repos | ~1.3k | Automated safety check: Pass | MIT | |
| Claude To Imop7418/Claude-to-IM-skill | 2.9k | — | ~3.4k | Automated safety check: Notes | MIT |
vibe-motion/skills
Clone or update https://github.com/sxhzju/wechat-2d and render the default WeChat-style 2D chat motion video with Remotion.
vercel-labs/agent-browser
Drives the Slack web app with the agent-browser CLI to check unread channels, search, read channel details and extract information, with screenshots as evidence.
openclaw/openclaw
Feishu document read/write workflows. An agent skill from openclaw/openclaw.
863401402/she-love-me
Acquire, import, and analyze WeChat or QQ chat histories, including installing supported exporters, guiding required login or contact selection, converting exports, assessing relationship dynamics…
op7418/Claude-to-IM-skill
Bridge THIS Claude Code or Codex session to Telegram, Discord, Feishu/Lark, QQ, or WeChat so the user can chat with Claude from their phone.
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…
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
Adds a Matrix channel to NanoClaw for any homeserver through the Chat SDK bridge, including a pnpm patch that fixes ESM imports in the published adapter. Matrix support comes through the Chat SDK bridge and works with any Matrix homeserver. The adapter lives in the `@beeper/` namespace and is pinned on its own track, apart from the `@chat-adapter` packages.
Matrix Channel for NanoClaw fits situations like: connecting a NanoClaw agent to a Matrix room on any homeserver; fixing a Matrix adapter that fails to load under strict ESM resolution; reapplying the Matrix adapter patch after a dependency reinstall.
Run `npx skills add nanocoai/nanoclaw --skill add-matrix -a claude-code`. Or copy the skill folder (.claude/skills/add-matrix in nanocoai/nanoclaw) into .claude/skills/add-matrix in your project. Claude Code loads it when a task matches its description.
Run `npx skills add nanocoai/nanoclaw --skill add-matrix -a codex`. Or copy the skill folder (.claude/skills/add-matrix in nanocoai/nanoclaw) into .agents/skills/add-matrix 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-matrix -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-matrix, .gemini/skills/add-matrix, .github/skills/add-matrix and .opencode/skills/add-matrix in your project.
Going by SKILL.md and its folder, Matrix Channel for NanoClaw needs the command-line tools its instructions call (pnpm and curl) and credentials named MATRIX_PASSWORD, MATRIX_ACCESS_TOKEN and MATRIX_RECOVERY_KEY. Our summary lists: A NanoClaw installation with pnpm; A Matrix homeserver account for the bot.
SKILL.md names 1 domain. In commands or code: matrix.org; the agent is likely to contact it when it follows the instructions. 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.
Matrix 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.1k tokens (SKILL.md is roughly 8.5k 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 Matrix Channel for NanoClaw: Wechat 2D Render (vibe-motion/skills, 1.3k stars), Slack Browser Automation (vercel-labs/agent-browser, 44k stars), Feishu Doc (openclaw/openclaw, 392k stars) and She Love Me (863401402/she-love-me, 919 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,897 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.