Install
$ agentstack add skill-taosdata-agent-skills-idmp-annotation ✓ 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
annotation
Read [../idmp-shared/SKILL.md](../idmp-shared/SKILL.md) first.
What this skill covers
- Read, create, update, and delete annotations attached to elements.
- Keep element annotations separate from event annotations, which use the
event annotations *family. - Use annotation IDs for follow-up changes after the initial list read.
- Use filtered rereads by
contentor time window to prove the exact note you just changed.
Recommended shortcuts
| Shortcut | Purpose | |----------|---------| | +list | List annotations for one element, optionally filtered by content |
Recommended reference
- [
Annotation read flows](references/annotation-read-flows.md)
Missing context to resolve first
| Context | Why it must be resolved before mutation | | --- | --- | | Annotation scope | Decide whether the note belongs to an element or an event before choosing the command family. | | Owner element | Element annotation create needs the final elementId. | | Target annotation ID | Update and delete need annotationId, not the element ID. | | Verification plan | Decide how you will reread the annotation list after create, update, and delete. |
Constrained live behaviors
annotation annotation createwrites element annotations only; event notes use theevent annotations *family.annotation annotation updateandannotation annotation deleteact onannotationId, not on the owner element.- Annotation writes are not complete until
annotation annotation listreread shows the expected text or confirms deletion. annotation annotation listsupportscontent, time windows, and small page sizes, so use filtered rereads before widening to the full page.annotation annotation listtime-window filters expect epoch milliseconds, even thoughannotation annotation updatecan return a timestamp string. Convert the returned time before you feed it back intoupdateTimeFromorupdateTimeTo.- Disposable debug notes should be deleted when the workflow ends so shared environments do not accumulate stale annotations.
Operator workflow
- Use this skill for element annotations only.
- If the operator is discussing an event timeline, switch to
event annotations *. - Read the element annotation list first and capture the
annotationIdbefore any update or delete. updateanddeleteoperate on the annotation record, not on the element itself.- Re-read with a
contentfilter first, then widen to the unfiltered first page if needed, to confirm the final text and timestamps. - When you need an
updateTime*filter afterupdate, normalize the returned timestamp to epoch milliseconds before the reread.
Key commands
idmp-cli schema annotation.annotation.list
idmp-cli annotation annotation list --params '{"elementId":123,"current":1,"size":20}'
idmp-cli annotation annotation list --params '{"elementId":123,"content":"copilot note","current":1,"size":1}'
idmp-cli schema annotation.annotation.create
idmp-cli annotation annotation create --ack-risk --data '{...}'
idmp-cli schema annotation.annotation.update
idmp-cli annotation annotation update --ack-risk --data '{...}'
idmp-cli schema annotation.annotation.delete
idmp-cli annotation annotation delete --ack-risk --params '{"annotationId":456}'
Exception paths
- The list is empty: treat that as “no annotations yet,” not as a product failure.
- Reads return 404 or permission errors: verify the
elementIdand the current user’s access level. - Update or delete fails unexpectedly: confirm you passed
annotationId, notelementId. - The operator expected event notes: switch to
event annotations *instead of forcing element commands. - A write succeeds but the note still seems missing: remove filters and re-read the first page of results.
- Update succeeds but
updateTimeFromfiltering misses the note: convert the returned update time to epoch milliseconds and retry the filtered list.
Validation scenarios
- List annotations for a known element with
idmp-cli annotation annotation list. - Repeat the list with a content filter and small page size to isolate one known note.
- Create a disposable annotation with
idmp-cli annotation annotation create --ack-risk. - Update that annotation by
annotationIdwithidmp-cli annotation annotation update --ack-risk. - Delete the same annotation by
annotationIdand confirm it no longer appears in the list.
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.