# Idmp Template

> IDMP template skill for reading element templates, template attributes, sub-templates, trigger types, and create-safe names without mixing template mode with live element mode.

- **Type:** Skill
- **Install:** `agentstack add skill-taosdata-agent-skills-idmp-template`
- **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-template

## Install

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

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

## About

# template

**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.

## Recommended shortcuts

| Shortcut | Purpose |
|----------|---------|
| `+list` | List element templates. |
| `+get` | Read one element template in detail. |
| `+attributes` | Read attribute templates under one element template. |
| `+levels` | Inspect available levels for path-style templates. |
| `+keywords` | Read naming keyword guidance for the template family. |

## Recommended reference

- [`template read flows`](references/template-read-flows.md)
- [`../idmp-workflow-analysis-create/SKILL.md`](../idmp-workflow-analysis-create/SKILL.md)

## Missing context to resolve first

| Context | Why it must be resolved before template-side create work |
| --- | --- |
| Final template owner | You need the exact `elementTemplateId` before you can read attributes, sub-templates, trigger types, or create-safe names. |
| Trigger scope | Decide `applyOnSelf` and whether a child template must be selected before you reuse trigger-type results. |
| Candidate analysis name | `analysis-template.analyses.new-name` requires a proposed `name`. |
| Template output plan | Decide whether template attributes are reused or created fresh and which `valueType` they should carry. |

## Constrained live behaviors

- Do not mix template commands with live element commands; template mode and element mode use different owners and endpoints.
- If `applyOnSelf=false`, reread `sub-templates` first and then refresh trigger types with the chosen child template scope.
- `analysis-template.analyses.new-name` requires a candidate `name` and `--ack-risk`; `attr-template attributes new-name` only needs the owner scope.
- `attr-template attributes new-name` does not require `--ack-risk`; reserve the name first, then use the later write path for the actual risk gate.
- If the task must create a live analysis or alert under a real element, switch back to the element-mode workflows rather than forcing template endpoints.

## Evidence of completion

- A template lookup is only complete when the reread shows the intended `elementTemplateId`, keyword family, or trigger scope.
- A template-side name reservation is only complete when the later create path keeps the same suggested name.
- A child-scope decision is only complete when `sub-templates` and the final trigger-type reread still agree on the same template branch.

## Template-mode rules

- Use template commands only; do not substitute live element commands.
- Read attribute templates, sub-templates, and trigger types before building template-side analysis or attribute changes.
- Trigger type choices change when `applyOnSelf` changes.
- Use `new-name` before creating template attributes or template analyses.

## Key commands

```bash
idmp-cli schema template.elements.list
idmp-cli template elements list --params '{"current":1,"size":20}'

idmp-cli schema template.elements.get
idmp-cli template elements get --params '{"elementTemplateId":123}'

idmp-cli schema attr-template.elements.attributes
idmp-cli attr-template elements attributes --params '{"elementTemplateId":123}'

idmp-cli schema template.elements.sub-templates
idmp-cli template elements sub-templates --params '{"elementTemplateId":123}'

idmp-cli analysis-template trigger-types list --params '{"elementTemplateId":123,"applyOnSelf":false}'
idmp-cli analysis-template analyses new-name --ack-risk --params '{"elementTemplateId":123,"name":"demo-analysis"}'
idmp-cli attr-template attributes new-name --params '{"elementTemplateId":123}'
```

## Exception and failure handling

- If you only have an `elementId`, verify that the task is not really live element work before switching to template mode.
- If `sub-templates` is empty, child-scope analysis options are not available for that template.
- If `applyOnSelf` changes, re-read trigger types before reusing an earlier choice.
- If `new-name` suggests a different value, use the suggested name instead of forcing a duplicate.
- If a template is missing, renamed, or access is denied, refresh the list and session before attempting template writes.

## Validation scenarios

1. List available templates with `idmp-cli schema template.elements.list` and `idmp-cli template elements list --params '{"current":1,"size":20}'`.
2. Read one template with `idmp-cli schema template.elements.get` and `idmp-cli template elements get --params '{"elementTemplateId":123}'`.
3. Read template attributes with `idmp-cli attr-template elements attributes --params '{"elementTemplateId":123}'`.
4. Check child-scope analysis readiness with `idmp-cli template elements sub-templates --params '{"elementTemplateId":123}'` and `idmp-cli analysis-template trigger-types list --params '{"elementTemplateId":123,"applyOnSelf":false}'`.
5. Reserve create-safe names with `idmp-cli analysis-template analyses new-name --ack-risk --params '{"elementTemplateId":123,"name":"demo-analysis"}'` and `idmp-cli attr-template attributes new-name --params '{"elementTemplateId":123}'`.

## 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-template
- 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%.
