hmos-development
npx skills add https://github.com/tzuchaine/ai-skills --skill hmos-development
Agent 安装分布
Skill 文档
HarmonyOS ArkTS å¼å婿
ç®ç
为 HarmonyOS NEXT åºç¨å¼åæä¾å ¨é¢æ¯æï¼ä½¿ç¨ ArkTS å @ComponentV2 æ¶æãæ¬ skill ç»åäºï¼
- å¼åæå¯¼ï¼å®æ¹ HarmonyOS å¼åæ åï¼æ¶µç MVVM æ¶æã@ComponentV2 ç»ä»¶æ¨¡å¼ãNavigation è·¯ç±ãç¶æç®¡çå代ç ç»ç»
- æºè½é误è°è¯ï¼åç±»é误æ¥å¿ç³»ç»ï¼éè¿æç´¢å·²ç¥è§£å³æ¹æ¡å®ç°å¿«éé误解å³
- ç¥è¯ç§¯ç´¯ï¼èªå¨è®°å½æ°éå°çé误åå ¶è§£å³æ¹æ¡ï¼ä¾æªæ¥åè
使¶ä½¿ç¨æ¬ Skill
æ¬ skill å¨ä»¥ä¸åºæ¯èªå¨è§¦åï¼
- æä»¶æä½ï¼è¯»åãåå
¥æç¼è¾
.etsæä»¶ï¼HarmonyOS ArkTS æºæä»¶ï¼æ¶ - æç¡®ç HarmonyOS å¼åï¼ç¨æ·æå° “HarmonyOS”ã”ArkTS”ã”@ComponentV2” æç¸å ³å¼åå ³é®è¯æ¶
- é误è°è¯ï¼ç¨æ·è¯·æ±è°è¯å¸®å©ãéè¯¯è°æ¥æ HarmonyOS ä¸ä¸æä¸çæ éææ¥æ¶
å¼å工使µç¨
1. å¼åæå¯¼
å®ç° HarmonyOS åè½æç»ä»¶æ¶ï¼
æ¥éª¤ 1ï¼æ¥é å¼åæå
å 载并åè references/development-guide.md 以è·åï¼
- 项ç®ç»æåæä»¶ç»ç»ï¼ç¬¬ 1-2 èï¼
- @ComponentV2 ç»ä»¶æ¨¡å¼åè£ é¥°å¨ï¼ç¬¬ 3 èï¼
- MVVM æ¶æè®¾è®¡ï¼ç¬¬ 4 èï¼
- æ°æ®æ¨¡ååæå¡å±è®¾è®¡ï¼ç¬¬ 5-7 èï¼
- Navigation API è·¯ç±ç®¡çï¼ç¬¬ 10 èï¼
- ç¶æç®¡çæä½³å®è·µï¼ç¬¬ 11 èï¼
- æ§è½ä¼åï¼ç¬¬ 12 èï¼
- é误å¤çåæ¥å¿æ åï¼ç¬¬ 13-14 èï¼
æ¥éª¤ 2ï¼éµå¾ªæ¶æåå
éµå®æåä¸çæ ¸å¿ååï¼
- ç»ä»¶ç»ç»ï¼éµå¾ª”å°±è¿å唿¾ç½®ç»ä»¶ï¼é¡µé¢ä¸å± â æ¨¡åå ±äº« â å ¨å±å ±äº«ï¼
- MVVM å离ï¼ä¸å¡é»è¾å¨ ViewModelï¼UI 渲æå¨ Page ç»ä»¶
- V2 è£ é¥°å¨ç³»ç»ï¼ä½¿ç¨ @ComponentV2 é å @Param/@Localï¼é¿å æ··ç¨ V1 è£ é¥°å¨ï¼@State/@Observedï¼
- èµæºç®¡çï¼ä½¿ç¨
$r('app.xxx')å¼ç¨èµæºï¼ä½¿ç¨ ThemeSizeTokens 常éå®ä¹å°ºå¯¸
æ¥éª¤ 3ï¼åºç¨å½åè§è
éµå¾ªå½åæ åï¼
- æä»¶ï¼PascalCaseï¼å¦
ProductListPage.etsï¼ - ç±»/ç»æä½ï¼PascalCase
- æ¹æ³/åéï¼camelCase
- 常éï¼SCREAMING_SNAKE_CASE
- ç»ä»¶ Props æ¥å£ï¼ä»¥
Propsç»å°¾
æ¥éª¤ 4ï¼ä»£ç 审æ¥
宿åï¼æ ¹æ®ä»£ç å®¡æ¥æ¸ åéªè¯ï¼development-guide.md 第 15 èï¼ã
2. é误è°è¯å·¥ä½æµç¨
主å¨è¿è¡ç¼è¯æä»¤åç°é误ï¼åè development-guide.md ä¸ç宿´ç¼è¯å½ä»¤ç« è éå°é误æè°è¯é®é¢æ¶ï¼
æ¥éª¤ 1ï¼ä¼å æç´¢é误æ¥å¿
å°è¯è§£å³é误ä¹åï¼
// ä½¿ç¨ Grep å·¥å
·å¨ error-log.md ä¸æç´¢ç±»ä¼¼é误模å¼
Grep(pattern="[é误å
³é®è¯]", path="references/error-log.md", output_mode="content")
æç´¢å 容ï¼
- 精确çé误信æ¯ï¼å¦ “Cannot find name”ï¼
- é误代ç
- é®é¢æè¿°ï¼å¦ “Navigation push failed”ã”List performance”ï¼
æ¥éª¤ 2ï¼åºç¨å·²æè§£å³æ¹æ¡
妿卿¥å¿ä¸æ¾å°å¹é çé误ï¼
- ä»ç»é 读记å½çè§£å³æ¹æ¡
- åºç¨æ¨èçä¿®å¤æ¹æ³
- 妿æåï¼åè development-guide.md ä¸çç¸å ³ç« è
- éªè¯ä¿®å¤æ¯å¦è§£å³äºé®é¢
æ¥éª¤ 3ï¼è°æ¥æ°é误
妿æ¥å¿ä¸ä¸åå¨å¹é çé误ï¼
- åæé误信æ¯åå æ è·è¸ª
- æ¥é development-guide.md ä¸çç¸å ³ç« è
- åºç¨è°è¯ææ¯ï¼
- æ£æ¥è£ 饰å¨ä½¿ç¨ï¼@ComponentV2ã@Paramã@Localï¼
- éªè¯å¯¼å ¥è¯å¥
- å®¡æ¥ MVVM æ¶æå离
- éªè¯ Navigation è·¯ç±é ç½®
- æ£æ¥èµæºå¼ç¨
æ¥éª¤ 4ï¼è®°å½æ°è§£å³æ¹æ¡
æåè§£å³æ°é误åï¼
-
ç¡®å®é误类å«ï¼
- ç¼è¯é误
- è¿è¡æ¶é误
- æ§è½é®é¢
- æ¶æé®é¢
- å ¶ä»å¸¸è§é®é¢
-
æ·»å é误æ¡ç®å°
references/error-log.mdï¼
ä½¿ç¨ Edit å·¥å ·å¨éå½ç±»å«ä¸è¿½å æ°çé误记å½ï¼
### é误ï¼[ç®çæè¿°]
**é误信æ¯**ï¼
[宿´çéè¯¯ä¿¡æ¯æå
³é®ä»£ç çæ®µ]
**åå **ï¼
[é误产ççæ ¹æ¬åå ]
**è§£å³æ¹æ¡**ï¼
[å
·ä½çè§£å³æ¥éª¤å代ç 示ä¾]
**ç¸å
³è§è**ï¼
[å¼ç¨ development-guide.md ä¸çç¸å
³ç« è]
**è®°å½æ¶é´**ï¼YYYY-MM-DD
- éç¥ç¨æ·ï¼åç¥ç¨æ·é误åè§£å³æ¹æ¡å·²è®°å½ï¼ä¾å°æ¥åèã
3. åèæä»¶å è½½çç¥
å¼åæåï¼references/development-guide.mdï¼ï¼
- 大å°ï¼å¤§åç»¼åææ¡£ï¼çº¦ 2000 è¡ï¼
- å è½½çç¥ï¼
- æ ¹æ®éè¦ä½¿ç¨ offset/limit åæ°è¯»åç¹å®ç« è
- 对äºä¸è¬æ§é®é¢ï¼å ä½¿ç¨ Grep æ¥æ¾ç¸å ³ç« è
- å¯¹äºæ¶æè®¾è®¡ï¼è¯»å第 1-4 è
- 对äºç¹å®åè½ï¼è¯»åç®æ ç« èï¼å¦è·¯ç±æ¥ç第 10 èï¼
é误æ¥å¿ï¼references/error-log.mdï¼ï¼
- 大å°ï¼ä¸æå¢é¿çææ¡£ï¼åå§ä¸ºä¸ç大å°
- å è½½çç¥ï¼
- å§ç»å ä½¿ç¨ Grep æç´¢é误模å¼
- ä» å¨æ¾å°å¹é é误æ¶è¯»å宿´ä¸ä¸æ
- ä½¿ç¨ Edit å·¥å ·è¿½å æ°é误
éè¦æå¯¼åå
代ç è´¨éæ å
- é¿å è¿åº¦å·¥ç¨ï¼åªå®ç°è¯·æ±çå 容ï¼é¿å æ·»å ä¸å¿ è¦çåè½ææ½è±¡
- å®å ¨ä¼å ï¼ç»ä¸å¼å ¥æ¼æ´ï¼XSSãSQL æ³¨å ¥ãå½ä»¤æ³¨å ¥çï¼
- æ§è½æè¯ï¼å¯¹é¿åè¡¨ä½¿ç¨ LazyForEachï¼ä¼åå¾çå è½½ï¼é¿å é¢ç¹é渲æ
- ç±»åå®å
¨ï¼ä½¿ç¨éå½ç TypeScript ç±»åï¼é¿å
any
Skill ä¸ç¨è§å
- è§£å³åå æç´¢ï¼ç»ä¸å¨æªæç´¢ error-log.md çæ åµä¸å°è¯è§£å³é误
- å§ç»è®°å½æ°æ¹æ¡ï¼è§£å³æ°é误åï¼å§ç»è®°å½å° error-log.md
- å¼ç¨æåï¼è§£éè§£å³æ¹æ¡æ¶ï¼å¼ç¨ development-guide.md ä¸çç¸å ³ç« è
- ä¿ææ¥å¿æåºï¼ç¡®ä¿æ°æ¡ç®æ·»å å°æ£ç¡®çç±»å«ä¸
- æä¾ä¸ä¸æï¼è®°å½é误æ¶ï¼å å«è¶³å¤çä¸ä¸æä¾å°æ¥åèï¼é误信æ¯ãåå ãè§£å³æ¹æ¡ãç¸å ³è§èï¼
æ²é飿 ¼
- ææé¢åç¨æ·çå 容使ç¨ä¸æï¼åºäº CLAUDE.md å好ï¼
- ç®æå®ç¨ï¼ä¸æ³¨äºå¯æ§è¡ä¿¡æ¯
- å¨ç¸å ³æ¶è§£éæ¶æå³çèåç”åå “
- é彿¶æä¾å¤ç§æ¹æ³åå ¶æè¡¡
Skill ç»´æ¤
éç项ç®åå±ï¼
- æ´æ° error-log.mdï¼æç»æ·»å æ°éå°çé误
- æ´æ° development-guide.mdï¼å¦æåºç°ä¸æ åæåä¸åç项ç®ç¹å®æ¨¡å¼
- 审æ¥åæ´åï¼å®æå®¡æ¥ error-log.md ä»¥æ¥æ¾é夿¡ç®æåºæåå° development-guide.md çæ¨¡å¼
使ç¨åºæ¯ç¤ºä¾
åºæ¯ 1ï¼å建æ°é¡µé¢
ç¨æ·ï¼"帮æå建ä¸ä¸ªäº§åå表页é¢"
婿ï¼
1. å è½½ development-guide.md 第 2 èï¼é¡¹ç®ç»æï¼å第 4 èï¼MVVMï¼
2. æç
§æ åç»æå建页é¢ï¼
- pages/product/list/ProductListPage.ets
- pages/product/list/viewmodel/ProductListViewModel.ets
- pages/product/list/components/ProductCard.ets
3. éµå¾ªç¬¬ 3 èä½¿ç¨ @ComponentV2ã@Paramã@Local å®ç°
4. åè第 10 è设置路ç±
åºæ¯ 2ï¼è°è¯ç¼è¯é误
ç¨æ·ï¼"ç¼è¯æ¥éï¼Cannot use @State with @ComponentV2"
婿ï¼
1. å¨ error-log.md ä¸ Grep æç´¢ "Mixing V1 and V2 decorators"
2. æ¾å°å·²è®°å½çè§£å³æ¹æ¡
3. åºç¨ä¿®å¤ï¼å° @State æ¿æ¢ä¸º @Local
4. è§£é V1/V2 è£
饰å¨å离åå
åºæ¯ 3ï¼è§£å³æ°é误
ç¨æ·ï¼"Navigation è·³è½¬æ¶æ¥éï¼[NEW_ERROR_MESSAGE]"
婿ï¼
1. Grep æç´¢ error-log.md 使ªæ¾å°å¹é
2. åæé误并æ¥é
development-guide.md 第 10 èï¼Navigationï¼
3. è¯å«æ ¹æ¬åå å¹¶åºç¨ä¿®å¤
4. å°æ°é误记å½å° error-log.md ç"è¿è¡æ¶é误"ç±»å«ä¸
5. éç¥ç¨æ·ï¼"已尿¤é误åè§£å³æ¹æ¡è®°å½å°é误æ¥å¿ä¸"
å¿«éåè
| ä»»å¡ | åèæä»¶ | ç« è |
|---|---|---|
| 项ç®ç»æ | development-guide.md | 1-2 |
| @ComponentV2 ä½¿ç¨ | development-guide.md | 3 |
| MVVM æ¶æ | development-guide.md | 4 |
| Navigation è·¯ç± | development-guide.md | 10 |
| ç¶æç®¡ç | development-guide.md | 11 |
| æ§è½ä¼å | development-guide.md | 12 |
| å·²ç¥é误 | error-log.md | å ¨é¨ |
è®°ä½ï¼æ¬ skill å¨å° development-guide.md ä¸çç»æåç¥è¯ä¸ error-log.md ä¸çå®è·µç»éªç§¯ç´¯ç¸ç»åæ¶æä¸ºææãå§ç»å æç´¢åè§£å³ï¼å§ç»è®°å½æ°æ¹æ¡ã