Install
$ agentstack add skill-taosdata-agent-skills-idmp-element ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
element
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](references/idmp-element-list.md) | Browse elements under the current parentId. | | [+get](references/idmp-element-get.md) | Confirm one element after search or path lookup. | | [+tree](references/idmp-element-tree.md) | Inspect child nodes and tree structure. | | [+search](references/idmp-element-search.md) | Find elements by keyword, root, or parent filters. |
What this skill solves
- Find a reliable
elementIdbefore downstream create or update work. - Resolve the full path so
rootElementIdcomes from the business root, not from the current leaf element. Proof: pairelement elements pathwithelement fullpath getand confirm the root is a first-level owner or an explicitly confirmed ancestor. - Reverse-check a resolved path with
by-pathbefore handing it to another workflow. - Read child templates before hierarchy-based analysis or panel work.
- Discover the current shared first-level root from live reads instead of assuming a historical
demotree is still present. - Distinguish plain container create from template-backed create before downstream analysis, panel, or alert workflows.
Element create paths
element.elements.createis for plain container elements. Use it when you need a parent node without template-backed metrics.element.new.createis for template-backed elements. Use it when the payload needstemplateIdandkeywordValues.- If the template is keyword-backed, confirm the upstream source table already exists before treating the new element as data-bearing.
Evidence of completion
- A container create is only complete after
element elements getorelement elements listrereads the new node under the intended parent. - A path-resolution task is only complete after
element elements path,element fullpath get, andelement by-path listagree on the same root-to-leaf record. - A template-backed create is only complete after reread proves the final template binding and keyword values survived the write.
Key commands
idmp-cli schema element.elements.search
idmp-cli element elements search --params '{"keyword":"Chaoyang","current":1,"limitSize":20}'
idmp-cli schema element.elements.path
idmp-cli element elements path --params '{"elementId":123}'
idmp-cli schema element.fullpath.get
idmp-cli element fullpath get --params '{"rootElementId":100,"elementId":123}'
idmp-cli schema element.by-path.list
idmp-cli element by-path list --params '{"elementPath":"Utilities/Beijing/Chaoyang/Device-A"}'
idmp-cli schema element.elements.sub-templates
idmp-cli element elements sub-templates --params '{"elementId":123}'
idmp-cli schema element.elements.create
idmp-cli element elements create --dry-run --ack-risk --data '{"name":"sandbox-parent","parentElementId":123,"referenceType":"ParentChild"}'
idmp-cli schema element.new.create
idmp-cli template +keywords 456
idmp-cli element new create --dry-run --ack-risk --data '{"parentElementId":123,"referenceType":"ParentChild","templateId":456,"keywordValues":{"":""},"force":true}'
Recommended sequence
idmp-cli element elements search --params '{"keyword":"Chaoyang","current":1,"limitSize":20}'
idmp-cli element elements path --params '{"elementId":123}'
idmp-cli element fullpath get --params '{"rootElementId":100,"elementId":123}'
idmp-cli element by-path list --params '{"elementPath":"Utilities/Beijing/Chaoyang/Device-A"}'
idmp-cli element elements get --params '{"elementId":123}'
idmp-cli element elements sub-templates --params '{"elementId":123}'
Exception and failure handling
- If search returns no rows, widen the keyword or add parent/root filters; do not guess IDs.
- If several elements share similar names, always confirm with
pathandgetbefore handing the ID to another workflow. - If
fullpathandby-pathdo not round-trip to the same record, stop and resolve the correct business path before any write. - If the path is incomplete or the business root is unclear, stop before any write that needs
rootElementId. Treat the path as unclear when no first-level owner is visible or thepath -> fullpath -> by-pathroundtrip lands on different nodes. - If a historical
demoroot is absent, start fromelement elements list, then resolve the currently visible first-level root and reuse that real tree for temporary owners. - If
sub-templatesis empty, hierarchy-based analysis or panel options may not be available; switch to self scope or choose another element. - If the write needs
templateIdorkeywordValues, do not useelement.elements.create; switch toelement.new.create. - If auth or permission checks fail while browsing, repair the session before attempting risky commands.
Validation scenarios
- Search by keyword with
idmp-cli schema element.elements.searchandidmp-cli element elements search --params '{"keyword":"Chaoyang","current":1,"limitSize":20}'. - Resolve the business-root path with
idmp-cli schema element.elements.path, then read the root-to-leaf name path withidmp-cli element fullpath get --params '{"rootElementId":100,"elementId":123}'. - Reverse-check the path with
idmp-cli element by-path list --params '{"elementPath":"Utilities/Beijing/Chaoyang/Device-A"}', then confirm the selected record withidmp-cli element elements get --params '{"elementId":123}'. - Check hierarchy readiness with
idmp-cli schema element.elements.sub-templatesandidmp-cli element elements sub-templates --params '{"elementId":123}'. - Verify downstream ownership by reading
idmp-cli analysis analyses list --params '{"elementId":123,"current":1,"size":20}', then distinguish create paths withidmp-cli element elements create --dry-run --ack-risk --data '{"name":"sandbox-parent","parentElementId":123,"referenceType":"ParentChild"}'for a plain container andidmp-cli element new create --dry-run --ack-risk --data '{"parentElementId":123,"referenceType":"ParentChild","templateId":456,"keywordValues":{"":""},"force":true}'for a template-backed element.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: taosdata
- Source: taosdata/agent-skills
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.