PluginBench
Skill
Pass
Audit score 90

unified-notifications-ops

affaan-m/ecc

Consolidate GitHub, Linear, and desktop alerts into one operator-driven notification workflow with severity routing and deduplication.

What is unified-notifications-ops?

Unified Notifications Ops turns fragmented alerts across GitHub, Linear, desktop, and hooks into a single ECC-native lane with clear severity, ownership, and routing. Use this when alert noise, duplication, or inbox collapse is the real problem—not missing notifications.

  • Inventory event sources and current notification channels to identify duplicates and gaps
  • Classify events by severity (critical, high, medium, low) and route to appropriate channels (interrupt, digest, queue, or log-only)
  • Collapse duplicate notifications from the same event across multiple surfaces into one canonical summary
  • Design operator-driven workflows that attach clear next actions to each alert
  • Recommend whether to suppress, merge, or consolidate overlapping notification paths

How to install unified-notifications-ops

npx skills add null --skill unified-notifications-ops
Claude Code
Cursor
Windsurf
Cline

How to use unified-notifications-ops

  1. 1.List all current event sources (GitHub, Linear, hooks, desktop, email, chat) and existing notification channels
  2. 2.Identify duplicate notification paths for the same event and gaps where important events are not surfaced
  3. 3.Define a severity model: decide which events warrant immediate interruption, same-day alerts, digests, or log-only handling
  4. 4.Design the routing plan: map each event source and severity level to a specific channel and operator action
  5. 5.Implement the ECC-native workflow using skills, hooks, or agents rather than external notification products

Use cases

Good for
  • Consolidate CI failures, review requests, and issue updates scattered across GitHub, Linear, and local hooks into one operator surface
  • Reduce alert fatigue by routing critical events (broken CI, security issues, blocked releases) to immediate interrupt and medium-signal updates to digests
  • Merge duplicate PR notifications appearing in GitHub, Linear, and local logs into a single canonical alert with one owner
  • Build a severity model and routing policy before adding new notification channels or external tools
  • Audit and collapse overlapping notification branches when proposing new automation or workspace changes
Who it's for
  • Engineering teams managing notifications across multiple tools (GitHub, Linear, email, chat, desktop)
  • DevOps and release engineers handling CI/CD alerts and deployment notifications
  • Workspace operators designing alert policies and notification routing
  • Teams experiencing alert fatigue or notification-driven inbox collapse

unified-notifications-ops FAQ

Should I add another notification channel or consolidate existing ones first?

Consolidate first. Collapse duplicates and suppress low-signal noise before adding channels. Prefer one strong lane over many weak ones.

How do I decide what deserves immediate interruption versus a digest?

Interrupt for release, CI, security, and owner-blocking events. Use digests for medium-signal updates (issue state changes, comments). Log-only for telemetry and routine lifecycle markers.

What if the real problem is not alerts but backlog or PR coordination?

Use `project-flow-ops` instead. If you first need to inventory your notification surface, start with `workspace-surface-audit`.

Can I use desktop notifications alone instead of building a complex workflow?

Yes, if desktop notifications are sufficient for your use case, do not invent unnecessary external bridges. Keep it simple.

How do I prevent exposing tokens or secrets in notifications?

Never expose tokens, webhook secrets, or internal identifiers. Separate event source, severity, routing channel, and operator action in the design.

Full instructions (SKILL.md)

Source of truth, from affaan-m/ecc.


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. metadata: 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

ClassExamplesDefault handling
Criticalbroken default-branch CI, security issue, blocked release, failed deployinterrupt now
Highreview requested, failing PR, owner-blocking handoffsame-day alert
Mediumissue state changes, notable comments, backlog movementdigest or queue
Lowrepeat successes, routine churn, redundant lifecycle markerssuppress 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

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