Communitygithub.com

Jamie-BitFlight/enterprise-installanywhere

用於 InstallAnywhere .iap_xml 安裝程式定義的 Dasel v3 查詢模式 — 適合查詢動作序列、探索變數、解析平台條件、瀏覽面板或比較安裝程式變體。檔案大小 2.5+ MB、65,000+ 行 — 無法直接讀取至上下文,需使用結構化 dasel 查詢。

enterprise-installanywhere 是什麼?

此技能提供一套專門針對 InstallAnywhere 安裝程式 `.iap_xml` 檔案的 Dasel v3 結構化查詢模式。由於這類檔案通常體積龐大(2.5+ MB,65,000+ 行),直接將內容讀入 AI 模型上下文既不可行也浪費資源;因此,本技能教導使用者透過 `dasel` 命令列工具執行精準的結構提取與分析。 技能涵蓋安裝動作序列的列舉與類型識別、所有變數名稱的探索、平台條件(Windows vs Linux)分支的發現、面板的導航與計數、檔案複製操作的來源提取,以及兩個安裝程式變體(例如 RA 與 NON_RA 版本)之間結構差異的比較。所有命令均設計將中間結果寫入 `/tmp/` 目錄,避免污染原始程式碼樹。 此技能適用於 Claude Code、Amazon Q Developer 或其他支援 Dasel 查詢的 AI 編碼代理平台。使用者只需擁有目標 `.iap_xml` 檔案和 `dasel` CLI 工具即可操作,無需解析 XML Schema 或手動閱讀數萬行配置。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Jamie-BitFlight/claude_skills/tree/main/plugins/dasel/skills/enterprise-installanywhere

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

InstallAnywhere .iap_xml 查詢模式

<when_to_use>

當處理任何 .iap_xml 檔案時載入此技能 — 審核安裝動作、列出檔案複製操作、探索變數、尋找平台特定分支,或比較兩個安裝程式變體(例如 RA 與 NON_RA 版本)。

</when_to_use>

操作限制

  • 始終明確傳入 -i xml — 自動偵測在 .iap_xml 副檔名上會失敗
  • 將所有中間結果寫入 /tmp/ — 絕不寫入原始程式碼樹
  • 檔案大小為 2.5–2.6 MB,65,000+ 行 — 使用結構化 dasel 查詢,切勿將檔案內容讀入上下文

根結構

InstallAnywhere .iap_xml 檔案具有固定的根路徑:InstallAnywhere.project。

# 文件根層級的元素名稱
cat installer.iap_xml | dasel -i xml 'keys($this)'

# 導航至安裝動作序列
cat installer.iap_xml | dasel -i xml 'InstallAnywhere.project.installSequence'

# 專案節點的子元素
cat installer.iap_xml | dasel -i xml 'InstallAnywhere.project.keys($this)'

遞迴下降 — 在不知道完整路徑的情況下尋找任意深度的元素:

# 所有名為 "action" 的元素(任意深度)
cat installer.iap_xml | dasel -i xml '..action'

# 所有名為 "panel" 的元素(任意深度)
cat installer.iap_xml | dasel -i xml '..panel'

# 任意深度下具有特定屬性的節點
cat installer.iap_xml | dasel -i xml 'search(has("-name"))'

..elementName 進行遞迴下降。search(predicate) 可匹配任意深度的節點。

動作序列分析

# 所有動作名稱(按執行順序)
cat installer.iap_xml | dasel -i xml '..action.map("-name")'

# 所有動作類型
cat installer.iap_xml | dasel -i xml '..action.map("-type")'

# 計算所有 action 元素數量
cat installer.iap_xml | dasel -i xml 'len(..action)'

# 寫入檔案進行分析
cat installer.iap_xml | dasel -i xml '..action.map("-name")' > /tmp/action_names.txt
cat installer.iap_xml | dasel -i xml '..action.map("-type")' > /tmp/action_types.txt

變數探索

# 所有變數定義
cat installer.iap_xml | dasel -i xml '..variable.map("-name")' > /tmp/installer_vars.txt

平台條件

# 所有平台條件(Windows vs Linux 分支)
cat installer.iap_xml | dasel -i xml 'search(has("-platform")).map("-platform")' > /tmp/platforms.txt

跨變體比較

當比較同一安裝程式的兩個版本(例如 RA 與 NON_RA、Windows 與 Linux 變體)時:

# 比較兩個安裝程式檔案之間的動作集合
cat installer_a.iap_xml | dasel -i xml '..action.map("-name")' | sort > /tmp/actions_a.txt
cat installer_b.iap_xml | dasel -i xml '..action.map("-name")' | sort > /tmp/actions_b.txt
diff /tmp/actions_a.txt /tmp/actions_b.txt > /tmp/installer_diff.txt

# 比較面板集合
cat installer_a.iap_xml | dasel -i xml '..panel.map("-name")' | sort > /tmp/panels_a.txt
cat installer_b.iap_xml | dasel -i xml '..panel.map("-name")' | sort > /tmp/panels_b.txt
diff /tmp/panels_a.txt /tmp/panels_b.txt

檔案複製操作

# 所有檔案複製來源
cat installer.iap_xml | dasel -i xml '..installFile.map("-source")' > /tmp/file_copies.txt

面板導航

# 面板名稱與數量
cat installer.iap_xml | dasel -i xml '..panel.map("-name")'
cat installer.iap_xml | dasel -i xml 'len(..panel)'

屬性語法參考

在 dasel 友善模式下,XML 屬性使用 - 前綴:

# 存取第一個匹配項的特定屬性
cat installer.iap_xml | dasel -i xml '..action[0].-name'

# 探索節點的屬性和子元素
cat installer.iap_xml | dasel -i xml '..action[0].keys($this)'

# 提取所有匹配節點的屬性值
cat installer.iap_xml | dasel -i xml '..elementName.map("-attributeName")'

# 計算匹配元素數量
cat installer.iap_xml | dasel -i xml 'len(..elementName)'

# 使用屬性條件進行任意深度搜尋
cat installer.iap_xml | dasel -i xml 'search(has("-attributeName"))'

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

Jamie-BitFlight/agentskill-kaizen-meta-docs

Agentskill kaizen plugin documentation index. Load when needing to read about cross-platform notes, improvement plans, or DuckDB integration.

Jamie-BitFlight/bash-51-features

Bash 5.1 release features and improvements with practical examples. Use when working with Bash 5.1 features, epoch time variables, redirection enhancements, or when user asks about Bash 5.1 changes, new features, or version-specific capabilities.

Jamie-BitFlight/bash-52-features

Bash 5.2 release features and improvements with practical examples. Use when working with Bash 5.2 features, variable handling enhancements, readline improvements, or when user asks about Bash 5.2 changes, new features, or version-specific capabilities.

Jamie-BitFlight/bash-53-features

Bash 5.3 release features and improvements with practical examples. Use when working with Bash 5.3 features, new command substitution, GLOBSORT, loadable builtins, or when user asks about Bash 5.3 changes, new features, or version-specific capabilities.

Jamie-BitFlight/bash-development

This skill should be used when the user asks to "write a bash script", "create a shell script", "implement bash function", "parse arguments in bash", "handle errors in bash", or mentions bash development, shell scripting, script templates, or modern bash patterns.

Jamie-BitFlight/bash-lint

This skill should be used when the user asks to "lint bash script", "run shellcheck", "format shell script", "use shfmt", "fix shellcheck errors", or mentions shell script linting, formatting, code quality, or pre-commit hooks for bash.

Jamie-BitFlight/bash-logging

This skill should be used when the user asks to "add logging to bash script", "colorize output", "implement log levels", "CI/CD sections", "terminal colors in bash", or mentions logging functions, emoji output, collapsible CI sections, or shlocksmith.

Jamie-BitFlight/bash-portability

This skill should be used when the user asks about "POSIX compatibility", "portable shell scripts", "cross-shell compatibility", "bashisms", "shebang selection", or mentions writing scripts that work on different shells (bash, sh, dash, zsh) or different systems.

Jamie-BitFlight/bash-testing

This skill should be used when the user asks to "test bash script", "write shell tests", "use shunit2", "use shellspec", "create test suite for bash", or mentions unit testing, test frameworks, mocking, or test-driven development for shell scripts.

Jamie-BitFlight/brainstorming-skill

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or when users request help with ideation, marketing, and strategic planning. Explores user intent, requirements, and design before implementation using research-validated prompt patterns.

Jamie-BitFlight/clang-format

Configure clang-format code formatting. Use when: user mentions clang-format or .clang-format, analyzing code style/patterns, creating/modifying formatting config, troubleshooting formatting, brace styles/indentation/spacing/alignment/pointer alignment, or codifying conventions.

Jamie-BitFlight/commitlint

When setting up commit message validation for a project. When project has commitlint.config.js or .commitlintrc files. When configuring CI/CD to enforce commit format. When extracting commit rules for LLM prompt generation. When debugging commit message rejection errors.

Jamie-BitFlight/conventional-commits

When writing a git commit message. When task completes and changes need committing. When project uses semantic-release, commitizen, git-cliff. When choosing between feat/fix/chore/docs types. When indicating breaking changes. When generating changelogs from commit history.

Jamie-BitFlight/dasel-reference

Use when querying, modifying, or converting JSON, YAML, TOML, XML, CSV, HCL, or INI with dasel v3. Complete reference for selectors, functions, conditionals, variables, spread operator, type casting, and format-specific patterns.

Jamie-BitFlight/data-exploration

Use when exploring unknown structured data files with dasel v3 — discover schema, list keys, find nested values, sample arrays, identify data types across JSON, YAML, TOML, XML, CSV, HCL, INI formats

Jamie-BitFlight/data-transformation

Use when modifying, converting, or transforming structured data with dasel v3 — in-place mutations, format conversion, batch operations, array manipulation, object construction, and merge patterns across JSON, YAML, TOML, XML, CSV, HCL, INI

Jamie-BitFlight/delegate

Decompose substantive work into phases, dispatch each phase to a sub-agent, and adjudicate what comes back. Use whenever a request asks for implementation, investigation, a fix, a review, or any change to files — including small ones — and whenever you are about to read source or run a diagnostic yourself instead of handing it off. Also use when a report from a sub-agent needs judging, when a phase needs re-dispatching, or when a user names one instance of a pattern. Does not apply when your own prompt begins "Your ROLE_TYPE is sub-agent." — then follow references/sub-agent-contract.md instead.

Jamie-BitFlight/enterprise-hibernate-hbm

Dasel v3 query patterns for Hibernate .hbm.xml mapping files — entity-table binding, Java property-to-column extraction, one-to-many set/list/bag relationship tracing, many-to-one foreign key discovery, batch scanning across 60+ HBM files. Use when querying Hibernate ORM class mappings, extracting schema metadata from Java persistence layer, or auditing entity-column relationships in enterprise legacy codebases.

Jamie-BitFlight/enterprise-maven-pom

Dasel v3 selector patterns for Maven POM XML files — use when querying dependency versions, filtering by groupId or scope, extracting module hierarchy from parent POMs, or detecting version conflicts across enterprise multi-module Java projects. Load this skill when working with pom.xml files using dasel.

Jamie-BitFlight/enterprise-spring-xml

Dasel v3 selectors for Spring bean factory XML — use when querying any Spring ApplicationContext XML for bean discovery, dependency wiring, JMS destination mapping, property injection extraction, or cross-bean reference tracing. Load this skill before writing dasel selectors against Spring bean XML files (applicationContext.xml, *_beans.xml, spring-*.xml).

相關技能