unified-notifications-ops
$
npx mdskill add affaan-m/ECC/unified-notifications-opsConsolidate fragmented alerts into a single operator surface.
- Resolves alert routing, deduplication, and inbox collapse issues.
- Integrates GitHub, Linear, desktop alerts, hooks, and chat.
- Prioritizes severity, ownership, and routing based on event context.
- Delivers unified notifications through ECC-native orchestration.
SKILL.md
.github/skills/unified-notifications-opsView on GitHub ↗
--- name: unified-notifications-ops description: Operate notifications as one ECC-native workflow across GitHub, Linear, desktop alerts, hooks, and connected communication surfaces. Use when the real problem is alert routing, deduplication, escalation, or inbox collapse. origin: ECC --- # Unified Notifications Ops Use this skill when the real problem is not a missing ping. The real problem is a fragmented notification system. The job is to turn scattered events into one operator surface with: - clear severity - clear ownership - clear routing - clear follow-up action ## When to Use - the user wants a unified notification lane across GitHub, Linear, local hooks, desktop alerts, chat, or email - CI failures, review requests, issue updates, and operator events are arriving in disconnected places - the current setup creates noise instead of action - the user wants to consolidate overlapping notification branches or backlog proposals into one ECC-native lane - the workspace already has hooks, MCPs, or connected tools, but no coherent notification policy ## Preferred Surface Start from what already exists: - GitHub issues, PRs, reviews, comments, and CI - Linear issue/project movement - local hook events and session lifecycle signals - desktop notification primitives - connected email/chat surfaces when they actually exist Prefer ECC-native orchestration over telling the user to adopt a separate notification product. ## Non-Negotiable Rules - never expose tokens, secrets, webhook secrets, or internal identifiers - separate: - event source - severity - routing channel - operator action - default to digest-first when interruption cost is unclear - do not fan out every event to every channel - if the real fix is better issue triage, hook policy, or project flow, say so explicitly ## Event Pipeline Treat the lane as: 1. **Capture** the event 2. **Classify** urgency and owner 3. **Route** to the correct channel 4. **Collapse** duplicates and low-signal churn 5. **Attach** the next operator action The goal is fewer, better notifications. ## Default Severity Model | Class | Examples | Default handling | | --- | --- | --- | | Critical | broken default-branch CI, security issue, blocked release, failed deploy | interrupt now | | High | review requested, failing PR, owner-blocking handoff | same-day alert | | Medium | issue state changes, notable comments, backlog movement | digest or queue | | Low | repeat successes, routine churn, redundant lifecycle markers | suppress or fold | If the workspace has no severity model, build one before proposing automation. ## Workflow ### 1. Inventory the current surface List: - event sources - current channels - existing hooks/scripts that emit alerts - duplicate paths for the same event - silent failure cases where important things are not being surfaced Call out what ECC already owns. ### 2. Decide what deserves interruption For each event family, answer: - who needs to know? - how fast do they need to know? - should this interrupt, batch, or just log? Use these defaults: - interrupt for release, CI, security, and owner-blocking events - digest for medium-signal updates - log-only for telemetry and low-signal lifecycle markers ### 3. Collapse duplicates before adding channels Look for: - the same PR event appearing in GitHub, Linear, and local logs - repeated hook notifications for the same failure - comments or status churn that should be summarized instead of forwarded raw - channels that duplicate each other without adding a better action path Prefer: - one canonical summary - one owner - one primary channel - one fallback path ### 4. Design the ECC-native workflow For each real notification need, define: - **source** - **gate** - **shape**: immediate alert, digest, queue, or dashboard-only - **channel** - **action** If ECC already has the primitive, prefer: - a skill for operator triage - a hook for automatic emission/enforcement - an agent for delegated classification - an MCP/connector only when a real bridge is missing ### 5. Return an action-biased design End with: - what to keep - what to suppress - what to merge - what ECC should wrap next ## Output Format ```text CURRENT SURFACE - sources - channels - duplicates - gaps EVENT MODEL - critical - high - medium - low ROUTING PLAN - source -> channel - why - operator owner CONSOLIDATION - suppress - merge - canonical summaries NEXT ECC MOVE - skill / hook / agent / MCP - exact workflow to build next ``` ## Recommendation Rules - prefer one strong lane over many weak ones - prefer digests for medium and low-signal updates - prefer hooks when the signal should emit automatically - prefer operator skills when the work is triage, routing, and review-first decision-making - prefer `project-flow-ops` when the root cause is backlog / PR coordination rather than alerts - prefer `workspace-surface-audit` when the user first needs a source inventory - if desktop notifications are enough, do not invent an unnecessary external bridge ## Good Use Cases - "We have GitHub, Linear, and local hook alerts, but no single operator flow" - "Our CI failures are noisy and people ignore them" - "I want one notification policy across Claude, OpenCode, and Codex surfaces" - "Figure out what should interrupt versus land in a digest" - "Collapse overlapping notification PR ideas into one canonical ECC lane" ## Related Skills - `workspace-surface-audit` - `project-flow-ops` - `github-ops` - `knowledge-ops` - `customer-billing-ops` when the notification pain is billing/customer operations rather than engineering
More from affaan-m/ECC
- accessibilityDesign, implement, and audit inclusive digital products using WCAG 2.2 Level AA
- agent-architecture-auditFull-stack diagnostic for agent and LLM applications. Audits the 12-layer agent stack for wrapper regression, memory pollution, tool discipline failures, hidden repair loops, and rendering corruption. Produces severity-ranked findings with code-first fixes. Essential for developers building agent applications, autonomous loops, or any LLM-powered feature.
- agent-evalHead-to-head comparison of coding agents (Claude Code, Aider, Codex, etc.) on custom tasks with pass rate, cost, time, and consistency metrics
- agent-harness-constructionDesign and optimize AI agent action spaces, tool definitions, and observation formatting for higher completion rates.
- agent-introspection-debuggingStructured self-debugging workflow for AI agent failures using capture, diagnosis, contained recovery, and introspection reports.
- agent-payment-x402Add x402 payment execution to AI agents with per-task budgets, spending controls, and non-custodial wallets. Supports Base through agentwallet-sdk and X Layer through OKX Payments / OKX Agent Payments Protocol.
- agent-sortBuild an evidence-backed ECC install plan for a specific repo by sorting skills, commands, rules, hooks, and extras into DAILY vs LIBRARY buckets using parallel repo-aware review passes. Use when ECC should be trimmed to what a project actually needs instead of loading the full bundle.
- agentic-engineeringOperate as an agentic engineer using eval-first execution, decomposition, and cost-aware model routing.
- agentic-osBuild persistent multi-agent operating systems on Claude Code. Covers kernel architecture, specialist agents, slash commands, file-based memory, scheduled automation, and state management without external databases.
- ai-first-engineeringEngineering operating model for teams where AI agents generate a large share of implementation output.