Skills and rules for the NanoClaw host agent (Claude Code on Mac), covering plugin promotion, container management, staging checks, repository safety, and upstream updates.
91%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
Medium
Suggest reviewing before use
task_restart_recoveries in /workspace/store/messages.db.jbaruch/nanoclaw scheduler through src/db-task-occurrences.ts.src/state-migrations/state-026-task-restart-recoveries.ts.schema_version 1.(task_id, scheduled_for, attempt); attempt is the occurrence's attempt number before retry.group_folder, started_at, interrupted_at.Z.unknown in one transaction.jbaruch/nanoclaw-admin skills/email-surface/scripts/email_surface_retry.py reads supported intervals through its precheck.scheduled_tasks in /workspace/store/messages.db, owned by the jbaruch/nanoclaw host scheduler.src/db.ts createSchema, called by initDatabase; it creates the table and applies inline upgrades, including the source column's addColumnIfMissing equivalent guarded by PRAGMA table_info.id TEXT PRIMARY KEY, group_folder TEXT NOT NULL, chat_jid TEXT NOT NULL, and source TEXT NOT NULL DEFAULT 'schedule-task'. This legacy table has no per-record schema_version; use coding-policy's Read-Only Legacy Runtime Tables exception, without inventing a versioned migration.src/cadence-registry.ts rebuildCadenceRegistry; ordinary task CRUD lives in src/db-tasks.ts. Canonical identities have source = 'cadence-registry' and id = 'cadence-registry::<group_folder>::tessl__<skill>'.NANOCLAW_CHAT_JID. Missing, ambiguous or malformed identity supplies no recovery permission.jbaruch/nanoclaw-admin skills/morning-brief/scripts/acquire-pending-lock.py may read version-1 intervals to reclaim its own pending lock in the existing BEGIN IMMEDIATE transaction.cadence-registry::<group_folder>::tessl__morning-brief task from scheduled_tasks with source = 'cadence-registry' and the host-supplied NANOCLAW_CHAT_JID. Require the interval's task and group to match.started_at <= pending_run_at <= interrupted_at <= now.src/task-scheduler.ts, startSchedulerLoop). Do not bypass that host admission.follow_me_tasks cursors; it never writes or migrates restart intervals. Publish/install this reader authority before the consumer..tessl-plugin
rules
skills
add-ugos-project
check-staging
extract-to-overlay
host-contracts
references
scripts
nuke
promote
reconcile
ship-code
update-from-upstream