← ClaudeAtlas

myconotification-system-operationslisted

Use when extending the Myco notification system with a new domain, configuring notification modes, diagnosing missing or misbehaving notifications, or fixing React UI issues related to notifications — even if the user doesn't explicitly ask for notification system help. Covers: domain self-registration and default configuration; the mode resolution priority chain (payload > domain override > global default > registry default) and its critical gotcha; emission point discipline with a coverage checklist; the SystemNotifications.tsx banner-only filter requirement; dismissed-vs-deleted semantics and the full debug protocol; React Router same-URL navigation fix for notification clicks; and schema design with on-write pruning. Complements extend-myco-daemon (which covers wiring steps) with operational semantics and failure-mode playbooks.
goondocks-co/myco · ★ 13 · AI & Automation · score 79
Install: claude install-skill goondocks-co/myco
# Myco Notification System: Configuration, Wiring, and Debugging This skill covers the operational semantics of the Myco notification system — the gotchas, configuration rules, and debug protocols a developer needs when extending, configuring, or diagnosing notification domains. For the mechanical wiring steps (registry → emission → display → React hook), see `extend-myco-daemon`. This skill is additive: it documents what goes wrong, how to configure correctly, and how to diagnose failures. ## Prerequisites - The daemon is running and accessible. - You understand basic notification domain wiring (see `extend-myco-daemon`). - You have access to `src/daemon/` and `src/ui/` source trees. ## Procedure 1: Domain Registration and Defaults Register a new notification domain using the self-registration API. The registry entry establishes the **lowest-priority fallback** defaults for the domain. ```typescript // src/daemon/notifications/registry.ts (or domain-specific file) notificationRegistry.register({ domain: 'version_sync', defaultMode: 'banner', // 'banner' | 'summary' | 'none' defaultTitle: 'Version Sync', defaultIcon: '🔄', description: 'Notifies when a version sync event occurs', }); ``` **Critical constraint:** Registry defaults are the LOWEST-priority fallback. Set `defaultMode` to a safe last-resort value. The mode resolution chain (Procedure 2) means users can override your defaults through config — but only if registry values don't accidentally win