スキルOfficialdevelopment
🔍idmp-element
- プラグイン
- idmp-plugin
- ソース
- GitHub で見る ↗
説明
IDMPの要素(データベース内の個別の情報)を特定したり、ビジネスの根本となるパスを解決したり、関連する子要素を確認したり、その後の分析やパネル作業(可視化して共有する作業)に向けて準備するためのスキルです。
原文を表示
IDMP element skill for locating elementId, resolving business-root paths, browsing children, and preparing downstream analysis or panel work.
ユースケース
- ✓IDMPの要素を特定したい
- ✓ビジネスの根本となるパスを解決したい
- ✓関連する子要素を確認したい
- ✓分析やパネル作業に向けて準備する
本文(日本語訳)
element
最初に ../idmp-shared/SKILL.md をお読みください。
書き込み操作の前に: 🛑 破壊的な操作の確認プロトコル に従ってください。読み取り専用コマンドはここでも読み取り専用のままですが、削除・書き込み・変更の流れには、共有の確認ゲートが必要です。
よく使うショートカット
| ショートカット | 目的 |
|---|---|
+list |
現在の親要素の配下にある要素を一覧表示します |
+get |
検索またはパス検索後、1つの要素を確認します |
+tree |
子ノードと階層構造を確認します |
+search |
キーワードや親・ルート条件で要素を検索します |
このスキルで解決できる課題
- 後続の作成・更新処理の前に、信頼できる要素IDを見つける
- フルパスを解決して、最現在のリーフ要素ではなく、ビジネス上のルート要素から正しい
rootElementIdを取得する。確認方法:element elements pathとelement fullpath getをペアで実行し、ルートがファーストレベル(第1階層)のオーナーか、明示的に確認された祖先要素であることを確認する - パスを別のワークフローに引き渡す前に、
by-pathで逆方向チェックを行う - 階層ベースの分析またはパネル作業の前に、子テンプレートを読み込む
- 過去の
demoツリーがまだ存在すると仮定するのではなく、ライブ読み込みから現在の共有ファーストレベルルートを探す - シンプルなコンテナ作成とテンプレート連動の作成を区別してから、後続の分析・パネル・アラートワークフローに進める
要素の作成方法
element.elements.createはシンプルなコンテナ要素用です。テンプレート連動のメトリクスが不要な親ノードが必要な場合に使用しますelement.new.createはテンプレート連動要素用です。ペイロードにtemplateIdとkeywordValuesが必要な場合に使用します- テンプレートがキーワード連動の場合、新しい要素をデータ保有要素として扱う前に、上流のソーステーブルが既に存在することを確認してください
完了の証拠
- コンテナ作成は、
element elements getまたはelement elements listで目的の親の配下に新しいノードを再度読み込んだ後でのみ完了します - パス解決タスクは、
element elements path、element fullpath get、element by-path listが同じルート〜リーフレコードで一致した後でのみ完了します - テンプレート連動の作成は、再度読み込みで最終的なテンプレートバインディングとキーワード値が書き込み後も保持されたことが証明された後でのみ完了します
主要コマンド
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":{"<TEMPLATE_KEY>":"<existing-source-keyword-value>"},"force":true}'
推奨される実行順序
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}'
例外と失敗への対応
- 検索結果が0件の場合、キーワードを広げるか親またはルートフィルタを追加してください。IDを推測しないでください
- 複数の要素が似た名前を持つ場合、別のワークフローにIDを引き渡す前に、必ず
pathとgetで確認してください fullpathとby-pathが同じレコードで往復しない場合は、書き込み前に正しいビジネスパスを解決してください- パスが不完全またはビジネスルートが不明な場合、
rootElementIdが必要な書き込みの前に中止してください。ファーストレベルのオーナーが見えない場合、またはpath → fullpath → by-pathの往復が異なるノードで終わる場合は、パスを不明なものとして扱ってください - 過去の
demoルートが存在しない場合は、element elements listから開始し、現在見える第1階層のルートを解決して、そのリアルツリーを一時的なオーナーとして再利用してください sub-templatesが空の場合、階層ベースの分析またはパネルオプションが利用できない可能性があります。自身のスコープに切り替えるか、別の要素を選択してください- 書き込みに
templateIdまたはkeywordValuesが必要な場合、element.elements.createを使用しないでください。element.new.createに切り替えてください - 閲覧中に認証またはアクセス権限チェックが失敗した場合、リスクの高いコマンドを試行する前にセッションを修復してください
検証シナリオ
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 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 schema element.elements.sub-templatesとidmp-cli element elements sub-templates --params '{"elementId":123}'で階層準備を確認しますidmp-cli analysis analyses list --params '{"elementId":123,"current":1,"size":20}'で後続のオーナーシップを確認してから、idmp-cli element elements create --dry-run --ack-risk --data '{"name":"sandbox-parent","parentElementId":123,"referenceType":"ParentChild"}'でシンプルなコンテナの作成方法とidmp-cli element new create --dry-run --ack-risk --data '{"parentElementId":123,"referenceType":"ParentChild","templateId":456,"keywordValues":{"<TEMPLATE_KEY>":"<existing-source-keyword-value>"},"force":true}'でテンプレート連動要素の作成方法を区別します
原文(English)を表示
element
Read ../idmp-shared/SKILL.md first.
Before any write: Follow the 🛑 Destructive op confirmation protocol. Read-only commands stay read-only here, but delete / write / patch flows still require the shared yes-gate.
Recommended shortcuts
| Shortcut | Purpose |
|---|---|
+list |
Browse elements under the current parentId. |
+get |
Confirm one element after search or path lookup. |
+tree |
Inspect child nodes and tree structure. |
+search |
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":{"<TEMPLATE_KEY>":"<existing-source-keyword-value>"},"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":{"<TEMPLATE_KEY>":"<existing-source-keyword-value>"},"force":true}'for a template-backed element.
原文・著作権は Anthropic および各プラグイン作者に帰属します。日本語訳は Claude API による自動翻訳です。