ASR3601 Protocol Branch Matrix
Use this skill as the protocol and branch-support front door. It keeps protocol documents in the user's Obsidian vault and uses them to decide whether a behavior belongs to firmware code, APP/XCX/YL/AKQ protocol mismatch, platform parsing, or branch/product support.
Fixed Paths
Protocol library:
%USERPROFILE%\Documents\Obsidian\CodexVault\Codex\references\asr3601-protocols
Required files:
raw\ original protocol files, never overwritten
extracted\ searchable Markdown/text extracted from originals
index.md file versions, applicability, keywords, source mapping
matrix.md APP / XCX / YL / AKQ / platform path and branch matrix
Do not store credentials, API keys, passwords, tokens, or private login material.
Protocol File Update Workflow
When the user sends a new or updated protocol file:
- Save the original under
raw\ with a date/version/source name such as YYYYMMDD-app-protocol-v3-user.pdf.
- Extract searchable text into
extracted\ when practical:
- PDF: use available PDF tooling or text extraction.
- DOCX/XLSX: use structured document/spreadsheet tooling when available.
- Image/screenshot: visually inspect and transcribe only the relevant protocol fields.
- Update
index.md with protocol name, version/date, original file, extracted file, applicable project/branch/path, keywords, and replacement relationship.
- Update
matrix.md when the protocol changes APP, XCX/小程序, YL, AKQ, platform, branch support, command fields, report functions, or known caveats.
- Preserve old versions. Mark superseded versions in
index.md instead of overwriting them.
If extraction is incomplete, record the gap in index.md and continue with the usable evidence.
Keep original Markdown bytes unchanged. For originals without frontmatter,
register each exact raw/ path and SHA-256 under external_sources in this
library's index.md; never refresh a mismatched hash without investigating.
The architecture audit validates registered originals and their local links.
Give extracted Markdown the required Vault frontmatter: area: engineering,
domains: [asr], scope: [topic/protocol], kind: source-extract,
codex_access: read, trust: derived, lifecycle: active, and a relative
source path to its original. Preserve extraction gaps and evidence limits.
Protocol Question Workflow
For “是否符合协议/哪边问题/当前分支是否支持”:
Identify the protocol path:
- APP
- XCX / 小程序
- YL
- AKQ
- platform/common backend
- unknown, needs evidence
Search index.md, matrix.md, and only the relevant extracted protocol files with concrete terms from the user request:
- command/event/report name
- field name
- enum value
- platform name
- code filename/function if provided
For code comparison, reuse the current task snapshot or inspect the relevant
live branch/version and parser/formatter. Read only the identity fields that
determine protocol applicability. A generated protocol label is a search hint;
confirm active support in source/configuration and the applicable document.
Refresh stale facts needed by the comparison, not the full build/device/Zentao
context for every field question.
Search firmware code by stable clues from the protocol, not by broad guesses:
- APP/XCX/YL/AKQ keywords
- report/event/function names
- field names and enum values
- known project terms such as
akq_xcx_protocal, yl, ylsc_show, AquaBot, IMEI, ICCID, location, battery, SIM
Decide with one of these labels:
- 固件未发送
- 固件发送字段不一致
- 平台未识别
- 当前分支不支持
- 其他分支已支持,当前缺失
- 产品/客户/平台变体差异
- 协议资料不足
Always cite decisive evidence: protocol file/version, matrix.md row, code file/function, branch/commit, log line, or missing runtime proof.
Routing Rules
- Pure “抓 bug/当前 bug/禅道有哪些 bug”: use
zentao-bug-triage.
- Concrete bug report with screenshots/logs/repro steps: use
asr3601-lvgl-firmware-triage for the direct Codex investigation, then return here only for protocol ambiguity.
- Current-branch firmware code fix: use
asr3601-lvgl-firmware-triage after this skill frames the protocol conclusion.
- Cross-branch or sibling-project migration: use
asr3601-cross-branch-porting after identifying source/target protocol support.
- Verified reusable protocol fixes: update
Codex\fix-patterns\ through obsidian-fix-pattern-memory unless the user says not to record.
- Release packaging for AKQ: use
akq-firmware-release; this skill only decides protocol support and evidence.
Output Shape
For protocol file updates:
已保存原件:
已提取文本:
已更新索引:
已更新矩阵:
未完成/需要补充:
For protocol/code decisions:
结论:
协议路径:
当前分支/提交:
协议依据:
代码依据:
属于哪一侧:
下一步:
风险/缺口:
If the next step is a code fix or port, explicitly name the specialist skill to enter next.
1---2name: asr3601-protocol-branch-matrix3description: Maintain and use the local ASR3601/Crane SDK protocol reference library for APP, XCX/小程序, YL, AKQ, platform, and branch-support questions. Use when the user provides protocol PDFs/DOCX/XLSX/images/text to save or update, asks “这个上报符合协议吗”, “APP协议/小程序协议/YL/AKQ 是哪条路径”, “平台侧还是代码原因”, “当前版本有没有支持这个协议”, “这个分支能不能移植/是否已经合入”, or needs protocol evidence compared with current ASR3601 firmware code. Route concrete bug fixes to asr3601-lvgl-firmware-triage, cross-branch ports to asr3601-cross-branch-porting, and pure Zentao fetching/listing to zentao-bug-triage.4---56# ASR3601 Protocol Branch Matrix78Use this skill as the protocol and branch-support front door. It keeps protocol documents in the user's Obsidian vault and uses them to decide whether a behavior belongs to firmware code, APP/XCX/YL/AKQ protocol mismatch, platform parsing, or branch/product support.910## Fixed Paths1112Protocol library:1314```text15%USERPROFILE%\Documents\Obsidian\CodexVault\Codex\references\asr3601-protocols16```1718Required files:1920```text21raw\ original protocol files, never overwritten22extracted\ searchable Markdown/text extracted from originals23index.md file versions, applicability, keywords, source mapping24matrix.md APP / XCX / YL / AKQ / platform path and branch matrix25```2627Do not store credentials, API keys, passwords, tokens, or private login material.2829## Protocol File Update Workflow3031When the user sends a new or updated protocol file:32331. Save the original under `raw\` with a date/version/source name such as `YYYYMMDD-app-protocol-v3-user.pdf`.342. Extract searchable text into `extracted\` when practical:35 - PDF: use available PDF tooling or text extraction.36 - DOCX/XLSX: use structured document/spreadsheet tooling when available.37 - Image/screenshot: visually inspect and transcribe only the relevant protocol fields.383. Update `index.md` with protocol name, version/date, original file, extracted file, applicable project/branch/path, keywords, and replacement relationship.394. Update `matrix.md` when the protocol changes APP, XCX/小程序, YL, AKQ, platform, branch support, command fields, report functions, or known caveats.405. Preserve old versions. Mark superseded versions in `index.md` instead of overwriting them.4142If extraction is incomplete, record the gap in `index.md` and continue with the usable evidence.4344Keep original Markdown bytes unchanged. For originals without frontmatter,45register each exact `raw/` path and SHA-256 under `external_sources` in this46library's `index.md`; never refresh a mismatched hash without investigating.47The architecture audit validates registered originals and their local links.48Give extracted Markdown the required Vault frontmatter: `area: engineering`,49`domains: [asr]`, `scope: [topic/protocol]`, `kind: source-extract`,50`codex_access: read`, `trust: derived`, `lifecycle: active`, and a relative51`source` path to its original. Preserve extraction gaps and evidence limits.5253## Protocol Question Workflow5455For “是否符合协议/哪边问题/当前分支是否支持”:56571. Identify the protocol path:58 - APP59 - XCX / 小程序60 - YL61 - AKQ62 - platform/common backend63 - unknown, needs evidence642. Search `index.md`, `matrix.md`, and only the relevant extracted protocol files with concrete terms from the user request:65 - command/event/report name66 - field name67 - enum value68 - platform name69 - code filename/function if provided703. For code comparison, reuse the current task snapshot or inspect the relevant71 live branch/version and parser/formatter. Read only the identity fields that72 determine protocol applicability. A generated protocol label is a search hint;73 confirm active support in source/configuration and the applicable document.74 Refresh stale facts needed by the comparison, not the full build/device/Zentao75 context for every field question.76774. Search firmware code by stable clues from the protocol, not by broad guesses:78 - APP/XCX/YL/AKQ keywords79 - report/event/function names80 - field names and enum values81 - known project terms such as `akq_xcx_protocal`, `yl`, `ylsc_show`, `AquaBot`, `IMEI`, `ICCID`, `location`, `battery`, `SIM`825. Decide with one of these labels:83 - 固件未发送84 - 固件发送字段不一致85 - 平台未识别86 - 当前分支不支持87 - 其他分支已支持,当前缺失88 - 产品/客户/平台变体差异89 - 协议资料不足9091Always cite decisive evidence: protocol file/version, `matrix.md` row, code file/function, branch/commit, log line, or missing runtime proof.9293## Routing Rules9495- Pure “抓 bug/当前 bug/禅道有哪些 bug”: use `zentao-bug-triage`.96- Concrete bug report with screenshots/logs/repro steps: use `asr3601-lvgl-firmware-triage` for the direct Codex investigation, then return here only for protocol ambiguity.97- Current-branch firmware code fix: use `asr3601-lvgl-firmware-triage` after this skill frames the protocol conclusion.98- Cross-branch or sibling-project migration: use `asr3601-cross-branch-porting` after identifying source/target protocol support.99- Verified reusable protocol fixes: update `Codex\fix-patterns\` through `obsidian-fix-pattern-memory` unless the user says not to record.100- Release packaging for AKQ: use `akq-firmware-release`; this skill only decides protocol support and evidence.101102## Output Shape103104For protocol file updates:105106```text107已保存原件:108已提取文本:109已更新索引:110已更新矩阵:111未完成/需要补充:112```113114For protocol/code decisions:115116```text117结论:118协议路径:119当前分支/提交:120协议依据:121代码依据:122属于哪一侧:123下一步:124风险/缺口:125```126127If the next step is a code fix or port, explicitly name the specialist skill to enter next.