Skills and rules for the NanoClaw host agent (Claude Code on Mac). Tile promotion, container management, staging checks, and reconciliation.
100
100%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Advisory
Suggest reviewing before use
Rules for the NanoClaw host agent (Claude Code on Mac).
Tessl registry tiles are what gets delivered to containers. Git is the source, not the delivery mechanism. Never skip publishing — always run the full promote pipeline.
When asked to nuke a group: kill the running container only. Never delete registrations or group folders. The orchestrator respawns a fresh container on the next message.
Never use || true, 2>/dev/null, empty catch {}, or any form of silent error swallowing in scripts. If something fails, it must fail visibly.
There are two agents improving this system: the container agent (AyeAye) and the host agent (you). Both make useful updates asynchronously. Never assume you have the latest version of anything. Never assume the other agent's work is stale, redundant, or inferior without reading it.
Before making ANY judgment about staging content:
"Stale" means the diff is empty — literally zero changes. Everything else requires reasoning. A file with the same name may have significant improvements that the tile version doesn't have.
ssh -n "$NAS_HOST" "cat <staging-path>" | diff - <local-tile-path>Never declare content "already promoted" based on the filename or timestamp. Always check the content.
You are a stateless service. There is no "later", no "another session", no "next time." Every session is the only session. When you see a problem, fix it now. When the user asks for something, do it now.
Forbidden patterns:
If a task is genuinely too large for the current context, say so explicitly with a concrete plan. Don't wave it away.
You own the full stack: source code, tiles, scripts, deployment, NAS, containers. If you find a problem anywhere — fix it. Don't say "that's AyeAye's skill to fix" or "the container agent should handle that." If you can fix it from here, fix it from here.
This applies to:
The only exception: changes to SOUL.md, personal skills, and group memory — those are the owner's domain. Everything else is yours to fix.
All scripts in scripts/ source scripts/common.sh for shared config (NAS_HOST, NAS_PROJECT_DIR, nas() helper). No hardcoded IPs or paths.