Dive Into LangGraph
luochang212/dive-into-langgraph
A Chinese-language guide and reference for building agents with LangGraph 1.0, from a first ReAct agent through middleware, memory, MCP, RAG and web search.
A decision tree for an agent changing its own setup: edit memory directly, request approval for packages and MCP servers, and delegate code edits to a builder agent.
$ npx skills add nanocoai/nanoclaw --skill self-customize -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install nanocoai/nanoclaw self-customize --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/container/skills/self-customize .claude/skills/self-customize && 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 "self-customize" agent skill from https://github.com/nanocoai/nanoclaw/tree/main/container/skills/self-customize into .claude/skills/self-customize/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "self-customize", 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/container/skills/self-customizeType 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 self-customize -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install nanocoai/nanoclaw self-customize --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/container/skills/self-customize .agents/skills/self-customize && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "self-customize" agent skill from https://github.com/nanocoai/nanoclaw/tree/main/container/skills/self-customize into .agents/skills/self-customize/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "self-customize", 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 self-customize -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install nanocoai/nanoclaw self-customize --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/container/skills/self-customize .cursor/skills/self-customize && 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 "self-customize" agent skill from https://github.com/nanocoai/nanoclaw/tree/main/container/skills/self-customize into .cursor/skills/self-customize/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "self-customize", 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 container/skills/self-customize--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 self-customize -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install nanocoai/nanoclaw self-customize --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/container/skills/self-customize .gemini/skills/self-customize && 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 "self-customize" agent skill from https://github.com/nanocoai/nanoclaw/tree/main/container/skills/self-customize into .gemini/skills/self-customize/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "self-customize", 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 self-customizeInstalls 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 self-customize -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/container/skills/self-customize .github/skills/self-customize && 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 "self-customize" agent skill from https://github.com/nanocoai/nanoclaw/tree/main/container/skills/self-customize into .github/skills/self-customize/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "self-customize", 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 self-customize -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 self-customize --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/container/skills/self-customize .opencode/skills/self-customize && 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 "self-customize" agent skill from https://github.com/nanocoai/nanoclaw/tree/main/container/skills/self-customize into .opencode/skills/self-customize/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "self-customize", 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.
self-customizeA decision tree for an agent changing its own setup: edit memory directly, request approval for packages and MCP servers, and delegate code edits to a builder agent.
Requests are sorted by what has to change. Memory and standing instructions can be edited in place with no approval, while the composed provider document, CLAUDE.md or AGENTS.md, is regenerated on every spawn and must not be edited. System or global npm packages go through install_packages, and MCP servers through add_mcp_server; both need admin approval and trigger a rebuild or restart once approved.
Changes to source files or the Dockerfile are handed to a builder agent created with create_agent, which works in its own container and reports back so you get a reviewable boundary. The builder's instructions call for precise, minimal edits and enforce diff size limits, on the reasoning that a 50-line change can actually be reviewed and a 500-line sweep cannot. A new specialist capability is handled by creating a dedicated agent.
5 steps, taken from the first numbered list 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:
pnpmFrom the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
mcp.soFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Agent Self-Customization loads about 1.5k tokens when it runs. Until then it costs about 70 tokens; SKILL.md has 613 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.
- Never modify secrets, credentials, or .env filesAutomated 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). 613 words, ~1,453 tokens.
.claude/skills/self-customize/SKILL.md (or your agent's skills folder).You can modify your own environment. Different kinds of changes have different workflows.
What needs to change?
memory/ or instructions.prepend.md directly, no approval needed. The workspace is persisted on the host. The composed provider document (CLAUDE.md or AGENTS.md) is regenerated every spawn and must not be edited.install_packages. Requires admin approval. On approval, image rebuild + container restart happen automatically.add_mcp_server. Requires admin approval. On approval, container restarts with the new server wired up (no rebuild — bun runs TS directly).create_agent (see below).create_agent to spin up a dedicated agent for it.For anything that requires editing source files (your own code, Dockerfile, etc.), do not edit directly — delegate to a builder agent. This gives the user a reviewable boundary and keeps your main session focused.
create_agent({ name: "Builder", instructions: "<builder prompt>" }) — the returned agent group ID is your buildersend_to_agent({ agentGroupId, text: "<task description with specific files and changes>" })/app/src are picked up automatically on the next container start — no rebuild step needed (bun runs TS directly). If the builder also installed packages, its own install_packages approval will have rebuilt the image.You are a builder agent. Your job is to make precise, minimal code changes to NanoClaw source files when the main agent requests it.
## Rules
- **Minimal scope.** Only change what was requested. Do not refactor surrounding code, "improve" unrelated files, or add features not asked for.
- **Diff size limits.** Reject any change that exceeds 200 new lines or 150 modified lines in a single task. If the change is larger, push back and ask for it to be split into smaller tasks.
- **Read before writing.** Always read the target file fully before editing. Understand the existing patterns.
- **Test if possible.** If there are relevant tests, run them after your change.
- **Report back.** When done, use send_to_agent to tell the requesting agent: (a) what files you changed, (b) a summary of the changes, (c) any follow-up needed (rebuild, tests, migrations).
- **No silent failures.** If you can't complete the task, explain why — don't produce partial work without flagging it.
## Safety
- Never edit files outside the requested scope
- Never commit or push anything
- Never modify secrets, credentials, or .env files
- If a change would break existing tests, stop and reportA 50-line focused change is reviewable. A 500-line sweep is not. Hard limits force the agent to decompose work into reviewable chunks, which:
The limits are per builder task, not per session. A 500-line feature is fine as 4 sequential builder tasks of ~125 lines each, each with its own scope.
User: "Can you add a tool for reading RSS feeds?"
add_mcp_server({ name: "rss", command: "npx", args: ["some-rss-mcp"] }) → admin approves → container restarts with the new server → donecreate_agent({ name: "RSS Tool Builder", instructions: "<builder prompt from above>" })send_to_agent({ agentGroupId, text: "Add an MCP tool 'read_rss' to container/agent-runner/src/mcp-tools/. It should fetch an RSS URL and return the latest N items. Register it in mcp-tools/index.ts. Target: <200 new lines." })User: "Can you transcribe audio?"
which ffmpeg (likely not installed in base image)@xenova/transformers (npm, workspace-local) or whisper.cpp (apt + compile)install_packages({ apt: ["ffmpeg"], npm: ["@xenova/transformers"], reason: "Audio transcription for voice messages" })pnpm install in /workspace/agent/), then promote to container-level install if it proves useful© nanocoai, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in container/skills/self-customize of nanocoai/nanoclaw.
Open the folder on GitHubat commit 66f0823
We found 2 copies of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in nanocoai/nanoclaw, which our catalogue first saw on October 7, 2026.
Agent Self-Customization 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 |
|---|---|---|---|---|---|---|
| Agent Self-Customization this skillnanocoai/nanoclaw | 31k | 1 repos | ~1.5k | Automated safety check: Notes | MIT | |
| Dive Into LangGraphluochang212/dive-into-langgraph | 457 | — | ~837 | Automated safety check: Notes | Custom licence | |
| Ask User QuestionMemTensor/MemOS | 12k | — | ~1k | Automated safety check: Pass | Apache-2.0 | |
| Agent Setup Health Audittw93/Waza | 7.2k | — | ~5.2k | Automated safety check: Notes | MIT | |
| Semantix GuideGnosil/semantix | 821 | — | ~2.1k | Automated safety check: Pass | MIT | |
| Working With Claude Code Docsobra/superpowers-developing-for-claude-code | 142 | — | ~1.5k | Automated safety check: Pass | None |
luochang212/dive-into-langgraph
A Chinese-language guide and reference for building agents with LangGraph 1.0, from a first ReAct agent through middleware, memory, MCP, RAG and web search.
MemTensor/MemOS
Shows a question as a modal in the interface to clarify a task, collect a preference or get approval, since the user cannot see terminal output.
tw93/Waza
Audits a project's agent configuration, instruction drift, hooks, MCP and AI maintainability, then reports prioritized findings with evidence and next actions.
Gnosil/semantix
Troubleshoot and configure Semantix capabilities: Skills (project/custom/global/builtin priority, discovery dirs), Commands (override order, /dir:file naming), Hooks (11 events, automatic project…
obra/superpowers-developing-for-claude-code
Looks up official Claude Code documentation stored as reference files instead of guessing about CLI commands, configuration, or plugin APIs.
agent-sh/agnix
A skill your agent uses when user asks to 'lint agent configs', 'validate skills', 'check CLAUDE.md', 'validate hooks', 'lint MCP'.
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
A decision tree for an agent changing its own setup: edit memory directly, request approval for packages and MCP servers, and delegate code edits to a builder agent. Requests are sorted by what has to change.md, is regenerated on every spawn and must not be edited.
Agent Self-Customization fits situations like: the user asks the agent to add a feature or install a tool for itself; registering a new MCP server for the agent; deciding whether a change needs approval or a builder agent.
Run `npx skills add nanocoai/nanoclaw --skill self-customize -a claude-code`. Or copy the skill folder (container/skills/self-customize in nanocoai/nanoclaw) into .claude/skills/self-customize in your project. Claude Code loads it when a task matches its description.
Run `npx skills add nanocoai/nanoclaw --skill self-customize -a codex`. Or copy the skill folder (container/skills/self-customize in nanocoai/nanoclaw) into .agents/skills/self-customize 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 self-customize -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/self-customize, .gemini/skills/self-customize, .github/skills/self-customize and .opencode/skills/self-customize in your project.
Going by SKILL.md and its folder, Agent Self-Customization needs the command-line tools its instructions call (pnpm). Our summary lists: A NanoClaw agent with the install_packages, add_mcp_server and create_agent tools; Admin approval for package and MCP changes.
SKILL.md names 1 domain. As links in the text: mcp.so. 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.
Agent Self-Customization is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.5k tokens (SKILL.md is roughly 5.8k 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 Agent Self-Customization: Dive Into LangGraph (luochang212/dive-into-langgraph, 457 stars), Ask User Question (MemTensor/MemOS, 12k stars), Agent Setup Health Audit (tw93/Waza, 7.2k stars) and Semantix Guide (Gnosil/semantix, 821 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.