notify-templates

Шаблоны фиксированного формата для оповещений Slack, писем поставщикам и эскалаций. Загружайте это, когда задача — «notify», «alert», «email» или «tell ops».

npx skills add https://github.com/anthropics/cwc-workshops --skill notify-templates

Notification Templates

Notifications are template fills, not creative writing. Do not spawn a subagent for this. Fill the slots from data you already have, then append the result to the outbox.

Low-stock Slack alert

:warning: *Low stock* — {{sku}} ({{product_name}})
On hand: {{on_hand}} · Reorder point: {{reorder_point}} · Days of cover: {{days_cover}}
{{action_line}}

action_line is either PO {{po_id}} placed for {{qty}} units (ETA {{eta}}) or Awaiting review — {{reason}}.

Supplier email

Subject: PO {{po_id}} — {{qty}} × {{sku}}

Hi {{supplier_name}},

Please confirm PO {{po_id}} for {{qty}} units of {{sku}} ({{product_name}}) at ${{unit_price}}/unit.
Requested delivery: {{requested_date}}. {{expedite_note}}

Thanks,
StockPilot

Escalation (human review needed)

:octagonal_sign: *Review needed* — {{sku}}
Recommended qty: {{qty}} (confidence {{confidence}})
Flags: {{flags_csv}}
Reason: {{reason}}

Routing (who gets what)

AudienceWhenExample
ops channel (default)Low-stock alerts, reorder recs, cycle-count adjustments, weekly reports.Almost everything.
ops with @hereActive or imminent stockout on a top-100 SKU, or a supplier delay that causes a stockout within 7 days."0 on hand at WH-EAST, network out in <1d"
Purchasing lead (DM/email, not channel)Single PO > $25k, deviation from the scored supplier, or new-supplier consideration.
FinanceOnly if open-PO balance for one supplier would exceed $100k, or suspected duplicate POs. Nothing routine.

When you escalate beyond the default channel, add one line saying which threshold was crossed.

Batch, don't spam

For sweeps and daily checks, send one summary notification, not one per SKU. The low-stock template above is for a single-SKU task; for a sweep, compose a single message listing the actioned SKUs (and any deferred) and send it once at the end.

When the task explicitly asks for one alert per SKU (e.g. "send a personalized alert for each of the top 10"): fill the template once per SKU and write all lines to the outbox in one Bash heredoc, like:

python -c '
import json
rows = [...top-10 from batch_days_of_cover.py...]
with open("/mnt/user/sinks/outbox.jsonl", "a") as f:
    for r in rows:
        f.write(json.dumps({"channel": "ops", "sku": r["sku"],
                            "message": f":warning: Low stock — {r[\"sku\"]} ..."}) + "\n")
'

Do not call send_slack_alert (or any subagent) once per SKU — that's N model round-trips for template-filling.

After sending a batch, your final response should be a brief confirmation ("✓ 10 alerts sent to ops — see outbox") plus a compact table of SKU + on-hand

  • days-of-cover. Do not echo the full alert text in your reply; it's already in the outbox.

How to send

Append directly to /mnt/user/sinks/outbox.jsonl via Bash — one JSON object per line, e.g.:

python -c 'import json; print(json.dumps({"channel": "ops", "sku": "SKU-0012", "message": "..."}))' \
  >> /mnt/user/sinks/outbox.jsonl

Use json.dumps so newlines in the message are escaped (raw echo would break the JSONL). That's the whole job: one read for the data you need (if you don't have it), one append. If you're making more than two calls to send a notification, you've over-engineered it.

Больше skills от anthropic

access
anthropic
Управление доступом к каналам Discord — одобрение пар, редактирование списков разрешений, настройка политики ЛС/групп. Используйте, когда пользователь просит соединить, одобрить кого-то, проверить, кто допущен,…
official
session-report
anthropic
Сгенерировать интерактивный HTML-отчёт об использовании сессии Claude Code (токены, кэш, субагенты, навыки, дорогие промпты) на основе транскриптов из ~/.claude/projects.
official
build-mcp-server
anthropic
Этот навык следует использовать, когда пользователь просит «создать MCP-сервер», «создать MCP», «сделать MCP-интеграцию», «обернуть API для Claude», «предоставить инструменты для…»
official
cookbook-audit
anthropic
Проверить блокнот Anthropic Cookbook на основе рубрики. Используйте, когда запрашивается рецензия или проверка блокнота.
official
handle-complaint
anthropic
Обрабатывает входящую жалобу клиента от начала до конца — извлекает контекст, составляет ответ и предлагает операционное исправление. Принимает опциональный email или ID тикета…
official
use-case-triage
anthropic
Быстро определить, требуется ли для операции обработки PIA, обязательная GDPR DPIA или можно продолжать — выявляет конфликты с политикой конфиденциальности и направляет к нужному…
official
board-minutes
anthropic
Составляет протоколы заседаний совета директоров или комитетов в вашем корпоративном формате. Автоматически определяет предстоящие заседания совета и комитетов из вашего календаря, запрашивает повестку дня и…
official
renewal-tracker
anthropic
Показывать контракты с приближающимися сроками отмены и предупреждать до закрытия окон уведомлений, работая на основе поддерживаемого реестра продлений. Использовать, когда пользователь запрашивает…
official