Analyze competitor repositories with evidence-based approach. Use when tracking competitors, creating competitor profiles, or generating competitive analysis. CRITICAL - all analysis must be based on actual cloned code, never assumptions. Triggers include "analyze competitor", "add competitor", "competitive analysis", or "ç«ååæ".
Install
npx skillscat add daymade/claude-code-skills/competitors-analysis Install via the SkillsCat registry.
Competitors Analysis
Evidence-based competitor tracking and analysis. All analysis must be based on actual code, never assumptions.
CRITICAL: Evidence-Based Analysis Only
å¨å¼å§åæä¹åï¼å¿ 须宿以䏿£æ¥ï¼
Pre-Analysis Checklist
- ä»åºå·²å
éå°æ¬å°
~/Workspace/competitors/{product}/ - å¯ä»¥
lsæ¥çç®å½ç»æ - å¯ä»¥
cat package.json(æçæé ç½®æä»¶) 读åçæ¬ä¿¡æ¯ - å¯ä»¥
git log -1ç¡®è®¤ä»£ç æ¯ææ°ç
妿以ä¸ä»»ä½ä¸é¡¹æªå®æï¼åæ¢åæï¼å 宿å éæä½ã
Forbidden Patterns (ç¦æ¢ç表述)
| ç¦æ¢ | åå |
|---|---|
| "æ¨æµ..."ã"å¯è½..."ã"åºè¯¥..." | 没æè¯æ®æ¯æ |
| "æ¶æå¾ï¼æ¨æµçï¼" | å¿ é¡»åºäºå®é 代ç |
| "æªå ¬å¼"ã"æªæ«é²" | 妿ä¸ç¥éå°±ä¸è¦å |
| ä¸å¸¦æ¥æºçææ¯ç»è | æ æ³éªè¯ |
Required Patterns (å¿ é¡»ç表述)
| æ£ç¡®æ ¼å¼ | ç¤ºä¾ |
|---|---|
| ææ¯ç»è + (æ¥æº: æä»¶:è¡å·) | "ä½¿ç¨ better-sqlite3 (æ¥æº: package.json:88)" |
| ç´æ¥å¼ç¨ + æ¥æº | > "description text" (README.md:3) |
| çæ¬å· + æ¥æº | "çæ¬ 1.3.3 (package.json:2)" |
Analysis Workflow
Step 1: Clone Repository (å¿ é¡»)
# å建产åç«åç®å½
mkdir -p ~/Workspace/competitors/{product-name}
# å
éç«åä»åº (SSHï¼å¤±è´¥åéè¯)
cd ~/Workspace/competitors/{product-name}
git clone git@github.com:org/repo.gitç½ç»é®é¢å¤ç: ä¸å½ç½ç»ç¯å¢å¯è½éè¦å¤æ¬¡éè¯ã
Step 2: Gather Facts (æ¶éäºå®)
æé¡ºåºè¯»å以䏿件ï¼è®°å½å ³é®ä¿¡æ¯ï¼
2.1 项ç®å æ°æ®
# Node.js 项ç®
cat package.json | head -20 # name, version, description
cat package.json | grep -A50 dependencies
# Python 项ç®
cat pyproject.toml # æ setup.py, requirements.txt
# Rust 项ç®
cat Cargo.toml2.2 项ç®ç»æ
ls -la # æ ¹ç®å½ç»æ
ls src/ # æºç ç®å½
find . -name "*.md" -maxdepth 2 # ææ¡£æä»¶2.3 æ ¸å¿æ¨¡å
# æ¾å°å
¥å£æä»¶
cat main.js | head -50 # æ index.js, app.py, main.rs
# æ¾å°æ ¸å¿ helpers/utils
ls src/helpers/ 2>/dev/null || ls src/utils/ 2>/dev/null2.4 README åææ¡£
cat README.md | head -100 # 宿¹æè¿°
cat CHANGELOG.md | head -50 # çæ¬åå²Step 3: Deep Dive (æ·±å ¥åæ)
éå¯¹å ³é®ææ¯ç¹ï¼è¯»åå ·ä½å®ç°æä»¶ï¼
# 示ä¾ï¼åæ ASR å®ç°
cat src/helpers/whisper.js # 读å宿´æä»¶
grep -n "class.*Manager" src/helpers/*.js # æ¾å°æ ¸å¿ç±»è®°å½æ ¼å¼:
| æä»¶ | è¡å· | åç° |
|------|------|------|
| whisper.js | 33-35 | ä½¿ç¨ WhisperServerManager |Step 4: Write Profile (æ°ååæ)
ä½¿ç¨ references/profile_template.md 模æ¿ï¼ç¡®ä¿æ¯ä¸ªææ¯ç»èé½ææ¥æºæ 注ã
Step 5: Post-Analysis Verification (åæåéªè¯)
èªæ£æ¸ å:
- ææçæ¬å·é½ææ¥æºæ 注ï¼
- ææææ¯æ 齿¥èª package.json/Cargo.tomlï¼
- æ¶ææè¿°åºäºå®é 代ç ç»æï¼
- 没æ"æ¨æµ"ã"å¯è½"çè¯æ±ï¼
- 对æ¯è¡¨ä¸çç«åæ°æ®é½ææ¥æºï¼
Directory Structure
~/Workspace/competitors/
âââ flowzero/ # Flowzero çç«å
â âââ openwhispr/ # git clone çä»åº
â âââ ...
âââ {product-name}/ # å
¶ä»äº§å
{project}/docs/competitors/
âââ README.md # ç´¢å¼ï¼æ 注åæç¶æï¼
âââ profiles/
â âââ {competitor}.md # åºäºä»£ç çåæ
âââ landscape/
âââ insights/
âââ updates/2026/Templates and Checklists
| ææ¡£ | ç¨é |
|---|---|
| references/profile_template.md | ç«ååææ¥åæ¨¡æ¿ |
| references/analysis_checklist.md | åæå/ä¸/åæ£æ¥æ¸ å |
å ³é®è¦æ±:
- é¡¶é¨å¿ é¡»æ æ³¨æ°æ®æ¥æºè·¯å¾å commit hash
- æ¯ä¸ªææ¯ç»èå¿ é¡»æ (æ¥æº: æä»¶:è¡å·)
- å¼ç¨ README å å®¹å¿ é¡»æ æ³¨è¡å·
- æ æ³éªè¯çæ 记为"å¾ éªè¯"并说æåå
- åæå®æåè¿è¡æ£æ¥æ¸ åä¸çéªè¯å½ä»¤
Tech Stack Analysis Guide
Node.js / JavaScript
| ä¿¡æ¯ | æ¥æºæä»¶ | å ³é®å段 |
|---|---|---|
| çæ¬ | package.json | version |
| ä¾èµ | package.json | dependencies, devDependencies |
| å ¥å£ | package.json | main, scripts.start |
| æ¡æ¶ | package.json | electron, react, vite ç |
Python
| ä¿¡æ¯ | æ¥æºæä»¶ | å ³é®å段 |
|---|---|---|
| çæ¬ | pyproject.toml | [project].version |
| ä¾èµ | pyproject.toml / requirements.txt | dependencies |
| å ¥å£ | pyproject.toml | [project.scripts] |
Rust
| ä¿¡æ¯ | æ¥æºæä»¶ | å ³é®å段 |
|---|---|---|
| çæ¬ | Cargo.toml | [package].version |
| ä¾èµ | Cargo.toml | [dependencies] |
Common Mistakes to Avoid
1. è·³è¿å éç´æ¥åæ
â é误: ä» GitHub ç½é¡µæ WebFetch è·åä¿¡æ¯åç´æ¥ååæ
â
æ£ç¡®: å¿
é¡» git clone å°æ¬å°ï¼ç¨ Read å·¥å
·è¯»åæä»¶
2. æ··åäºå®åæ¨æµ
â é误:
## ææ¯æ
- Electron (æ¨æµåºäºæ¡é¢åºç¨ç¹å¾)
- å¯è½ä½¿ç¨äº Reactâ æ£ç¡®:
## ææ¯æ (æ¥æº: package.json)
| ä¾èµ | çæ¬ | æ¥æº |
|------|------|------|
| electron | 36.9.5 | package.json:68 |
| react | 19.1.0 | package.json:96 |3. 使ç¨è¿æ¶ä¿¡æ¯
â é误: åææ¶ä¸æ£æ¥ git logï¼ä½¿ç¨è¿æ¶ç代ç
â
æ£ç¡®: åæåè¿è¡ git pullï¼è®°å½åææ¶ç commit hash
4. 对æ¯è¡¨ä¸ç«åæ°æ®æ æ¥æº
â é误:
| 维度 | ç«å | æä»¬ |
|------|------|------|
| æ¯æè¯è¨ | 25ç§ | 58ç§ |â æ£ç¡®:
| 维度 | ç«å | æ¥æº | æä»¬ |
|------|------|------|------|
| æ¯æè¯è¨ | 25ç§ | modelRegistryData.json:9-35 | 58ç§ (FunASR 宿¹ææ¡£) |Scripts
See scripts/update-competitors.sh for repository management.
./scripts/update-competitors.sh clone # å
éææç«å
./scripts/update-competitors.sh pull # æ´æ°ææç«å
./scripts/update-competitors.sh status # æ£æ¥ç¶æ