with one click
harmonyos-ark-docs-router
纯血鸿蒙 Ark 应用开发文档路由技能。将问题映射到主题子文档,并按官方来源优先级给出检索路径。
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
纯血鸿蒙 Ark 应用开发文档路由技能。将问题映射到主题子文档,并按官方来源优先级给出检索路径。
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
| name | harmonyos-ark-docs-router |
| description | 纯血鸿蒙 Ark 应用开发文档路由技能。将问题映射到主题子文档,并按官方来源优先级给出检索路径。 |
| globs | ["**/*.ets","**/*.ts","**/module.json5","**/oh-package.json5"] |
| 文档来源 | 对应版本 | 说明 |
|---|---|---|
| topics/ 大部分文件 | HarmonyOS 5.0 (API 12) | V5 官方文档离线版,当前最完整 |
| harmonyos-6-*.md | HarmonyOS 6.0 (API 20-22) | 仅含 API 变更/新增,非完整指南 |
| starter-kit/ 代码模板 | API 12+ 兼容 | 默认目标 API 12,标注了 V2 替代方案 |
若目标平台为 6.0+,先查
harmonyos-6-overview.md确认是否有 breaking change,再参考主题文件。
当需要读取华为开发者文档链接时,按以下优先级尝试:
web_fetch — 速度快、token 省,适合静态或服务端渲染页面agent-browser — 华为开发者文档站 (developer.huawei.com/consumer/cn/doc/) 是 SPA,web_fetch 返回空壳时需用浏览器自动化
--headed 模式(普通 headless 会超时).markdown-body(排除侧边栏噪音)以下规则为硬约束。编写任何 .ets/.ts 代码前必须遵守,违反将导致编译失败或运行时异常。
| ❌ 禁止 | ✅ 替代 |
|---|---|
any / unknown 类型 | 显式指定具体类型 |
var 关键字 | let |
解构赋值 const {a, b} = obj | 逐字段赋值 let a = obj.a |
函数表达式 function() {} | 箭头函数 () => {} |
obj["field"] 索引访问 | obj.field 点访问 |
for...in 遍历对象 | 普通 for 循环 |
| 嵌套函数 | lambda / 箭头函数 |
Function.apply/call/bind | 直接调用 |
交叉类型 A & B | 使用继承 extends |
| 构造函数中声明字段 | 在类声明体内声明字段 |
| 声明合并(class/interface/enum) | 保持定义紧凑不拆分 |
#privateField 私有标识符 | private 关键字 |
as const 断言 | 显式类型标注 |
delete 删除属性 | 可空类型赋值 null |
import 不在文件顶部 | 所有 import 必须在其他语句之前 |
| 规则 | 说明 |
|---|---|
| 禁止猜测 API | 不确定的 API 必须搜索华为官方文档确认 |
| import 声明 | 使用 API 前确认是否需要 import |
| 权限配置 | 调用前确认 module.json5 权限配置 |
| 资源引用 | UI 常量用 $r 引用,不直接用字面值 |
| 深色主题 | 新增颜色资源默认支持深色/浅色双主题 |
| 组件装饰器 | @Component vs @ComponentV2 与工程保持一致 |
@State 驱动动画 + 声明式 UIrenderGroup(true)width/height/padding/margin(严重影响性能)SymbolGlyph($r('sys.symbol.xxx')).fontSize(24).fontColor([Color.Black]) 矢量图标替代SymbolGlyph 支持 fontColor / renderingStrategy,随深色模式自动适配sys.symbol.* 资源名禁止凭名称猜测 → 在 DevEco Studio SDK 资源面板验证后使用@Builder 方法体内使用 let / var 声明变量(触发 10905209)private 方法,@Builder 内用 this.method() 内联@Builder 的 ForEach 回调中写内联 UI 组件(Flex/Grid 中尤其高发,触发 10905209)@Builder 方法,回调中仅调用 this.buildXxx()Record<string, Object> 初始化对象字面量(触发 10605038)interface 替代 Record,对象字面量必须对应已声明的 class/interfacestring[] 赋值 Particle 元组类型(触发 10505001,ParticleTuple 要求固定 2 元素)[color1, color2] as [ResourceColor, ResourceColor] 元组字面量Window.setWindowColorMode()(API 12+ 已移除,触发 10505001)context.getApplicationContext().setColorMode(ConfigurationConstant.ColorMode.XXX).accessibilityLabel()(ArkUI 无此属性,跨框架误用,触发 10505001).accessibilityText("朗读文本") / .accessibilityDescription("描述")LayoutType/LayoutData/liveViewManager 易猜错)📄 完整 60+ 条约束详见 → topics/arkts-coding-rules.md
Agent 首先判断任务类型,选择正确的 Skill 入口:
| 任务类型 | 使用 Skill | 说明 |
|---|---|---|
| 鸿蒙开发知识查询 | 本文件 (harmonyos-ark) | 文档路由 + 编码约束 |
| 从零开始新项目 | starter-kit/SKILL.md | 骨架 + 模板 + 10 天执行计划 |
| 编译报错 / deprecated 清理 | arkts-modernization-guard/SKILL.md | 自动扫描 + 修复建议 |
| 通用产品质量验收(非鸿蒙特定) | universal-product-quality/SKILL.md | 功能丰富度 / 深色 / 多端 / 发布前 |
| 鸿蒙 + 通用质量双验收 | 先 universal → 再 harmonyos-ark | 组合使用,universal 做通用把关 |
任务类型?
├─ 查文档/学 API ──────────→ 本文件 (SKILL.md 关键词表)
├─ 新建项目 ───────────────→ starter-kit/SKILL.md
├─ 编译报错/废弃 API ──────→ arkts-modernization-guard/SKILL.md
├─ V1→V2 状态管理迁移 ────→ topics/componentv2-migration.md
├─ 准备提审/发布 ──────────→ checklists/pre-submission-2025.md
└─ 质量验收 ───────────────→ 先 universal-product-quality → 再本 Skill
Agent 直接用关键词匹配目标文件,无需遍历路由树。
| 关键词 | → 文件 | 补充 |
|---|---|---|
| 下拉刷新、列表、加载更多 | starter-kit/modules/list-page.md | 代码: starter-kit/snippets/common-patterns.md §二十四 |
| 登录、注册、Token | starter-kit/modules/auth-login.md | API: topics/network-data.md §登录页从 Line 67 开始 |
| 免登录、离线优先、引导页 | starter-kit/modules/offline-no-login.md | 变体: starter-kit/modules/optional-login-upgrade.md |
| 表单、校验、上传 | starter-kit/modules/form-submit.md | 代码: starter-kit/snippets/common-patterns.md §十一 |
| 权限、相机、文件、媒体 | topics/media-device.md | 模板: starter-kit/modules/media-camera.md |
| 安全控件、剪贴板、SaveButton | topics/security-components.md | 权限: topics/acl-permissions.md |
| 深色模式、主题切换 | starter-kit/modules/dark-multi.md | 检查: topics/ux-standards.md |
| Navigation、路由、传参 | topics/routing-lifecycle.md | 模板: starter-kit/modules/tabbar-navigation.md; 传参: modules/detail-page.md §跳转调用 |
| 状态管理、@State、@Provide | topics/state-management.md | 高级: topics/state-management-advanced.md |
| @ComponentV2、V2 迁移、@Local、@Param | topics/componentv2-migration.md | §何时迁移 有决策矩阵; §迁移代码示例 有 7 组 Before/After |
| 网络请求、HTTP、下载 | topics/network-data.md | 代码: starter-kit/snippets/common-patterns.md §一 |
| WebSocket、实时、重连 | starter-kit/modules/websocket-realtime.md | 代码: starter-kit/snippets/common-patterns.md §三十三 |
| 数据库、持久化、Preferences | starter-kit/modules/data-persistence.md | 代码: starter-kit/snippets/common-patterns.md §二十六 |
| 通知、推送、角标 | topics/notification-kit.md | 模板: starter-kit/modules/notification-handling.md |
| 后台任务、Worker | topics/background-tasks-kit.md | 模板: starter-kit/modules/background-tasks.md |
| 支付、IAP、计费 | starter-kit/modules/payment-billing.md | 审核: topics/incentive-review-2025.md |
| WebView、H5、Bridge | topics/arkweb.md | 混合/同层渲染 |
| 图片、PixelMap、编解码 | topics/image-kit.md | 缓存: topics/network-data.md |
| 卡片、Form Kit | topics/form-kit.md | 扫码: topics/scan-kit.md |
| 指纹、人脸、认证 | topics/user-auth-kit.md | 代码: starter-kit/snippets/common-patterns.md §三十二 |
| 发布、签名、上架 | topics/testing-release.md | 清单: checklists/pre-submission-2025.md |
| 审核、激励、合规 | topics/incentive-review-2025.md | 设计: checklists/universal-product-design-suggestions.md |
| ACL、受限权限 | topics/acl-permissions.md | 审核: topics/incentive-review-2025.md |
| 编译报错、崩溃 | topics/arkts-error-prevention.md | 守卫: arkts-modernization-guard/ |
| 6.0 新特性、API 变更 | topics/harmonyos-6-overview.md | API: topics/harmonyos-6-api-*.md |
| ArkTS 语法、类型、装饰器 | topics/arkts.md | 深入: topics/arkts-lang-basics.md |
| ArkUI 组件、布局 | topics/arkui.md | 组件: topics/arkui-components.md |
| UX 设计、验收 | topics/ux-design-specs.md | 标准: topics/ux-standards.md |
| any 类型、var、解构 | topics/arkts-coding-rules.md | 60+ 条编码约束 |
按分类快速定位。每组第一行是入口文件,子行是细分方向。
仅在需要确认 6.0 API breaking change 或新增 API 时读取。优先读 overview 获取摘要。
当任务涉及 entry/src/main/ets/** 的代码编写或修改时,默认必须执行以下流程:
未满足第 1 步时,不允许开始代码编辑。
# 以下路径按实际安装位置选择一个可用的即可
bash skills/harmonyos-ark/arkts-modernization-guard/scripts/scan-arkts-modernization.sh # 仓库源目录
# 或 bash .codex/skills/harmonyos-ark/arkts-modernization-guard/scripts/scan-arkts-modernization.sh
# 或 bash .claude/skills/harmonyos-ark/arkts-modernization-guard/scripts/scan-arkts-modernization.sh
@Prop 函数回调await preferences.getPreferences(...)$r(...)bash skills/harmonyos-ark/arkts-modernization-guard/scripts/scan-arkts-modernization.sh # 同上,选可用路径
hvigor :entry:default@CompileArkTS
未满足上述门禁时,不得声称“已完成/可交付”。
发布前建议按以下顺序执行双 Skill 验收:
universal-product-quality/SKILL.md
harmonyos-ark)
checklists/pre-submission-2025.md 按应用类型逐项验收| 常见问题关键词 | 主题文件 | 补充 |
|---|---|---|
| ArkTS 入门、类型、装饰器 | topics/arkts.md | 深入: arkts-lang-basics.md |
| 状态管理、@State、@Provide | topics/state-management.md | 代码: snippets/state-management.md |
| 路由、页面跳转、Navigation | topics/routing-lifecycle.md | 模板: modules/tabbar-navigation.md |
| 网络请求、持久化、数据库 | topics/network-data.md | 代码: snippets/common-patterns.md § HttpUtil |
| 发布、签名、上架 | topics/testing-release.md | 清单: checklists/pre-submission-2025.md |
| ACL、受限权限、权限审批 | topics/acl-permissions.md | 审核: topics/incentive-review-2025.md |
| 安全控件、PasteButton、SaveButton | topics/security-components.md | 权限: topics/acl-permissions.md |
| 激励、审核、合规 | topics/incentive-review-2025.md | 设计建议: checklists/universal-product-design-suggestions.md |
| 编译报错、崩溃 | topics/arkts-error-prevention.md | 守卫: arkts-modernization-guard/SKILL.md |
| 6.0 新特性、API 变更 | topics/harmonyos-6-overview.md | API: harmonyos-6-api-*.md |
| 图片处理、PixelMap、编解码 | topics/image-kit.md | 缓存: network-data.md § 图片加载 |
| WebView、H5、JS Bridge | topics/arkweb.md | 混合开发/同层渲染 |
| 桌面卡片、服务卡片 | topics/form-kit.md | Stage 模型卡片 |
| 扫码、二维码、条形码 | topics/scan-kit.md | 图像识码/码图生成 |
| 指纹、人脸、生物认证 | topics/user-auth-kit.md | 支付认证/凭据感知 |
ℹ️ 下方
starter-kit/SKILL.md是独立的子路由表,覆盖项目初始化、目录骨架、Day-by-Day 执行顺序。与本文件是父子关系,不会重复路由。