Release v1.30.0: Add competitors-analysis skill
- Add competitors-analysis skill for evidence-based competitor tracking - Pre-analysis checklist to ensure repositories are cloned locally - Forbidden patterns to prevent assumptions and speculation - Required patterns for source citation (file:line_number format) - Tech stack analysis guides for Node.js, Python, Rust - Bundled references: profile_template.md, analysis_checklist.md - Management script: update-competitors.sh - Update marketplace version from 1.29.0 to 1.30.0 - Update skills count from 34 to 35 - Update README.md and README.zh-CN.md (badges, skill section, use case) - Update CLAUDE.md (skill count, available skills list) - Update marketplace.json (metadata + new plugin entry) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -5,8 +5,8 @@
|
||||
"email": "daymadev89@gmail.com"
|
||||
},
|
||||
"metadata": {
|
||||
"description": "Professional Claude Code skills for GitHub operations, document conversion, diagram generation, statusline customization, Teams communication, repomix utilities, skill creation, CLI demo generation, LLM icon access, Cloudflare troubleshooting, UI design system extraction, professional presentation creation, YouTube video downloading, secure repomix packaging, ASR transcription correction, video comparison quality analysis, comprehensive QA testing infrastructure, prompt optimization with EARS methodology, session history recovery, documentation cleanup, format-controlled deep research report generation with evidence tracking, PDF generation with Chinese font support, CLAUDE.md progressive disclosure optimization, CCPM skill registry search and management, Promptfoo LLM evaluation framework, iOS app development with XcodeGen and SwiftUI, fact-checking with automated corrections, Twitter/X content fetching, intelligent macOS disk space recovery, skill quality review and improvement, GitHub contribution strategy, complete internationalization/localization setup, and plugin/skill troubleshooting with diagnostic tools",
|
||||
"version": "1.29.0",
|
||||
"description": "Professional Claude Code skills for GitHub operations, document conversion, diagram generation, statusline customization, Teams communication, repomix utilities, skill creation, CLI demo generation, LLM icon access, Cloudflare troubleshooting, UI design system extraction, professional presentation creation, YouTube video downloading, secure repomix packaging, ASR transcription correction, video comparison quality analysis, comprehensive QA testing infrastructure, prompt optimization with EARS methodology, session history recovery, documentation cleanup, format-controlled deep research report generation with evidence tracking, PDF generation with Chinese font support, CLAUDE.md progressive disclosure optimization, CCPM skill registry search and management, Promptfoo LLM evaluation framework, iOS app development with XcodeGen and SwiftUI, fact-checking with automated corrections, Twitter/X content fetching, intelligent macOS disk space recovery, skill quality review and improvement, GitHub contribution strategy, complete internationalization/localization setup, plugin/skill troubleshooting with diagnostic tools, and evidence-based competitor analysis with source citations",
|
||||
"version": "1.30.0",
|
||||
"homepage": "https://github.com/daymade/claude-code-skills"
|
||||
},
|
||||
"plugins": [
|
||||
@@ -709,6 +709,26 @@
|
||||
"skills": [
|
||||
"./deep-research"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "competitors-analysis",
|
||||
"description": "Analyze competitor repositories with evidence-based approach. Use when tracking competitors, creating competitor profiles, or generating competitive analysis. All analysis must be based on actual cloned code, never assumptions. Triggers include analyze competitor, add competitor, competitive analysis, or 竞品分析",
|
||||
"source": "./",
|
||||
"strict": false,
|
||||
"version": "1.0.0",
|
||||
"category": "productivity",
|
||||
"keywords": [
|
||||
"competitors",
|
||||
"competitive-analysis",
|
||||
"competitor-tracking",
|
||||
"evidence-based",
|
||||
"market-research",
|
||||
"竞品分析",
|
||||
"code-analysis"
|
||||
],
|
||||
"skills": [
|
||||
"./competitors-analysis"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
23
CHANGELOG.md
23
CHANGELOG.md
@@ -10,6 +10,29 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||
### Added
|
||||
- None
|
||||
|
||||
## [1.30.0] - 2026-01-29
|
||||
|
||||
### Added
|
||||
- **New Skill**: competitors-analysis - Evidence-based competitor tracking and analysis
|
||||
- Pre-analysis checklist to ensure repositories are cloned locally
|
||||
- Forbidden patterns to prevent assumptions and speculation
|
||||
- Required patterns for source citation (file:line_number)
|
||||
- Tech stack analysis guides for Node.js, Python, Rust projects
|
||||
- Directory structure conventions for competitor tracking
|
||||
- Bundled references: profile_template.md, analysis_checklist.md
|
||||
- Management script: update-competitors.sh (clone/pull/status)
|
||||
|
||||
### Changed
|
||||
- Updated marketplace skills count from 34 to 35
|
||||
- Updated marketplace version from 1.29.0 to 1.30.0
|
||||
- Updated README.md badges (skills count, version)
|
||||
- Updated README.md to include competitors-analysis in skills listing
|
||||
- Updated README.zh-CN.md badges (skills count, version)
|
||||
- Updated README.zh-CN.md to include competitors-analysis in skills listing
|
||||
- Updated CLAUDE.md skills count from 34 to 35
|
||||
- Added competitors-analysis use case section to README.md
|
||||
- Added competitors-analysis use case section to README.zh-CN.md
|
||||
|
||||
## [1.29.0] - 2026-01-29
|
||||
|
||||
### Added
|
||||
|
||||
@@ -4,7 +4,7 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
|
||||
|
||||
## Repository Overview
|
||||
|
||||
This is a Claude Code skills marketplace containing 34 production-ready skills organized in a plugin marketplace structure. Each skill is a self-contained package that extends Claude's capabilities with specialized knowledge, workflows, and bundled resources.
|
||||
This is a Claude Code skills marketplace containing 35 production-ready skills organized in a plugin marketplace structure. Each skill is a self-contained package that extends Claude's capabilities with specialized knowledge, workflows, and bundled resources.
|
||||
|
||||
**Essential Skill**: `skill-creator` is the most important skill in this marketplace - it's a meta-skill that enables users to create their own skills. Always recommend it first for users interested in extending Claude Code.
|
||||
|
||||
@@ -134,7 +134,7 @@ Skills for public distribution must NOT contain:
|
||||
## Marketplace Configuration
|
||||
|
||||
The marketplace is configured in `.claude-plugin/marketplace.json`:
|
||||
- Contains 34 plugins, each mapping to one skill
|
||||
- Contains 35 plugins, each mapping to one skill
|
||||
- Each plugin has: name, description, version, category, keywords, skills array
|
||||
- Marketplace metadata: name, owner, version, homepage
|
||||
|
||||
@@ -144,7 +144,7 @@ The marketplace is configured in `.claude-plugin/marketplace.json`:
|
||||
|
||||
1. **Marketplace Version** (`.claude-plugin/marketplace.json` → `metadata.version`)
|
||||
- Tracks the marketplace catalog as a whole
|
||||
- Current: v1.29.0
|
||||
- Current: v1.30.0
|
||||
- Bump when: Adding/removing skills, major marketplace restructuring
|
||||
- Semantic versioning: MAJOR.MINOR.PATCH
|
||||
|
||||
@@ -194,6 +194,7 @@ The marketplace is configured in `.claude-plugin/marketplace.json`:
|
||||
32. **claude-skills-troubleshooting** - Diagnose and resolve Claude Code plugin and skill configuration issues with diagnostic scripts and architecture documentation
|
||||
33. **meeting-minutes-taker** - Transform meeting transcripts into structured minutes with multi-pass generation, speaker quotes, and iterative human review
|
||||
34. **deep-research** - Generate format-controlled research reports with evidence mapping, citations, and multi-pass synthesis
|
||||
35. **competitors-analysis** - Evidence-based competitor tracking and analysis with source citations (file:line_number format)
|
||||
|
||||
**Recommendation**: Always suggest `skill-creator` first for users interested in creating skills or extending Claude Code.
|
||||
|
||||
|
||||
49
README.md
49
README.md
@@ -6,15 +6,15 @@
|
||||
[](./README.zh-CN.md)
|
||||
|
||||
[](https://opensource.org/licenses/MIT)
|
||||
[](https://github.com/daymade/claude-code-skills)
|
||||
[](https://github.com/daymade/claude-code-skills)
|
||||
[](https://github.com/daymade/claude-code-skills)
|
||||
[](https://github.com/daymade/claude-code-skills)
|
||||
[](https://claude.com/code)
|
||||
[](./CONTRIBUTING.md)
|
||||
[](https://github.com/daymade/claude-code-skills/graphs/commit-activity)
|
||||
|
||||
</div>
|
||||
|
||||
Professional Claude Code skills marketplace featuring 34 production-ready skills for enhanced development workflows.
|
||||
Professional Claude Code skills marketplace featuring 35 production-ready skills for enhanced development workflows.
|
||||
|
||||
## 📑 Table of Contents
|
||||
|
||||
@@ -1463,6 +1463,45 @@ claude plugin install deep-research@daymade-skills
|
||||
|
||||
---
|
||||
|
||||
### 35. **competitors-analysis** - Evidence-Based Competitor Tracking
|
||||
|
||||
Analyze competitor repositories with evidence-based approach. All analysis must be based on actual cloned code, never assumptions.
|
||||
|
||||
**When to use:**
|
||||
- Track and analyze competitor products or technologies
|
||||
- Create evidence-based competitor profiles
|
||||
- Generate competitive analysis reports
|
||||
- Need to document technical decisions with cited sources
|
||||
|
||||
**Key features:**
|
||||
- Pre-analysis checklist to ensure repositories are cloned locally
|
||||
- Forbidden patterns to prevent assumptions ("推测...", "可能...", "应该...")
|
||||
- Required patterns for source citation (file:line_number format)
|
||||
- Tech stack analysis guides for Node.js, Python, Rust projects
|
||||
- Directory structure conventions for organized competitor tracking
|
||||
- Bundled templates: profile template, analysis checklist
|
||||
- Management script for batch clone/pull/status operations
|
||||
|
||||
**Example usage:**
|
||||
```bash
|
||||
# Install the skill
|
||||
claude plugin install competitors-analysis@daymade-skills
|
||||
|
||||
# Then ask Claude to analyze a competitor
|
||||
"分析竞品 https://github.com/org/repo"
|
||||
"添加竞品到 flowzero 产品的竞品列表"
|
||||
```
|
||||
|
||||
**🎬 Live Demo**
|
||||
|
||||
*Coming soon*
|
||||
|
||||
📚 **Documentation**: See [competitors-analysis/SKILL.md](./competitors-analysis/SKILL.md) and [competitors-analysis/references/](./competitors-analysis/references/) for templates.
|
||||
|
||||
**Requirements**: Git (for cloning repositories)
|
||||
|
||||
---
|
||||
|
||||
## 🎬 Interactive Demo Gallery
|
||||
|
||||
Want to see all demos in one place with click-to-enlarge functionality? Check out our [interactive demo gallery](./demos/index.html) or browse the [demos directory](./demos/).
|
||||
@@ -1478,6 +1517,9 @@ Combine **markdown-tools** for document conversion and **mermaid-tools** for dia
|
||||
### For Research & Analysis
|
||||
Use **deep-research** to produce format-controlled research reports with evidence tables and citations. Combine with **fact-checker** to validate claims or with **twitter-reader** for social-source collection.
|
||||
|
||||
### For Competitive Intelligence
|
||||
Use **competitors-analysis** to track and analyze competitor repositories with evidence-based approach. All findings are sourced from actual code (file:line_number), eliminating speculation. Combine with **deep-research** for comprehensive competitive landscape reports.
|
||||
|
||||
### For PDF & Printable Documents
|
||||
Use **pdf-creator** to convert markdown to print-ready PDFs with proper Chinese font support for formal documents and reports.
|
||||
|
||||
@@ -1587,6 +1629,7 @@ Each skill includes:
|
||||
- **i18n-expert**: See `i18n-expert/SKILL.md` for complete i18n setup workflow, key architecture guidance, and audit procedures
|
||||
- **claude-skills-troubleshooting**: See `claude-skills-troubleshooting/SKILL.md` for plugin troubleshooting workflow and architecture
|
||||
- **fact-checker**: See `fact-checker/SKILL.md` for fact-checking workflow and claim verification process
|
||||
- **competitors-analysis**: See `competitors-analysis/SKILL.md` for evidence-based analysis workflow and `competitors-analysis/references/profile_template.md` for competitor profile template
|
||||
|
||||
## 🛠️ Requirements
|
||||
|
||||
|
||||
@@ -6,15 +6,15 @@
|
||||
[](./README.zh-CN.md)
|
||||
|
||||
[](https://opensource.org/licenses/MIT)
|
||||
[](https://github.com/daymade/claude-code-skills)
|
||||
[](https://github.com/daymade/claude-code-skills)
|
||||
[](https://github.com/daymade/claude-code-skills)
|
||||
[](https://github.com/daymade/claude-code-skills)
|
||||
[](https://claude.com/code)
|
||||
[](./CONTRIBUTING.md)
|
||||
[](https://github.com/daymade/claude-code-skills/graphs/commit-activity)
|
||||
|
||||
</div>
|
||||
|
||||
专业的 Claude Code 技能市场,提供 34 个生产就绪的技能,用于增强开发工作流。
|
||||
专业的 Claude Code 技能市场,提供 35 个生产就绪的技能,用于增强开发工作流。
|
||||
|
||||
## 📑 目录
|
||||
|
||||
@@ -1505,6 +1505,45 @@ claude plugin install deep-research@daymade-skills
|
||||
|
||||
---
|
||||
|
||||
### 35. **competitors-analysis** - 证据驱动的竞品追踪
|
||||
|
||||
基于证据的竞品仓库分析。所有分析必须基于实际克隆的代码,禁止任何推测。
|
||||
|
||||
**使用场景:**
|
||||
- 追踪和分析竞品产品或技术
|
||||
- 创建基于证据的竞品档案
|
||||
- 生成竞争分析报告
|
||||
- 需要以引用来源记录技术决策
|
||||
|
||||
**主要功能:**
|
||||
- 分析前检查清单,确保仓库已本地克隆
|
||||
- 禁止模式以防止假设("推测..."、"可能..."、"应该...")
|
||||
- 必须的引用格式(文件:行号)
|
||||
- 支持 Node.js、Python、Rust 项目的技术栈分析指南
|
||||
- 目录结构规范用于组织竞品追踪
|
||||
- 内置模板:竞品档案模板、分析检查清单
|
||||
- 管理脚本用于批量克隆/拉取/状态检查操作
|
||||
|
||||
**示例用法:**
|
||||
```bash
|
||||
# 安装技能
|
||||
claude plugin install competitors-analysis@daymade-skills
|
||||
|
||||
# 然后让 Claude 分析竞品
|
||||
"分析竞品 https://github.com/org/repo"
|
||||
"添加竞品到 flowzero 产品的竞品列表"
|
||||
```
|
||||
|
||||
**🎬 实时演示**
|
||||
|
||||
*即将推出*
|
||||
|
||||
📚 **文档**:参见 [competitors-analysis/SKILL.md](./competitors-analysis/SKILL.md) 与 [competitors-analysis/references/](./competitors-analysis/references/) 了解模板。
|
||||
|
||||
**要求**:Git(用于克隆仓库)
|
||||
|
||||
---
|
||||
|
||||
## 🎬 交互式演示画廊
|
||||
|
||||
想要在一个地方查看所有演示并具有点击放大功能?访问我们的[交互式演示画廊](./demos/index.html)或浏览[演示目录](./demos/)。
|
||||
@@ -1520,6 +1559,9 @@ claude plugin install deep-research@daymade-skills
|
||||
### 调研与分析
|
||||
使用 **deep-research** 生成格式可控的调研报告,包含证据表与引用。与 **fact-checker** 结合用于验证关键结论,或与 **twitter-reader** 结合收集社媒资料。
|
||||
|
||||
### 竞争情报
|
||||
使用 **competitors-analysis** 以证据驱动的方法追踪和分析竞品仓库。所有发现都来自实际代码(文件:行号),杜绝臆测。与 **deep-research** 结合生成全面的竞争格局报告。
|
||||
|
||||
### PDF 与可打印文档
|
||||
使用 **pdf-creator** 将 markdown 转换为适合打印的 PDF,并提供中文字体支持,适用于正式报告和归档材料。
|
||||
|
||||
@@ -1629,6 +1671,7 @@ claude plugin install deep-research@daymade-skills
|
||||
- **i18n-expert**:参见 `i18n-expert/SKILL.md` 了解完整的 i18n 设置工作流程、键架构指导和审计程序
|
||||
- **claude-skills-troubleshooting**:参见 `claude-skills-troubleshooting/SKILL.md` 了解插件故障排除工作流程和架构
|
||||
- **fact-checker**:参见 `fact-checker/SKILL.md` 了解事实核查工作流程和声明验证过程
|
||||
- **competitors-analysis**:参见 `competitors-analysis/SKILL.md` 了解证据驱动的分析工作流程和 `competitors-analysis/references/profile_template.md` 了解竞品档案模板
|
||||
|
||||
## 🛠️ 系统要求
|
||||
|
||||
|
||||
4
competitors-analysis/.security-scan-passed
Normal file
4
competitors-analysis/.security-scan-passed
Normal file
@@ -0,0 +1,4 @@
|
||||
Security scan passed
|
||||
Scanned at: 2026-01-29T23:52:21.174078
|
||||
Tool: gitleaks + pattern-based validation
|
||||
Content hash: 2f057ff46a0c9553f5183e7140adbc009f02793b958f49708d792de09815f258
|
||||
252
competitors-analysis/SKILL.md
Normal file
252
competitors-analysis/SKILL.md
Normal file
@@ -0,0 +1,252 @@
|
||||
---
|
||||
name: competitors-analysis
|
||||
description: 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 "竞品分析".
|
||||
context: fork
|
||||
agent: general-purpose
|
||||
allowed-tools: Read, Grep, Glob, Bash(git *), Bash(mkdir *), Bash(ls *), Bash(wc *)
|
||||
argument-hint: [product-name] [competitor-url]
|
||||
---
|
||||
|
||||
# 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 (必须)
|
||||
|
||||
```bash
|
||||
# 创建产品竞品目录
|
||||
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 项目元数据**
|
||||
```bash
|
||||
# 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.toml
|
||||
```
|
||||
|
||||
**2.2 项目结构**
|
||||
```bash
|
||||
ls -la # 根目录结构
|
||||
ls src/ # 源码目录
|
||||
find . -name "*.md" -maxdepth 2 # 文档文件
|
||||
```
|
||||
|
||||
**2.3 核心模块**
|
||||
```bash
|
||||
# 找到入口文件
|
||||
cat main.js | head -50 # 或 index.js, app.py, main.rs
|
||||
# 找到核心 helpers/utils
|
||||
ls src/helpers/ 2>/dev/null || ls src/utils/ 2>/dev/null
|
||||
```
|
||||
|
||||
**2.4 README 和文档**
|
||||
```bash
|
||||
cat README.md | head -100 # 官方描述
|
||||
cat CHANGELOG.md | head -50 # 版本历史
|
||||
```
|
||||
|
||||
### Step 3: Deep Dive (深入分析)
|
||||
|
||||
针对关键技术点,读取具体实现文件:
|
||||
|
||||
```bash
|
||||
# 示例:分析 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](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/profile_template.md) | 竞品分析报告模板 |
|
||||
| [references/analysis_checklist.md](references/analysis_checklist.md) | 分析前/中/后检查清单 |
|
||||
|
||||
**关键要求**:
|
||||
1. 顶部必须标注数据来源路径和 commit hash
|
||||
2. 每个技术细节必须有 (来源: 文件:行号)
|
||||
3. 引用 README 内容必须标注行号
|
||||
4. 无法验证的标记为"待验证"并说明原因
|
||||
5. 分析完成后运行检查清单中的验证命令
|
||||
|
||||
---
|
||||
|
||||
## 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. 混合事实和推测
|
||||
|
||||
❌ 错误:
|
||||
```markdown
|
||||
## 技术栈
|
||||
- Electron (推测基于桌面应用特征)
|
||||
- 可能使用了 React
|
||||
```
|
||||
|
||||
✅ 正确:
|
||||
```markdown
|
||||
## 技术栈 (来源: package.json)
|
||||
| 依赖 | 版本 | 来源 |
|
||||
|------|------|------|
|
||||
| electron | 36.9.5 | package.json:68 |
|
||||
| react | 19.1.0 | package.json:96 |
|
||||
```
|
||||
|
||||
### 3. 使用过时信息
|
||||
|
||||
❌ 错误: 分析时不检查 git log,使用过时的代码
|
||||
✅ 正确: 分析前运行 `git pull`,记录分析时的 commit hash
|
||||
|
||||
### 4. 对比表中竞品数据无来源
|
||||
|
||||
❌ 错误:
|
||||
```markdown
|
||||
| 维度 | 竞品 | 我们 |
|
||||
|------|------|------|
|
||||
| 支持语言 | 25种 | 58种 |
|
||||
```
|
||||
|
||||
✅ 正确:
|
||||
```markdown
|
||||
| 维度 | 竞品 | 来源 | 我们 |
|
||||
|------|------|------|------|
|
||||
| 支持语言 | 25种 | modelRegistryData.json:9-35 | 58种 (FunASR 官方文档) |
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Scripts
|
||||
|
||||
See [scripts/update-competitors.sh](scripts/update-competitors.sh) for repository management.
|
||||
|
||||
```bash
|
||||
./scripts/update-competitors.sh clone # 克隆所有竞品
|
||||
./scripts/update-competitors.sh pull # 更新所有竞品
|
||||
./scripts/update-competitors.sh status # 检查状态
|
||||
```
|
||||
137
competitors-analysis/references/analysis_checklist.md
Normal file
137
competitors-analysis/references/analysis_checklist.md
Normal file
@@ -0,0 +1,137 @@
|
||||
# 竞品分析检查清单
|
||||
|
||||
## 分析前检查 (Pre-Analysis)
|
||||
|
||||
### 1. 仓库准备
|
||||
- [ ] 仓库 URL 是否正确?
|
||||
- [ ] 已创建产品竞品目录 `~/Workspace/competitors/{product}/`
|
||||
- [ ] 已成功克隆仓库到本地
|
||||
- [ ] 运行 `git pull` 确保代码最新
|
||||
- [ ] 记录当前 commit: `git log -1 --format="%h %s"`
|
||||
|
||||
### 2. 基础文件确认
|
||||
- [ ] README.md 存在且可读
|
||||
- [ ] 配置文件存在 (package.json / Cargo.toml / pyproject.toml)
|
||||
- [ ] LICENSE 文件存在
|
||||
- [ ] 源码目录结构清晰 (src/ 或等效目录)
|
||||
|
||||
---
|
||||
|
||||
## 分析中检查 (During Analysis)
|
||||
|
||||
### 3. 技术栈验证
|
||||
- [ ] 框架版本来自配置文件,已标注行号
|
||||
- [ ] 依赖列表来自配置文件,已标注行号
|
||||
- [ ] 入口文件已确认并读取
|
||||
|
||||
### 4. 核心模块分析
|
||||
- [ ] 已识别核心模块/helper 文件
|
||||
- [ ] 已读取关键实现代码
|
||||
- [ ] 代码片段标注了文件路径和行号
|
||||
|
||||
### 5. 来源标注
|
||||
- [ ] 每个版本号都有 (来源: file:行号)
|
||||
- [ ] 每个技术细节都有来源
|
||||
- [ ] 引用 README 内容标注了行号
|
||||
- [ ] 对比表中竞品数据都有来源列
|
||||
|
||||
---
|
||||
|
||||
## 分析后检查 (Post-Analysis)
|
||||
|
||||
### 6. 禁止词汇检查
|
||||
在分析文档中搜索以下词汇,如果存在必须修改或删除:
|
||||
|
||||
```bash
|
||||
grep -E "(推测|可能|应该|大概|似乎|或许|未知|未披露|未公开)" profile.md
|
||||
```
|
||||
|
||||
- [ ] 无"推测"
|
||||
- [ ] 无"可能"
|
||||
- [ ] 无"应该"
|
||||
- [ ] 无"大概"/"似乎"/"或许"
|
||||
- [ ] 无"未知"/"未披露"/"未公开" (改为"待验证"并说明原因)
|
||||
|
||||
### 7. 来源完整性检查
|
||||
|
||||
```bash
|
||||
# 检查是否有未标注来源的技术细节
|
||||
grep -E "^- |^\| " profile.md | grep -v "(来源:|待验证)"
|
||||
```
|
||||
|
||||
- [ ] 所有列表项都有来源或标记为待验证
|
||||
- [ ] 所有表格数据都有来源列
|
||||
|
||||
### 8. 文件引用验证
|
||||
确认分析中引用的文件确实存在:
|
||||
|
||||
```bash
|
||||
# 提取所有引用的文件路径
|
||||
grep -oE "[a-zA-Z0-9_/]+\.(js|ts|py|rs|json|toml|md):[0-9]+" profile.md
|
||||
```
|
||||
|
||||
- [ ] 所有引用的文件都存在于仓库中
|
||||
- [ ] 行号在文件范围内
|
||||
|
||||
---
|
||||
|
||||
## 常见错误修复
|
||||
|
||||
### 错误 1: 使用了推测性语言
|
||||
|
||||
**修复前**:
|
||||
```markdown
|
||||
## 架构设计(推测版)
|
||||
可能使用了微服务架构...
|
||||
```
|
||||
|
||||
**修复后**:
|
||||
```markdown
|
||||
## 架构设计 (来源: 代码结构分析)
|
||||
基于 src/ 目录结构,项目采用模块化设计:
|
||||
- helpers/ 包含 30 个工具模块 (来源: `ls src/helpers/ | wc -l`)
|
||||
- services/ 包含业务逻辑 (来源: 目录结构)
|
||||
```
|
||||
|
||||
### 错误 2: 对比表无来源
|
||||
|
||||
**修复前**:
|
||||
```markdown
|
||||
| 维度 | 竞品 | 我们 |
|
||||
|------|------|------|
|
||||
| Stars | 920 | 100 |
|
||||
```
|
||||
|
||||
**修复后**:
|
||||
```markdown
|
||||
| 维度 | 竞品 | 来源 | 我们 | 来源 |
|
||||
|------|------|------|------|------|
|
||||
| Stars | 920 | GitHub 2026-01-29 | 100 | GitHub 2026-01-29 |
|
||||
```
|
||||
|
||||
### 错误 3: 版本号无来源
|
||||
|
||||
**修复前**:
|
||||
```markdown
|
||||
使用 React 19 和 Electron 36
|
||||
```
|
||||
|
||||
**修复后**:
|
||||
```markdown
|
||||
使用 React 19.1.0 (package.json:96) 和 Electron 36.9.5 (package.json:68)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 质量评分
|
||||
|
||||
完成分析后,按以下标准自评:
|
||||
|
||||
| 维度 | 权重 | 评分标准 |
|
||||
|------|------|----------|
|
||||
| 数据来源 | 40% | 100% 技术细节有来源 = 满分 |
|
||||
| 无推测语言 | 30% | 0 个禁止词汇 = 满分 |
|
||||
| 代码分析深度 | 20% | 读取 5+ 核心文件 = 满分 |
|
||||
| 对比完整性 | 10% | 对比表 5+ 维度 = 满分 |
|
||||
|
||||
**目标**: 总分 >= 90%
|
||||
125
competitors-analysis/references/profile_template.md
Normal file
125
competitors-analysis/references/profile_template.md
Normal file
@@ -0,0 +1,125 @@
|
||||
# {Competitor Name} 深度分析
|
||||
|
||||
**仓库**: {GitHub URL}
|
||||
**版本**: {version} (来源: package.json:2)
|
||||
**License**: {license} (来源: LICENSE)
|
||||
**分析日期**: {YYYY-MM-DD}
|
||||
**分析 Commit**: {git log -1 --format="%h %s"}
|
||||
**数据来源**: `~/Workspace/competitors/{product}/{competitor}/`
|
||||
|
||||
---
|
||||
|
||||
## 分析声明
|
||||
|
||||
> 本分析基于本地克隆的代码仓库,所有技术细节均标注来源文件和行号。
|
||||
> 未标注来源的内容为"待验证"状态。
|
||||
|
||||
---
|
||||
|
||||
## 核心定位
|
||||
|
||||
> "{从 README.md 直接引用的描述}"
|
||||
>
|
||||
> — README.md:{行号}
|
||||
|
||||
---
|
||||
|
||||
## 技术栈 (来源: package.json / Cargo.toml / pyproject.toml)
|
||||
|
||||
| 依赖 | 版本 | 用途 | 来源 |
|
||||
|------|------|------|------|
|
||||
| {dep1} | {ver} | {用途} | package.json:{行号} |
|
||||
| {dep2} | {ver} | {用途} | package.json:{行号} |
|
||||
|
||||
---
|
||||
|
||||
## 项目结构 (来源: `ls -la`)
|
||||
|
||||
```
|
||||
{competitor}/
|
||||
├── {file1} # {说明} ({大小})
|
||||
├── {dir1}/
|
||||
│ ├── {file2} # {说明}
|
||||
│ └── ...
|
||||
└── ...
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 核心模块分析
|
||||
|
||||
### {模块名} (来源: {文件路径})
|
||||
|
||||
**文件**: `{path/to/file.js}`
|
||||
**行数**: {wc -l 结果}
|
||||
|
||||
**关键代码**:
|
||||
```javascript
|
||||
// {文件}:{起始行}-{结束行}
|
||||
{代码片段}
|
||||
```
|
||||
|
||||
**发现**:
|
||||
- {发现1} (行 {X})
|
||||
- {发现2} (行 {Y})
|
||||
|
||||
---
|
||||
|
||||
## 与 {你的产品} 对比
|
||||
|
||||
| 维度 | {竞品} | 来源 | {你的产品} | 来源 |
|
||||
|------|--------|------|------------|------|
|
||||
| **框架** | {value} | package.json:{行} | {value} | package.json:{行} |
|
||||
| **ASR 引擎** | {value} | {file}:{行} | {value} | {file}:{行} |
|
||||
| **数据库** | {value} | package.json:{行} | {value} | package.json:{行} |
|
||||
|
||||
---
|
||||
|
||||
## 可借鉴点
|
||||
|
||||
| 特性 | 实现位置 | 代码示例 | 借鉴价值 |
|
||||
|------|----------|----------|----------|
|
||||
| {特性1} | `{file}:{行号}` | `{简短代码}` | {价值说明} |
|
||||
| {特性2} | `{file}:{行号}` | `{简短代码}` | {价值说明} |
|
||||
|
||||
---
|
||||
|
||||
## 差异化机会
|
||||
|
||||
| {你的产品}优势 | 原因 | 竞品对应实现 |
|
||||
|----------------|------|--------------|
|
||||
| {优势1} | {原因} | {竞品如何实现或缺失} |
|
||||
| {优势2} | {原因} | {竞品如何实现或缺失} |
|
||||
|
||||
---
|
||||
|
||||
## 源码阅读记录
|
||||
|
||||
| 文件 | 行数 | 核心发现 | 来源行号 |
|
||||
|------|------|----------|----------|
|
||||
| `{file1}` | {lines} | {发现} | L{start}-L{end} |
|
||||
| `{file2}` | {lines} | {发现} | L{start}-L{end} |
|
||||
|
||||
---
|
||||
|
||||
## 待验证项
|
||||
|
||||
以下信息未能从代码中直接确认,需要进一步调查:
|
||||
|
||||
- [ ] {待验证项1} - 原因: {为什么无法确认}
|
||||
- [ ] {待验证项2} - 原因: {为什么无法确认}
|
||||
|
||||
---
|
||||
|
||||
## 社区数据 (来源: GitHub API / 页面)
|
||||
|
||||
| 指标 | 数值 | 获取日期 |
|
||||
|------|------|----------|
|
||||
| Stars | {count} | {date} |
|
||||
| Forks | {count} | {date} |
|
||||
| Open Issues | {count} | {date} |
|
||||
| Last Commit | {date} | {date} |
|
||||
|
||||
---
|
||||
|
||||
*返回 [README.md](../README.md)*
|
||||
151
competitors-analysis/scripts/update-competitors.sh
Executable file
151
competitors-analysis/scripts/update-competitors.sh
Executable file
@@ -0,0 +1,151 @@
|
||||
#!/bin/bash
|
||||
# 竞品仓库管理脚本模板
|
||||
# 复制此文件到你的项目: scripts/update-competitors.sh
|
||||
# 用法: ./scripts/update-competitors.sh [clone|pull|status]
|
||||
|
||||
set -e
|
||||
|
||||
# ============================================================
|
||||
# 配置区域 - 根据你的产品修改
|
||||
# ============================================================
|
||||
|
||||
# 竞品仓库基础目录(按产品区分)
|
||||
COMPETITORS_BASE="${COMPETITORS_BASE:-$HOME/Workspace/competitors}"
|
||||
|
||||
# 你的产品名称(用于子目录)
|
||||
PRODUCT_NAME="your-product-name" # TODO: 修改为你的产品名
|
||||
|
||||
# 竞品目录
|
||||
COMPETITORS_DIR="$COMPETITORS_BASE/$PRODUCT_NAME"
|
||||
|
||||
# 竞品仓库列表(SSH 方式,网络问题时会自动重试)
|
||||
declare -A COMPETITORS=(
|
||||
# TODO: 添加你的竞品
|
||||
# ["competitor-name"]="git@github.com:org/repo.git"
|
||||
# 示例:
|
||||
# ["openwhispr"]="git@github.com:OpenWhispr/openwhispr.git"
|
||||
)
|
||||
|
||||
# ============================================================
|
||||
# 以下代码无需修改
|
||||
# ============================================================
|
||||
|
||||
# 颜色
|
||||
GREEN='\033[0;32m'
|
||||
YELLOW='\033[1;33m'
|
||||
RED='\033[0;31m'
|
||||
NC='\033[0m'
|
||||
|
||||
# 函数:克隆仓库
|
||||
clone_repos() {
|
||||
echo -e "${GREEN}=== 克隆竞品仓库 ($PRODUCT_NAME) ===${NC}"
|
||||
mkdir -p "$COMPETITORS_DIR"
|
||||
|
||||
for name in "${!COMPETITORS[@]}"; do
|
||||
repo="${COMPETITORS[$name]}"
|
||||
target="$COMPETITORS_DIR/$name"
|
||||
|
||||
if [ -d "$target" ]; then
|
||||
echo -e "${YELLOW}[跳过] $name 已存在${NC}"
|
||||
else
|
||||
echo -e "${GREEN}[克隆] $name${NC}"
|
||||
# 网络问题自动重试
|
||||
for i in 1 2 3; do
|
||||
if git clone "$repo" "$target" 2>/dev/null; then
|
||||
break
|
||||
fi
|
||||
echo " 重试 $i/3..."
|
||||
sleep 2
|
||||
done
|
||||
fi
|
||||
done
|
||||
|
||||
echo ""
|
||||
echo -e "${GREEN}完成!竞品仓库位于: $COMPETITORS_DIR${NC}"
|
||||
}
|
||||
|
||||
# 函数:更新仓库
|
||||
pull_repos() {
|
||||
echo -e "${GREEN}=== 更新竞品仓库 ($PRODUCT_NAME) ===${NC}"
|
||||
|
||||
for name in "${!COMPETITORS[@]}"; do
|
||||
target="$COMPETITORS_DIR/$name"
|
||||
|
||||
if [ -d "$target" ]; then
|
||||
echo -e "${GREEN}[更新] $name${NC}"
|
||||
cd "$target"
|
||||
git fetch --all 2>/dev/null || echo -e "${RED} fetch 失败${NC}"
|
||||
git pull --rebase 2>/dev/null || echo -e "${YELLOW} 可能有冲突${NC}"
|
||||
cd - > /dev/null
|
||||
else
|
||||
echo -e "${RED}[缺失] $name - 请先运行 clone${NC}"
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
# 函数:检查状态
|
||||
check_status() {
|
||||
echo -e "${GREEN}=== 竞品仓库状态 ($PRODUCT_NAME) ===${NC}"
|
||||
echo ""
|
||||
|
||||
for name in "${!COMPETITORS[@]}"; do
|
||||
target="$COMPETITORS_DIR/$name"
|
||||
|
||||
if [ -d "$target" ]; then
|
||||
cd "$target"
|
||||
branch=$(git branch --show-current 2>/dev/null || echo "unknown")
|
||||
commit=$(git log -1 --format="%h %s" 2>/dev/null | head -c 60)
|
||||
behind=$(git rev-list --count HEAD..origin/main 2>/dev/null || echo "?")
|
||||
echo -e "${GREEN}$name${NC} ($branch)"
|
||||
echo " 最新: $commit"
|
||||
echo " 落后: $behind 个提交"
|
||||
cd - > /dev/null
|
||||
else
|
||||
echo -e "${RED}$name${NC}: 未克隆"
|
||||
fi
|
||||
echo ""
|
||||
done
|
||||
}
|
||||
|
||||
# 函数:显示帮助
|
||||
show_help() {
|
||||
echo "竞品仓库管理脚本 - $PRODUCT_NAME"
|
||||
echo ""
|
||||
echo "用法: $0 [命令]"
|
||||
echo ""
|
||||
echo "命令:"
|
||||
echo " clone 克隆所有竞品仓库到 $COMPETITORS_DIR"
|
||||
echo " pull 更新所有竞品仓库"
|
||||
echo " status 检查仓库状态(分支、最新提交、落后数)"
|
||||
echo " help 显示此帮助"
|
||||
echo ""
|
||||
echo "环境变量:"
|
||||
echo " COMPETITORS_BASE 竞品仓库基础目录 (默认: ~/Workspace/competitors)"
|
||||
echo ""
|
||||
echo "目录结构:"
|
||||
echo " $COMPETITORS_BASE/"
|
||||
echo " └── $PRODUCT_NAME/"
|
||||
echo " ├── competitor1/"
|
||||
echo " └── competitor2/"
|
||||
}
|
||||
|
||||
# 主逻辑
|
||||
case "${1:-help}" in
|
||||
clone)
|
||||
clone_repos
|
||||
;;
|
||||
pull)
|
||||
pull_repos
|
||||
;;
|
||||
status)
|
||||
check_status
|
||||
;;
|
||||
help|--help|-h)
|
||||
show_help
|
||||
;;
|
||||
*)
|
||||
echo -e "${RED}未知命令: $1${NC}"
|
||||
show_help
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
Reference in New Issue
Block a user