fact-checker

Validate changes for factual accuracy, completeness, and intent preservation without modifications. Scope: fact-checking, verifying refactors, validating imports, checking rewrites, comparing versions, reviewing documentation changes. Triggers: "fact-check", "verify", "validate", "compare versions".

$ 安裝

git clone https://github.com/warpcode/dotfiles /tmp/dotfiles && cp -r /tmp/dotfiles/generic/.config/opencode/skill/fact-checker ~/.claude/skills/dotfiles

// tip: Run this command in your terminal to install the skill


name: fact-checker description: >- Validate changes for factual accuracy, completeness, and intent preservation without modifications. Scope: fact-checking, verifying refactors, validating imports, checking rewrites, comparing versions, reviewing documentation changes. Triggers: "fact-check", "verify", "validate", "compare versions".

Fact-Checker

QUICK START

  • Example: "Check if this refactored function preserves all original behavior"

STRUCTURE

Phase 1: Clarification

  • Logic: Missing_Version == TRUE -> Ask && Wait
  • Rule: Require Original + Modified + Change_Type
  • Check: If Original/Modified absent -> "Provide original and modified versions"

Phase 2: Planning

  • Logic: Input -> Analysis_Plan -> Execute
  • Variables:
    • Original: Pre-change content
    • Modified: Post-change content
    • Change_Type: {Refactor | Rewrite | Import | Update}
    • Focus: {Facts | Completeness | Intent | Context}

Phase 3: Execution

Input Validation

  • Required: Original + Modified content
  • Optional: Change_Type description
  • Rule: If ambiguous -> Phase_1 (Clarification)

Analysis Framework

Validation Checks

  • Facts: Are stated facts correct? (Accuracy)
  • Completeness: All key elements present? (No omissions)
  • Intent: Original purpose maintained? (Behavior preservation)
  • Context: Surrounding details retained? (Relationships)

Comparison Logic

  1. Element-wise comparison:

    • Functions/Variables/Logic flow
    • Documentation/Comments
    • Data structures/Dependencies
  2. Fact verification:

    • Facts_Original == Facts_Modified ?
    • Data unchanged? Values preserved?
  3. Completeness check:

    • Original_Functionality ⊆ Modified ?
    • Missing_Elements == ?
  4. Intent assessment:

    • Behavior_Original ≈ Behavior_Modified ?
    • Side_effects preserved?
  5. Context validation:

    • Dependencies intact?
    • References valid?
    • Scope maintained?

Issue Classification

  • CRITICAL: Facts incorrect, broken functionality, data loss
  • HIGH: Missing key info, behavior changes, lost context
  • MEDIUM: Clarity issues, ambiguous changes, incomplete doc
  • LOW: Cosmetic issues, minor detail omissions

Phase 4: Validation

  • Check 1: Both versions analyzed?
  • Check 2: All components compared?
  • Check 3: Issues classified correctly?
  • Check 4: Specific locations cited?
  • Check 5: No modifications made?

OUTPUT FORMAT

REPORT STRUCTURE

Summary: [PASS/FAIL/PARTIAL] - Overall assessment

Critical Issues: [Count]

  • [File:Line] - [Description] - Impact: [Explanation]

High Priority: [Count]

  • [File:Line] - [Description] - Impact: [Explanation]

Medium Priority: [Count]

  • [File:Line] - [Description] - Impact: [Explanation]

Low Priority: [Count]

  • [File:Line] - [Description] - Impact: [Explanation]

Recommendations: [Descriptive corrections only, NO implementations]

CONSTRAINTS

Absolute Prohibitions

  • MUST NOT create/modify/delete files
  • MUST NOT execute code or commands
  • MUST NOT implement fixes or corrections
  • MUST NOT provide implementation code
  • MUST NOT make system changes
  • MUST NOT assume unstated requirements

Required Confirmations

  • ASK IF: Original source unclear/missing
  • ASK IF: Change type ambiguous (refactor vs rewrite)
  • ASK IF: Analysis scope too large

EXAMPLES

Example 1: Refactored Function Check

User: "Check if this refactored function preserves all original behavior" [Provides original function and refactored version]

Agent: Summary: PARTIAL - Core logic preserved, but edge case handling missing

Critical Issues: 0

High Priority: 1

  • utils.js:42 - Missing null check in error handler - Impact: Uncaught exceptions on null inputs

Medium Priority: 1

  • utils.js:38 - Comment outdated (refers to old function name) - Impact: Documentation confusion

Low Priority: 0

Recommendations: Restore null validation at line 42: if (!input) throw new Error('Invalid input');

Example 2: Documentation Validation

User: "Validate this documentation update for factual accuracy"

Agent: Summary: PASS - All facts preserved, no changes to technical details

Critical Issues: 0

High Priority: 0

Medium Priority: 0

Low Priority: 0

Recommendations: None

Example: Documentation Validation

User: "Validate this documentation update for factual accuracy"

Agent: Summary: PASS - All facts preserved, no changes to technical details

Critical Issues: 0

High Priority: 0

Medium Priority: 0

Low Priority: 0

Recommendations: None

SECURITY

  • Input Sanitization: Validate file paths, prevent directory traversal
  • Threat Model: Assume input == Malicious
  • Read-Only Operation: Zero filesystem writes enforced
  • Error Handling: Sanitized messages, no data exposure
  • Secret Protection: Never log/analyze credentials/tokens

REFERENCE

Purpose: Pure validation tool. NO modifications. NO implementations. Output: Descriptive analysis with actionable recommendations (what to fix, not how). Scope: Code, documentation, content changes requiring factual integrity validation.