install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/concept-validation" ~/.claude/skills/majiayu000-claude-skill-registry-concept-validation && rm -rf "$T"
manifest:
skills/data/concept-validation/SKILL.mdsource content
Skill: Concept Validation
概念驗證技能 - 確保研究概念具有新穎性和結構完整性
觸發條件
| 用戶說法 | 觸發 |
|---|---|
| 驗證、validate、check concept | ✅ |
| novelty、新穎性、原創性 | ✅ |
| 可以開始寫了嗎?ready to write? | ✅ |
| wikilink 格式、引用格式 | ✅ |
⚠️ 核心規則
撰寫前必須通過驗證
❌ 錯誤:直接呼叫 write_draft() 或 draft_section() ✅ 正確:先 validate_concept() → 通過 → 再寫
Novelty 評分標準
| 分數 | 狀態 | 行動 |
|---|---|---|
| ≥ 75 | ✅ 通過 | 可以開始撰寫 |
| 60-74 | ⚠️ 邊緣 | 建議加強 novelty statement |
| < 60 | ❌ 失敗 | 必須修改 concept |
驗證三輪制
驗證會執行 3 輪獨立評分,取平均:
- 第 1 輪:結構評估
- 第 2 輪:新穎性評估
- 第 3 輪:可行性評估
目的:避免單次評分的偏差。
可用 MCP Tools
1️⃣ validate_concept ⭐ 主要工具
用途:完整驗證 concept.md(含 novelty 評分)
參數:
filename: str # 檔案路徑(必填,通常是 "concept.md") project: str # 專案 slug(選填) run_novelty_check: bool # 是否執行 novelty 評分(預設 True) target_section: str # 目標章節(選填,用於章節特定驗證)
呼叫範例:
# 完整驗證 mcp_mdpaper_validate_concept(filename="concept.md") # 為特定章節驗證 mcp_mdpaper_validate_concept( filename="concept.md", target_section="Introduction" )
回應格式:
📋 **Concept Validation Report** ## Structure Check ✅ Title: Present ✅ NOVELTY STATEMENT: Present ✅ Background: Present ✅ Research Gap: Present ... ## Novelty Scoring (3 rounds) | Round | Score | Verdict | |-------|-------|---------| | 1 | 78 | PASS | | 2 | 82 | PASS | | 3 | 75 | PASS | | **Average** | **78.3** | **✅ PASS** | ## Verdict ✅ **CAN PROCEED TO DRAFTING**
2️⃣ validate_concept_quick
用途:快速結構檢查(不呼叫 LLM)
參數:
filename: str # 檔案路徑(必填) project: str # 專案 slug(選填)
什麼時候用:
- 編輯 concept 過程中快速檢查結構
- 不需要 novelty 評分時
- 想節省 API 呼叫時
呼叫範例:
mcp_mdpaper_validate_concept_quick(filename="concept.md")
3️⃣ validate_for_section ⭐ 推薦
用途:檢查是否可以撰寫特定章節
參數:
section: str # 目標章節(必填) project: str # 專案 slug(選填)
章節特定需求:
| 章節 | 必須有 | 建議有 |
|---|---|---|
| Introduction | NOVELTY + Background + Research Gap | - |
| Methods | - | Study Design |
| Results | Basic structure | - |
| Discussion | KEY SELLING POINTS | Limitations |
呼叫範例:
# 寫 Introduction 前 mcp_mdpaper_validate_for_section(section="Introduction") # 寫 Discussion 前 mcp_mdpaper_validate_for_section(section="Discussion")
回應格式:
✅ **CAN WRITE: Introduction** Required sections present: - ✅ NOVELTY STATEMENT - ✅ Background - ✅ Research Gap 💡 Recommendations: - Consider adding: Study Population details
4️⃣ validate_wikilinks
用途:驗證並修復 wikilink 格式
參數:
filename: str # 檔案路徑(必填) project: str # 專案 slug(選填) auto_fix: bool # 是否自動修復(預設 True)
正確格式:
[[author2024_12345678]]
常見問題:
| 錯誤格式 | 修復為 |
|---|---|
| |
| |
| |
呼叫範例:
mcp_mdpaper_validate_wikilinks( filename="concept.md", auto_fix=True )
標準工作流程
流程 A:首次驗證 Concept
graph TD A[編輯 concept.md] --> B[validate_concept] B --> C{Novelty ≥ 75?} C -->|是| D[✅ 可以開始寫] C -->|否| E[修改 NOVELTY STATEMENT] E --> B
步驟:
- 用戶完成 concept.md 編輯
- 呼叫
validate_concept(filename="concept.md") - 檢查 novelty 分數
- 如果 < 75,請用戶修改後重新驗證
流程 B:章節特定驗證
# 1. 用戶說:「我想寫 Introduction」 # 2. 先驗證 result = mcp_mdpaper_validate_for_section(section="Introduction") # 3. 如果 CAN WRITE if "✅ CAN WRITE" in result: # 可以呼叫 draft_section mcp_mdpaper_draft_section(topic="Introduction", notes="...") else: # 告知用戶缺少什麼 print(result)
流程 C:Wikilink 格式修復
# 1. 驗證並自動修復 mcp_mdpaper_validate_wikilinks( filename="concept.md", auto_fix=True ) # 2. 如果有問題無法自動修復,告知用戶
不同 Paper Type 的驗證規則
original-research(標準研究論文)
| 區塊 | 必須 | 檢查項目 |
|---|---|---|
| NOVELTY STATEMENT | ✅ | 明確聲明、有數據支持 |
| Background | ✅ | 有引用文獻 |
| Research Gap | ✅ | 明確指出現有研究的不足 |
| Study Design | ✅ | 研究方法描述 |
| KEY SELLING POINTS | ✅ | 主要發現和貢獻 |
systematic-review / meta-analysis
額外要求:
- PRISMA checklist 項目
- 搜尋策略描述
- 納入/排除標準
case-report
額外要求:
- Case timeline
- 病人同意聲明
letter
最低要求:
- 主要論點
- 簡短 novelty 聲明
犀利回饋模式(給用戶的反饋)
⚠️ 核心原則
像頂尖 Reviewer 一樣犀利,但給選項!
| 情況 | 回饋方式 |
|---|---|
| 聲稱「首次」但沒證據 | 「您聲稱『首次』,但沒有 PubMed 搜尋證據。Reviewer 會問:『搜尋策略是什麼?』」 |
| 模糊量化 | 「使用『更好』但沒數字。Reviewer 會問:『好多少?臨床意義?』」 |
| 引用但沒說限制 | 「引用了文獻但沒說它的限制。Reviewer 會問:『你的貢獻在哪?』」 |
犀利但不是討好
❌ 錯誤:「您的 concept 很好喔~只是有一點點小問題...」 ✅ 正確:「Novelty score 68/100。問題:NOVELTY STATEMENT 缺乏具體數據。 Reviewer 會問:『相比現有方法,你的優勢是什麼?具體提升多少?』 建議:加入 "compared to [existing method], our approach improves X by Y%"」
給選項不是自作主張
❌ 錯誤:自動修改用戶的 NOVELTY STATEMENT ✅ 正確:「發現問題後問用戶: 1. 直接寫?(接受目前 novelty) 2. 修正問題?(我給具體建議) 3. 用 CGU 工具發想?(deep_think / spark_collision)」
與其他 Skills 的關係
| 相關 Skill | 關係 |
|---|---|
| concept-development | 先發展 concept → 再驗證 |
| draft-writing | 驗證通過後才能寫草稿 |
| literature-review | 驗證需要文獻支持 |
常見問題
Q: Novelty score 一直過不了怎麼辦?
A:
- 檢查 NOVELTY STATEMENT 是否有具體數據
- 確認有引用文獻支持「現有方法的限制」
- 用 CGU 工具(
,deep_think
)發想更強的論點spark_collision - 或降低期望(某些研究確實 novelty 較低,但仍有價值)
Q: 為什麼要三輪驗證?
A: 單次 LLM 評分可能有偏差。三輪取平均可以:
- 減少隨機波動
- 獲得更穩定的分數
- 如果三輪差異大,表示 concept 本身有模糊之處
Q: validate_for_section vs validate_concept?
A:
:只檢查特定章節需要的部分,較快validate_for_section
:完整檢查所有項目,較慢但全面validate_concept
建議:先用
validate_concept 確認整體,之後用 validate_for_section 做增量檢查。
Q: Wikilink 格式為什麼重要?
A: 正確的 wikilink 格式
[[author2024_12345678]] 可以:
- 在 VS Code Foam 中自動連結
- 匯出 Word 時正確轉換為引用
- sync_references 時正確生成 References 清單