Rules for trusted NanoClaw groups. Shared memory, session bootstrap, cross-group memory updates. Loaded for trusted and main containers only.
77
96%
Does it follow best practices?
Impact
—
No eval scenarios have been run
Risky
Do not use without reviewing
ghGitHub state — PRs, issues, repo contents, workflow runs, releases, search results — comes from the gh CLI inside the container. The orchestrator forwards GITHUB_TOKEN via --env-file (per src/container-runner.ts SECRET_CONTAINER_VARS, jbaruch/nanoclaw#565); gh reads it automatically, so no gh auth login is needed.
Always use --json to get structured output: gh issue view 565 --repo jbaruch/nanoclaw --json title,body,state parses cleanly. Without --json, output is human-formatted and brittle.
curlDon't use curl https://api.github.com/... for GitHub data — the unauthenticated path appears to work, then quietly fails. Known failure modes:
{successful, error} envelopeDon't hand-roll Authorization: Bearer "$GITHUB_TOKEN" onto curl either. Use gh --json.
The Composio GITHUB_* tools (COMPOSIO_MULTI_EXECUTE_TOOL → GITHUB_*) remain reachable for the rare case gh can't express the operation. For the common cases — issue/PR view/edit/comment, workflow run listing, repo/file search, file content fetch — prefer gh. If a gh invocation appears to require Composio as a workaround, surface that gap explicitly instead of silently routing through Composio.
Sub-agents spawned via Agent run inside the same container and inherit GITHUB_TOKEN from the env, so gh works inside them. Composio MCP, by contrast, is not accessible from sub-agents — another reason to prefer gh.
sqlite3 CLI is also absent from the container image (separate concept) — see the messages-db-schema rule for the python3 -c 'import sqlite3' path.rules
skills
system-status