CtrlK
BlogDocsLog inGet started
Tessl Logo

jbaruch/nanoclaw-media

Personal entertainment-media skills for NanoClaw: Trakt watch-history sync, TV-show and audiobook recommendations, watchlist release checks, YouTube channel-comment digests, and Audible backup — with a weekly cadence companion. NanoClaw per-chat overlay tile.

73

Quality

92%

Does it follow best practices?

Impact

No eval scenarios have been run

SecuritybySnyk

Risky

Do not use without reviewing

Overview
Quality
Evals
Security
Files

state-schema.mdskills/entertainment-sync/

State schema — entertainment-sync-cursor.json

Per coding-policy: stateful-artifacts.

Path

/workspace/group/state/entertainment-sync-cursor.json (overridable via ENTERTAINMENT_SYNC_CURSOR env var).

Owner

tessl__entertainment-sync. Cursor written exclusively by scripts/stamp-cursor.py.

Reader

scripts/precheck-entertainment-sync.py. Reader does NOT migrate.

Shape (schema_version 1)

{
  "schema_version": 1,
  "last_run": "2026-05-02T03:14:07Z"
}
FieldTypeRequiredDescription
schema_versionintegeryesCurrently 1.
last_runstringyesUTC ISO-8601 with trailing Z. The wall-clock instant the most recent successful bundle completed Steps 1-5 and reached Step 6 (advance cursor).

Lifecycle

  • First run — cursor absent. Precheck wakes with reason: "no_cursor".
  • Steady state — gates wake_agent: false while last_run is newer than the cadence cap (CADENCE in scripts/precheck-entertainment-sync.py).
  • Bundle failure — any of Steps 1-5 fails; Step 6 is skipped intentionally. Cursor stays at its prior value.
  • Cursor corruption — fail-open with cursor_error. Next successful bundle self-heals.

Migration policy

Bump SUPPORTED_SCHEMA in stamp-cursor.py and SUPPORTED_SCHEMA_VERSION in the precheck. Stamp script writes the new shape; precheck treats the old shape as "no usable prior state".

skills

CHANGELOG.md

README.md

tile.json