# Idmp Notification

> IDMP notification skill. Use it to inspect global notification config, contact points, templates, delivery history, template-level rules, and test-send behavior.

- **Type:** Skill
- **Install:** `agentstack add skill-taosdata-agent-skills-idmp-notification`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [taosdata](https://agentstack.voostack.com/s/taosdata)
- **Installs:** 0
- **Category:** [Agent Skills](https://agentstack.voostack.com/c/agent-skills)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [taosdata](https://github.com/taosdata)
- **Source:** https://github.com/taosdata/agent-skills/tree/main/plugins/idmp-plugin/skills/idmp-notification

## Install

```sh
agentstack add skill-taosdata-agent-skills-idmp-notification
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# notification

**Read [`../idmp-shared/SKILL.md`](../idmp-shared/SKILL.md) first.**

**Before any write:** Follow the [🛑 Destructive op confirmation protocol](../idmp-shared/SKILL.md#-destructive-op-confirmation-mandatory). Read-only commands stay read-only here, but delete / write / patch flows still require the shared yes-gate.

## What this skill covers

- Read global notification configuration, contact points, default contact point, and templates.
- Read delivery history and message details for troubleshooting.
- Distinguish global infrastructure from element or element-template notify rules.
- Use `try-send` only when a real test notification is acceptable.

## Recommended shortcuts

| Shortcut | Purpose |
|----------|---------|
| `+config` | Show notification config |
| `+contacts` | List notification contact points |
| `+default` | Show the default contact point |
| `+details` | List notification delivery details |
| `+rules` | List notification rules for one element template |

## Recommended reference

- [`Notification read flows`](references/notification-read-flows.md)
- [`../idmp-workflow-alert-create/SKILL.md`](../idmp-workflow-alert-create/SKILL.md)
- [`../idmp-workflow-alert-debug/SKILL.md`](../idmp-workflow-alert-debug/SKILL.md)

## Missing context to resolve first

| Context | Why it must be resolved before side effects |
| --- | --- |
| Scope type | Decide whether you are reading global notification infrastructure, element-scoped notify rules, or template-scoped notify rules. |
| Owner scope | If the task touches notify rules, you need the exact `elementId` or `elementTemplateId` first. |
| Delivery intent | Decide whether you only need history and config reads or whether a real `try-send` side effect is allowed. |
| Template ID source | If you do not already know a template `id`, start with the generated template-list command `notification notification templates`. |
| Rule target | Decide which contact point, template, severity, and resend policy the final rule should cover. |
| Verification window | Decide how you will reread delivery history after resend or `try-send`. |

## Constrained live behaviors

- Element-scoped investigations use `notification notify-rules list`; template-scoped investigations use `notification notify-rules list-get`.
- `notification template get` does have a generated list companion, but it lives under the awkward path `notification notification templates`. Use that list before you guess a template ID.
- `try-send` is a real notification side effect when it runs without `--dry-run`, and it should run only when the operator explicitly accepts that validation.
- If the task only needs a safe payload preview on a real event, prefer `try-send --dry-run --ack-risk`; treat that as validation of command shape, not proof that delivery completed.
- `notification page list` is backed by message-detail pages, not by raw resend attempts. A resend can update an existing detail row and append records under it instead of creating a new top-level page row.
- Delivery history can lag behind resend or `try-send`, so reread `notification page list` instead of assuming the first response is final.
- Delivery retries can also be throttled by the event's minimum notification interval, so “no obvious new row yet” is not always a send failure.
- Global notification config and contact points can be healthy even when no rule binds the target event template or severity.
- If the task is really about creating or repairing alert delivery bindings, switch to [`../idmp-workflow-alert-create/SKILL.md`](../idmp-workflow-alert-create/SKILL.md) or [`../idmp-workflow-alert-debug/SKILL.md`](../idmp-workflow-alert-debug/SKILL.md).

## Evidence of completion

- A global config read is only complete when the reread exposes the same config or contact-point object you summarized.
- A rule workflow is only complete when the scoped `notify-rules` reread shows the intended binding on the same owner.
- A delivery proof is only complete when `notification page list` or the message-detail reread reflects the send or resend outcome you claimed.

## Operator workflow

1. Treat `config`, `contact-point`, `default`, and `template` / `templates` as global notification infrastructure.
2. Treat `notify-rules` as bindings on elements or element templates, not as global config.
3. Use `notification notification templates` before `template get` when no template ID is already known.
4. Use `page list` and `details get` for delivery history and message-level troubleshooting.
5. Remember that resend visibility is detail-centric: a retry can land as an extra record under an existing detail instead of a brand-new page row.
6. Use `try-send --dry-run --ack-risk` for safe preview-only validation, and use non-dry-run `try-send` only when the operator explicitly accepts a real notification side effect.
7. After any change, verify by re-reading config or rules and then checking delivery history.

## Key commands

```bash
idmp-cli schema notification.config.list
idmp-cli notification config list

idmp-cli schema notification.list.list
idmp-cli notification list list

idmp-cli schema notification.notification.templates
idmp-cli notification notification templates

idmp-cli schema notification.template.get
idmp-cli notification template get --params '{"id":123}'

idmp-cli schema notification.notify-rules.list-get
idmp-cli notification notify-rules list-get --params '{"elementTemplateId":123}'

idmp-cli schema notification.page.list
idmp-cli notification page list --params '{"current":1,"size":20}'

idmp-cli schema notification.try-send.create-post
idmp-cli notification try-send create-post --ack-risk --data '{...}' --params '{"elementTemplateId":123}'

idmp-cli schema notification.try-send.create
idmp-cli notification try-send create --dry-run --ack-risk --data '{...}' --params '{"elementId":123}'
```

## Exception and failure handling

- Global config is missing or disabled: notify rules may exist but delivery still will not happen.
- Contact-point or template reads fail: confirm the current account has notification administration access.
- You need a template read but have no template ID: use `idmp-cli notification notification templates` first, and create a temporary template fixture only if the environment truly has no reusable template to inspect.
- A template rule list is empty: treat that as “no binding exists yet,” not as proof of a delivery outage.
- Dry-run `try-send` succeeds but there is no notification history: that is expected; dry-run only proves the payload shape and preview path.
- Non-dry-run `try-send` runs but no message arrives: inspect contact points, template content, channel settings, and delivery history.
- Delivery history looks empty after resend: widen the paging or time scope, inspect the existing detail row, and consider minimum-interval throttling before deciding no retry was attempted.

## Validation scenarios

1. Read global notification config with `idmp-cli notification config list`.
2. List contact points with `idmp-cli notification list list`.
3. List templates with `idmp-cli notification notification templates`, then read one template with `idmp-cli notification template get --params '{"id":123}'`.
4. List template rules with `idmp-cli notification notify-rules list-get --params '{"elementTemplateId":123}'`, or list element rules with `idmp-cli notification notify-rules list --params '{"elementId":123}'` when the scope is element mode.
5. Query delivery history with `idmp-cli notification page list --params '{"current":1,"size":20}'`, or preview a safe element-scoped `try-send` with `idmp-cli notification try-send create --dry-run --ack-risk --data '{...}' --params '{"elementId":123}'` when a live test only needs payload validation.

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [taosdata](https://github.com/taosdata)
- **Source:** [taosdata/agent-skills](https://github.com/taosdata/agent-skills)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-taosdata-agent-skills-idmp-notification
- Seller: https://agentstack.voostack.com/s/taosdata
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
