doc-skill-generator
npx skills add https://github.com/morning-start/coze-skills --skill doc-skill-generator
Agent 安装分布
Skill 文档
Doc Skill Generator
ä»»å¡ç®æ
æ¬ Skill ç¨äºä»ææ¯æ¡æ¶æç¼ç¨è¯è¨ç宿¹ç½ç«èªå¨æåææ¡£å 容ï¼å¹¶éè¿æºè½åæçæç¬¦åè§èç Skill åæè½å ï¼å¸®å©ç¨æ·ç³»ç»æ§å¦ä¹ è¯¥ææ¯æ ã
æ ¸å¿è½å
- æºè½æåå®ç½ææ¡£ï¼åºäºç±»åè¿æ»¤è·¯å¾ï¼
- èªå¨æåçæ¬å·åå æ°æ®
- LLM å 容æè¦ä¸æ ¸å¿è½åå¾è°±çæ
- 模æ¿ååæè½çæï¼è¯è¨ç±»/æ¡æ¶ç±»/å·¥å ·ç±»ï¼
- èªå¨éªè¯æè½å®æ´æ§
è§¦åæ¡ä»¶
å ¸åç¨æ·è¡¨è¾¾ï¼
- “帮æçæä¸ä¸ª Vue çå¦ä¹ æè½å ”
- “æ ¹æ® React å®ç½å建对åºçæè½”
- “æéè¦ä¸ä¸ª Go è¯è¨çæè½å ”
- “çæåºäº TypeScript å®ç½çæè½”
åç½®åå¤
ä¾èµå®è£
crawl4ai>=0.4.0
playwright==1.40.0
Playwright æµè§å¨åå§åï¼é¦æ¬¡ä½¿ç¨ï¼
playwright install chromium
æä½æ¥éª¤
1. ä¿¡æ¯æ¶éä¸åå¤
ä»ç¨æ·è¯·æ±ä¸æå以ä¸ä¿¡æ¯ï¼
- å®ç½ URLï¼å¿ éï¼
- ææ¯æ åç§°ï¼å¯éï¼å¯ä» URL æ¨æï¼
- ææ¡£ç±»åï¼è¯è¨ç±»/frameworkç±»/toolç±»ï¼å¯éï¼å¯æºè½æ¨æï¼
- æå深度ï¼å¯éï¼é»è®¤ 2 å±ï¼
2. ç½ç«ææ¡£æåï¼å¢å¼ºçï¼
è°ç¨ scripts/crawl_website.py æåå®ç½å
容ï¼
python scripts/crawl_website.py \
--url "https://vuejs.org" \
--depth 2 \
--output "/workspace/projects/vue-skills/raw_docs" \
--type framework
åæ°è¯´æï¼
--url: å®ç½å°å--depth: æå深度ï¼å»ºè®® 2-3 å±ï¼--output: ææ¡£è¾åºç®å½--max-pages: æå¤§æå页颿°ï¼é»è®¤ 50ï¼--type: ææ¡£ç±»åï¼language/framework/toolï¼
å¢å¼ºåè½ï¼
- æºè½è·¯å¾è¿æ»¤ï¼ä» æå /docs/ã/guide/ã/api/ çææ¡£è·¯å¾
- èªå¨çæ¬æ£æµï¼ä»é¦é¡µæåçæ¬å·
- å æ°æ®æ³¨å ¥ï¼å¨æä»¶å¤´é¨è®°å½æ¥æº URLãæåæ¶é´ãçæ¬å·
3. å 容æè¦ä¸åæ
è°ç¨ scripts/summarize_pages.py çææè¦æ¥åï¼
python scripts/summarize_pages.py \
--input "/workspace/projects/vue-skills/raw_docs" \
--output "/workspace/projects/vue-skills/summary.json" \
--type framework
è¾åºå 容ï¼
- 页é¢åºæ¬ä¿¡æ¯ç»è®¡
- ææ¡£ç»æåæï¼API/æå/示ä¾åå¸ï¼
- æ ¸å¿æ¦å¿µå¾è°±ï¼åºç¡çï¼
- æè½ç±»åæ¨è
- ä¼å é 读页é¢å表
4. åæè½æ¨¡æ¿éæ©ä¸å¡«å
æ ¹æ®æè¦æ¥åï¼æºè½ä½éæ©åéçæ¨¡æ¿å¹¶å¡«å å 容ï¼
4.1 éæ©æ¨¡æ¿
æ ¹æ®ææ¡£ç±»åä» references/templates/ éæ©ï¼
language-skill.md– ç¼ç¨è¯è¨ç±»ï¼GoãPythonãRustï¼framework-skill.md– åç«¯æ¡æ¶ç±»ï¼VueãReactãAngularï¼tool-skill.md– å·¥å ·ç±»ï¼WebpackãDockerãESLintï¼
4.2 å¡«å å æ°æ®
ä»æè¦æ¥å䏿åï¼
---
name: <ææ¯æ åç§°>-skills
description: <è½åæè¿°>
metadata:
source_url: <å®ç½URL>
version: <çæ¬å·>
crawled_at: <æåæ¶é´>
doc_type: <ææ¡£ç±»å>
---
4.3 å¡«å æ ¸å¿å 容
åºäºæè¦æ¥åååææ¡£ï¼æºè½ä½å¡«å ï¼
- ä»»å¡ç®æ ï¼æ ¹æ®æ ¸å¿æ¦å¿µå¾è°±çæ
- æ ¸å¿è½åï¼ä»ææ¡£ç»æåæä¸æå
- æä½æ¥éª¤ï¼æå¦ä¹ è·¯å¾ç»ç»
- èµæºç´¢å¼ï¼é¾æ¥å°å¯¹åºçåèææ¡£
4.4 çæåèææ¡£
仿åçææ¡£ä¸æåå ³é®å 容ï¼
core-concepts.md– æ ¸å¿æ¦å¿µè¯¦è§£ï¼>100 è¡ï¼å« TOCï¼api-reference.md– API åèææ¡£best-practices.md– æä½³å®è·µæåexamples.md– å®æç¤ºä¾ä»£ç
4.5 çæä»£ç 模æ¿
ä»å®æ¹ææ¡£æåå¯è¿è¡ç¤ºä¾ï¼
assets/hello-world.*– Hello World 示ä¾assets/basic-template.*– åºç¡æ¨¡æ¿assets/advanced-example.*– è¿é¶ç¤ºä¾
5. æè½éªè¯ï¼å¯éï¼
è°ç¨ scripts/validate_skill.py éªè¯çæçæè½ï¼
python scripts/validate_skill.py \
--skill-path "/workspace/projects/vue-skills" \
--output "/workspace/projects/vue-skills/validation_report.json"
éªè¯å 容ï¼
- å æ°æ®å®æ´æ§æ£æ¥
- ç®å½ç»æè§èæ£æ¥
- å å®¹è´¨éæ£æ¥ï¼description é¿åº¦ãè¡æ°éå¶ï¼
- èªå¨çææµè¯é®é¢
6. æå 交ä»
è°ç¨æå
å·¥å
·çæ .skill æä»¶ï¼
package_skill(skill_dir_name="<ææ¯æ åç§°>-skills")
èµæºç´¢å¼
å¿ è¦èæ¬
-
- ç¨éï¼æåå®ç½ææ¡£å¹¶è½¬æ¢ä¸º Markdown
- åæ°ï¼urlï¼å¿ éï¼ãdepthãoutputãtype
- å¢å¼ºåè½ï¼è·¯å¾è¿æ»¤ãçæ¬æ£æµãå æ°æ®æ³¨å ¥
-
- ç¨éï¼çæå 容æè¦åæ ¸å¿è½åå¾è°±
- åæ°ï¼inputï¼å¿ éï¼ãoutputãtype
- è¾åºï¼JSON æ ¼å¼çæè¦æ¥å
-
- ç¨éï¼éªè¯æè½å®æ´æ§åå¯ç¨æ§
- åæ°ï¼skill-pathï¼å¿ éï¼ãoutput
- è¾åºï¼JSON æ ¼å¼çéªè¯æ¥å
é¢ååè
- references/common-doc-patterns.md
- 使¶è¯»åï¼åæææ¯ææ¡£ç»ææ¶
- å 容ï¼å¸¸è§ææ¯æ ææ¡£çç»ç»æ¨¡å¼
æè½æ¨¡æ¿
-
references/templates/language-skill.md
- éç¨åºæ¯ï¼ç¼ç¨è¯è¨ç±»æè½ï¼GoãPythonãRustï¼
- å 容ï¼åºç¡è¯æ³ãæ°æ®ç»æãå¹¶åç¼ç¨ãWeb å¼å
-
references/templates/framework-skill.md
- éç¨åºæ¯ï¼åç«¯æ¡æ¶ç±»æè½ï¼VueãReactãAngularï¼
- å å®¹ï¼æ ¸å¿æ¦å¿µãç»ä»¶å¼åãç¶æç®¡çãè·¯ç±é ç½®
-
references/templates/tool-skill.md
- éç¨åºæ¯ï¼å·¥å ·ç±»æè½ï¼WebpackãDockerãESLintï¼
- å 容ï¼é 置管çãæä»¶ç³»ç»ãæ§è½ä¼åã项ç®éæ
注æäºé¡¹
ç¬åçç¥ä¼å
- æ ¹æ®ææ¡£ç±»åèªå¨è¿æ»¤è·¯å¾ï¼é¿å æåæ å ³é¡µé¢
- æ§å¶æå深度å页颿°ï¼é¿å å¯¹ç®æ ç½ç«é æåå
- éµå®ç½ç« robots.txt è§å
å 容æç¼
- æºè½ä½åºä¼å é 读æè¦æ¥åï¼å¿«éäºè§£ææ¡£ç»æ
- æ ¸å¿è½åå¾è°±æå©äºè®¾è®¡åæè½çå¦ä¹ è·¯å¾
- éç¹å ³æ³¨æç¨ãAPI åèãæä½³å®è·µçæ ¸å¿ææ¡£
æè½æ¨¡æ¿å
- æ ¹æ®ææ¡£ç±»åèªå¨éæ©åéçæ¨¡æ¿
- 卿填å å æ°æ®ï¼æ¥æº URLãçæ¬å·ãæåæ¶é´ï¼
- ä¿ææ¨¡æ¿çä¸è´æ§åè§èæ§
éªè¯æºå¶
- å»ºè®®å¨æå åè¿è¡éªè¯èæ¬
- æ£æ¥ææéªè¯é¡¹æ¯å¦éè¿
- æ ¹æ®éªè¯æ¥åä¿®å¤é®é¢
æºè½ä½è责边ç
- â æºè½ä½è´è´£ï¼å 容åæã模æ¿éæ©ãææ¡£çæã示ä¾åä½
- â æºè½ä½è´è´£ï¼æ ¹æ®æè¦æ¥å设计åæè½ç»æ
- â æºè½ä½ä¸è´è´£ï¼HTML è§£æã龿¥åç°ãæä»¶æ ¼å¼è½¬æ¢
- â æºè½ä½ä¸è´è´£ï¼å æ°æ®æåï¼ç±èæ¬å®æï¼
使ç¨ç¤ºä¾
ç¤ºä¾ 1ï¼çæ Vue å¦ä¹ æè½ï¼æ¡æ¶ç±»ï¼
# 1. æå Vue å®ç½
python scripts/crawl_website.py \
--url "https://vuejs.org" \
--depth 2 \
--output "./vue-skills/raw_docs" \
--type framework
# 2. çææè¦
python scripts/summarize_pages.py \
--input "./vue-skills/raw_docs" \
--output "./vue-skills/summary.json" \
--type framework
# 3. æºè½ä½éæ© framework-skill.md 模æ¿å¹¶å¡«å
å
容
# 4. çæåèææ¡£åä»£ç æ¨¡æ¿
# 5. éªè¯æè½
python scripts/validate_skill.py \
--skill-path "./vue-skills" \
--output "./vue-skills/validation.json"
# 6. æå
交ä»
package_skill(skill_dir_name="vue-skills")
ç¤ºä¾ 2ï¼çæ Go è¯è¨æè½ï¼è¯è¨ç±»ï¼
# 1. æå Go å®ç½
python scripts/crawl_website.py \
--url "https://go.dev/doc" \
--depth 3 \
--max-pages 100 \
--output "./go-skills/raw_docs" \
--type language
# 2. çææè¦
python scripts/summarize_pages.py \
--input "./go-skills/raw_docs" \
--output "./go-skills/summary.json" \
--type language
# 3. æºè½ä½éæ© language-skill.md 模æ¿å¹¶å¡«å
å
容
# 4. éç¹å
³æ³¨å¹¶åç¼ç¨ãWeb å¼åçå
容
# 5. æå
交ä»
ç¤ºä¾ 3ï¼çæ Webpack æè½ï¼å·¥å ·ç±»ï¼
# 1. æå Webpack å®ç½
python scripts/crawl_website.py \
--url "https://webpack.js.org" \
--depth 2 \
--output "./webpack-skills/raw_docs" \
--type tool
# 2. çææè¦
python scripts/summarize_pages.py \
--input "./webpack-skills/raw_docs" \
--output "./webpack-skills/summary.json" \
--type tool
# 3. æºè½ä½éæ© tool-skill.md 模æ¿å¹¶å¡«å
å
容
# 4. éç¹å
³æ³¨é
置管çãæä»¶ç³»ç»ãä¼åæå·§
# 5. æå
交ä»
ææ¯æ¶æè¯´æ
æåçç¥ä¼å
- è·¯å¾è¿æ»¤ï¼æ ¹æ®ææ¡£ç±»åï¼language/framework/toolï¼é¢è®¾ä¸åçè·¯å¾è¿æ»¤è§å
- çæ¬æ£æµï¼ä»é¦é¡µ HTML ä¸èªå¨æåçæ¬å·
- å æ°æ®æ³¨å ¥ï¼å¨æ¯ä¸ª Markdown æä»¶å¤´é¨æ³¨å ¥æ¥æº URLãæåæ¶é´ãçæ¬å·
å 容æç¼
- æè¦çæï¼ä½¿ç¨èæ¬ç»è®¡é¡µé¢åºæ¬ä¿¡æ¯ï¼åæ°ãææ¡£ç±»åï¼
- ææ¡£ç»æåæï¼è¯å« APIãæåã示ä¾çä¸åç±»åçææ¡£
- æ ¸å¿è½åå¾è°±ï¼åºäºæ é¢åå 容æåæ½å¨æ¦å¿µï¼åºç¡çï¼
æè½æ¨¡æ¿å
- ä¸ç§æ¨¡æ¿ï¼è¯è¨ç±»ãæ¡æ¶ç±»ãå·¥å ·ç±»ï¼è¦çå¸¸è§ææ¯æ
- 卿填å ï¼æ ¹æ®æè¦æ¥åèªå¨å¡«å å æ°æ®åæ ¸å¿å 容
- ä¸è´æ§ä¿è¯ï¼ç¡®ä¿çæçåæè½ç¬¦åç»ä¸çæ ¼å¼è§è
éªè¯æºå¶
- å æ°æ®æ£æ¥ï¼éªè¯ YAML åè¨åºç宿´æ§
- ç»ææ£æ¥ï¼éªè¯ç®å½ç»æç¬¦åè§è
- å å®¹è´¨éæ£æ¥ï¼éªè¯ description é¿åº¦ãè¡æ°éå¶ç
- æµè¯é®é¢çæï¼èªå¨çææµè¯é®é¢ï¼éªè¯æè½å¯ç¨æ§