container/skills/self-improve/SKILL.md
Write features, fix bugs, and create PRs for the NanoClawbster codebase. Works in an isolated dev workspace, pushes via Composio (CI validates on GitHub Actions), and deploys after user approval.
npx skillsauth add sskarz/nanoclawbster self-improveInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Write features, fix bugs, and create PRs for the NanoClawbster codebase. You work in an isolated dev workspace, push via Composio (GitHub Actions runs CI), and deploy after user approval.
/workspace/project → Live code (READ-ONLY)
/workspace/dev/nanobot → NanoClawbster git clone (edit here for nanobot changes)
/workspace/dev/<repo>/ → Other repos (clone with: git clone <url> /workspace/dev/<name>)
/workspace/group → Group files (READ-WRITE)
Never edit /workspace/project directly. All changes happen in /workspace/dev/nanobot.
Before doing anything else:
Use send_message to tell the user what you're working on:
"Working on: [brief description of the task]. I'll send you the PR link when done."
Use TodoWrite to set up your full task list with ALL steps below as pending todos. This keeps you on track and lets the user see progress. Include a todo for creating the PR — this is mandatory.
Example todos:
Mark each todo in_progress before starting it, completed immediately when done.
cd /workspace/dev/nanobot
git checkout main
git pull origin main
npm install
If git pull fails because origin points to the local host path, fix it first:
git remote set-url origin https://github.com/sskarz/nanoclawbster.git
git pull origin main
cd /workspace/dev/nanobot
git checkout -b feature/your-change-name
This branch is local only — Composio handles the GitHub branch when you push.
Before making changes, read the files you'll edit. Understand the existing patterns. Do not modify code you haven't read.
Make your changes in /workspace/dev/nanobot/src/ (host code) or /workspace/dev/nanobot/container/ (agent code).
Run a quick local build check before pushing:
cd /workspace/dev/nanobot && node_modules/.bin/tsc --noEmit
This catches type errors early. Full CI (type check, unit tests via vitest, container build) runs automatically on every PR via GitHub Actions — you do NOT need to replicate all CI checks locally.
For skill-only changes (container/skills/*): No build needed — skills are copied on container start. Just review the content for correctness.
cd /workspace/dev/nanobot
git diff --name-only # unstaged changes
git diff --staged --name-only # staged changes
You'll need the file paths and contents for the Composio push step.
Use COMPOSIO_MULTI_EXECUTE_TOOL (NOT COMPOSIO_EXECUTE_TOOL — it returns 404 for GitHub tools) with GITHUB_COMMIT_MULTIPLE_FILES:
{path, content, encoding: "utf-8"} for each changed fileImportant: For large files, the content string may be too large for inline tool arguments. In that case, use git push directly:
cd /workspace/dev/nanobot
git config user.email "[email protected]"
git config user.name "Nano"
git add src/your-file.ts
git commit -m "your message"
git push origin feature/your-branch
Note: git push requires HTTPS credentials. If it fails with auth error, use Composio instead and split large files across multiple commits.
This step is MANDATORY. Never skip it, even if not explicitly asked.
Use GITHUB_CREATE_A_PULL_REQUEST via COMPOSIO_MULTI_EXECUTE_TOOL:
GitHub Actions will automatically run on the PR:
tsc --noEmit) and unit tests (vitest run)./container)If CI fails, check the PR status, fix the issues, and push again.
Send the PR link via send_message. Example:
"PR ready for review: https://github.com/sskarz/nanoclawbster/pull/X — [brief summary of changes]"
Ask the user to review and merge.
Important: Your send_message here is the ONE final completion report to the user. Do NOT wrap up with additional text output after this — the host agent will stay silent and let your message stand on its own.
Once the user confirms the PR is merged:
send_message to warn: "Deploying changes — I'll be back shortly!"pull_and_deploy tool (branch: "main")<internal> tagsThe host will pull, build, and restart. If the build fails, it automatically rolls back to the previous version.
If deploy fails: Use send_message to tell the user exactly what happened — include the error message. Ask them how they'd like to proceed. Do NOT silently retry or move on.
After pull_and_deploy completes and the service is back online:
tail /workspace/project/logs/nanoclaw.log to confirm the service started cleanly with no errorstsc --noEmit catches type errors earlynanoclaw.logtools
Build, register, and use custom MCP servers within this environment. Use this when asked to create a new tool, capability, or integration as an MCP server.
development
Browse the web for any task — research topics, read articles, interact with web apps, fill forms, take screenshots, extract data, and test web pages. Use whenever a browser would be useful, not just when the user explicitly asks.
development
Maintainer-only workflow for handling GitHub Secret Scanning alerts on OpenClaw. Use when Codex needs to triage, redact, clean up, and resolve secret leakage found in issue comments, issue bodies, PR comments, or other GitHub content.
development
Maintainer workflow for OpenClaw releases, prereleases, changelog release notes, and publish validation. Use when Codex needs to prepare or verify stable or beta release steps, align version naming, assemble release notes, check release auth requirements, or validate publish-time commands and artifacts.