adk-x2p-c-analyzer-workflow

star 0

[EXCLUSIVE] 仅限高通 ADK (Qualcomm ADK) 专属 C/C++ 代码分析工作流。 触发条件:仅当用户要求分析代码,且当前项目存在 `adk/`、`application_common/` 等高通特征目录时才可触发。 强排他约束:绝对禁止在非高通 ADK 项目中使用此技能及相关工具。

hyfhot By hyfhot schedule Updated 2/25/2026

name: adk-x2p-c-analyzer-workflow description: | [EXCLUSIVE] 仅限高通 ADK (Qualcomm ADK) 专属 C/C++ 代码分析工作流。 触发条件:仅当用户要求分析代码,且当前项目存在 adk/application_common/ 等高通特征目录时才可触发。 强排他约束:绝对禁止在非高通 ADK 项目中使用此技能及相关工具。

高通 ADK 代码分析与重构工作流

高通 ADK 是一个庞大且包含多个子项目(Headset, Earbuds 等)的 Monorepo。为了确保底层宏定义绝对准确并防止项目间的符号交叉污染,你必须严格执行以下交互式 Workflow:

第 -1 步:项目指纹确认 (Early Exit)

快速扫描工作区,如果找不到 adk/application_common/ 等特征目录,立刻停止执行本工作流,按普通 C 项目处理,绝不调用本插件工具。

第 0 步:跨平台路径预检 (极其重要)

判断运行环境。如果在 WSL 中运行但操作 Windows 盘符代码(如 /mnt/c/),传入工具的路径必须是 /mnt/ 开头的绝对路径,绝对禁止传入反斜杠 \

第 1 步:寻找 ADK 根目录

向上寻找,找到包含 adk/application_common/最顶层代码库根目录。后续所有工具的 output_dirroot_dir 参数都必须使用这个根目录的绝对路径。

第 2 步:项目与配置决断 (Interactive Target Resolution)

在生成配置前,你必须按照以下优先级确定分析目标,绝不能盲目瞎猜

  1. 探测环境变量(最高优先级): 静默执行系统命令检查终端是否设置了环境变量 ADK_ACTIVE_X2P

    • 若有,完全信任该变量,直接跳到【第 3 步】,并将变量值作为 x2p_file_path
  2. 交互式询问项目( Ask Project): 若无环境变量,请立刻调用 scan_adk_projects 工具扫描根目录,获取所有 .x2p 列表。 立即停止工作流,将完整列表呈现给用户,并礼貌询问:“未检测到默认环境变量,请问您当前需要分析列表中的哪一个项目?”

  3. 交互式询问配置(Ask Config): 用户明确选择项目后,立刻调用 get_x2p_configs 工具分析该 .x2p 文件,获取所有配置列表。 将配置列表呈现给用户,并询问:“已选择项目,请问您需要激活以下哪种配置?(或直接回复回车使用默认配置)”

第 3 步:环境同步 (调用核心解析工具)

得到用户明确答复(或通过环境变量获取)后,必须强制调用 generate_clangd_config 工具

  • x2p_file_path:确定的 .x2p 绝对路径。
  • output_dir:第 1 步确定的 ADK 顶级根目录绝对路径。
  • config_name:用户选择的配置名(若用户选择默认,则留空)。 (说明:该工具内置了极速的缓存校验机制。如果 x2p 未发生变更,工具会在毫秒级返回跳过提示,因此你不必担心重复调用会导致性能问题,每次分析前请安心调用以保障环境绝对同步。)

第 4 步:符号解析 (调用 Serena)

工具返回成功或“缓存命中”后,你才可以调用 serena MCP 进行深度的代码检索。由于配置已通过严格把关,Serena 将被完美锁定在当前选定的子项目环境中。

Install via CLI
npx skills add https://github.com/hyfhot/qualcomm-adk-plugins --skill adk-x2p-c-analyzer-workflow
Repository Details
star Stars 0
call_split Forks 0
navigation Branch main
article Path SKILL.md
More from Creator