How to Validate if a Skill Passes All Three Verification Criteria in Cangjie-Skill
A skill passes all three verification criteria only when it satisfies V1 (cross-domain evidence), V2 (predictive power), and V3 (author exclusivity) simultaneously; any failure demotes the candidate to rejected status.
The Cangjie-Skill project uses a rigorous triple-verification process to ensure only high-quality, author-specific insights become independent skills. According to methodology/03-stage1.5-triple-verify.md, each candidate unit extracted from a source book must withstand three distinct tests before earning verified.md status.
The Three Verification Criteria (V1, V2, V3)
V1 – Cross-Domain Verification (跨域验证)
V1 checks whether the unit appears in at least two distinct contexts within the source material. A "distinct context" means separate chapters, stories, or objects that independently illustrate the same underlying principle.
- Pass condition: Two or more separate passages provide concrete evidence
- Fail condition: Only one context exists, or multiple references are essentially the same example repeated
In methodology/03-stage1.5-triple-verify.md#V1-跨域验证, this prevents surface-level patterns from being mistaken for deep structural insights.
V2 – Predictive Power Test (预测力测试)
V2 evaluates whether the unit can answer a novel question the book never explicitly addresses. The evaluator designs a new scenario, applies the candidate unit, and checks if a meaningful, non-trivial answer emerges.
- Pass condition: The unit derives a sensible, actionable answer to a previously unaddressed problem
- Fail condition: The application produces trivial, circular, or nonsensical results
This test, documented in methodology/03-stage1.5-triple-verify.md#V2-预测力测试, ensures skills have genuine extrapolative utility beyond their original context.
V3 – Exclusivity Check (独特性检验)
V3 demands the unit reflect the author's unique insight, not generic common-sense knowledge. If anyone with basic field knowledge could state it, the candidate fails.
- Pass condition: The unit expresses a distinctive, potentially counter-intuitive view specific to the author
- Fail condition: The statement is obvious, conventional wisdom, or widely known principles
Per methodology/03-stage1.5-triple-verify.md#V3-独特性检验, this criterion preserves the knowledge base's originality and prevents dilution with recycled ideas.
How the Verification Flow Executes
The complete validation process runs as an automated pipeline with optional human confirmation:
| Step | Action | Output Location |
|---|---|---|
| 1 | Merge all extractor outputs from books/<slug>/candidates/*.md |
Candidate pool |
| 2 | Deduplicate identical units found by different extractors | Reduced candidate set |
| 3 | Execute V1, V2, V3 sequentially with recorded rationale | Verification results |
| 4 | All pass → Promote to verified skill | books/<slug>/verified.md |
| 5 | Any fail → Reject with specific failure note | books/<slug>/rejected/<id>.md |
| 6 | Present summary to user for final keep/cut decision | Workflow continuation |
As stated in SKILL.md lines 98-105:
读取 methodology/03-stage1.5-triple-verify.md, 对每个候选单元执行:
- V1 跨域
- V2 预测力
- V3 独特性
Only units achieving passed: true in all three verification blocks proceed to verified.md.
Validated Skill Example: verified.md Structure
A properly verified skill contains explicit passing records for each criterion:
id: f01
title: 逆向思维
type: framework
V1_cross_domain:
passed: true
evidence:
- 第 3 讲: 投资决策场景
- 第 7 讲: 工程设计场景
- 第 11 讲: 教学方法场景
V2_predictive_power:
passed: true
novel_question: "如果面试官问我一个不知道答案的问题该怎么办?"
derived_answer: "逆问'我最不希望他认为我是什么样的人',从这个反面倒推应该展现什么"
V3_exclusivity:
passed: true
why_not_common: "常识是'要多想', 逆向思维是'优先反着想' — 这是反直觉的排序"
Notice that all three sections (V1_cross_domain, V2_predictive_power, V3_exclusivity) declare passed: true. Missing or false values in any section trigger rejection.
Programmatic Verification Check
Use this Python script to validate any candidate file against the triple-criteria requirement:
import yaml
import pathlib
def load_candidate(path):
"""Load a candidate or verified skill from YAML frontmatter."""
return yaml.safe_load(path.read_text(encoding='utf-8'))
def passes_all_verification(candidate):
"""
Check if candidate passes all three verification criteria.
Returns True only when V1_cross_domain, V2_predictive_power,
and V3_exclusivity all have passed: true.
"""
verification_keys = [
'V1_cross_domain',
'V2_predictive_power',
'V3_exclusivity'
]
return all(
candidate.get(v, {}).get('passed', False)
for v in verification_keys
)
# Example usage
candidate_path = pathlib.Path('books/example/verified.md')
candidate = load_candidate(candidate_path)
if passes_all_verification(candidate):
print(f"✅ {candidate['title']} passes all verification criteria")
else:
print(f"❌ {candidate['title']} fails verification")
The passes_all() function implements the strict conjunction logic: no partial credit. A candidate must satisfy V1 and V2 and V3 to return True.
Where Verification Results Are Stored
| File Path | Purpose |
|---|---|
methodology/03-stage1.5-triple-verify.md |
Complete specification of V1-V3 criteria and evaluation methodology |
SKILL.md |
Master workflow referencing the triple-verification stage |
books/<slug>/candidates/*.md |
Raw extractor outputs awaiting verification |
books/<slug>/verified.md |
Skills that passed all three criteria |
books/<slug>/rejected/<id>.md |
Failed candidates with explicit failure reasons per criterion |
Summary
- Triple-verification requires concurrent satisfaction of V1 (cross-domain evidence), V2 (predictive power), and V3 (author exclusivity)
- Strict conjunction: One failure demotes the candidate to
rejected/regardless of other passes - Source of truth:
methodology/03-stage1.5-triple-verify.mddefines all criteria;SKILL.mdorchestrates the workflow - Output destinations: Pass →
verified.md; Fail →rejected/<id>.mdwith diagnostic details - Programmatic check: Verify
passed: trueexists in all three YAML blocks (V1_cross_domain,V2_predictive_power,V3_exclusivity)
Frequently Asked Questions
What happens if a skill passes V1 and V2 but fails V3?
The candidate is rejected and written to books/<slug>/rejected/<id>.md with a note that V3 (exclusivity) failed. The Cangjie-Skill system requires all three criteria; partial passes receive no credit. The rejected unit may still serve as a glossary entry or counter-example in later stages.
Can the verification criteria be adjusted or customized per book?
The criteria are fixed by design in methodology/03-stage1.5-triple-verify.md to ensure consistency across the knowledge base. However, the evidence standards for each criterion can adapt to a book's structure—V1 might compare chapters in a textbook versus scenes in a narrative work, while maintaining the core requirement of two distinct contexts.
How does the system handle edge cases where V2 predictive power is ambiguous?
The methodology requires documented rationale for every V2 judgment. Evaluators must specify the exact novel question posed and the derived answer obtained. If multiple reviewers disagree on whether a derived answer is "sensible and non-trivial," the candidate defaults to rejected status pending human arbitration during the "keep or cut" confirmation step.
What's the difference between a candidate and a verified skill?
A candidate is any unit extracted by automated tools into books/<slug>/candidates/*.md—essentially a raw pattern with potential. A verified skill has survived triple-verification and resides in books/<slug>/verified.md with full V1-V3 documentation. The verification gate typically eliminates 60-80% of initial candidates based on empirical project patterns.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →