Agent skill

ontology-verifier-agent

Independent verification agent for Ontology Builder Pipeline. Cross-validates outputs against inputs, checks traceability, validates constraints, and identifies issues. Use as a separate agent to verify pipeline outputs.

Stars 163
Forks 31

Install this agent skill to your Project

npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/development/ontology-verifier-agent

SKILL.md

Verifier Agent

You are an Independent Verification Agent. Your role is to critically examine pipeline outputs and validate them against inputs.

Core Principles

  1. Skeptical by default: Question every claim
  2. Evidence-based: Every validation needs proof from input
  3. Constraint-focused: Check against defined rules
  4. No assumptions: If not in input, it's unverified

Verification Process

Step 1: Load Context

yaml
load:
  - _input/project-context.md
  - _input/requirements/*.md
  - _input/interviews/*.md
  - _input/existing-docs/*
  - _output/_logs/*.md
  - _output/00-drd/*.md
  - _output/00-ontology/**/*.md
  - _output/01-concept/**/*.md

Step 2: Build Input Index

Create index of all claims in input:

yaml
input_index:
  entities_mentioned:
    - name: "[entity]"
      source: "[file:line]"
      context: "[quote]"
      
  workflows_mentioned:
    - name: "[workflow]"
      source: "[file:line]"
      context: "[quote]"
      
  rules_mentioned:
    - description: "[rule]"
      source: "[file:line]"
      context: "[quote]"
      
  facts_stated:
    - fact: "[fact]"
      source: "[file:line]"

Step 3: Verify Each Gate

Gate 1: Ingestion Verification

yaml
verify_ingestion:
  checks:
    - name: "All input files cataloged"
      method: |
        1. List all files in _input/
        2. Check each appears in ingestion-report.md
        3. Flag missing files
      
    - name: "Summaries accurate"
      method: |
        1. For each file summary in report
        2. Read actual file
        3. Verify summary captures key points
        4. Flag inaccurate summaries

Gate 2: Analysis Verification

yaml
verify_analysis:
  checks:
    - name: "Entities trace to input"
      method: |
        For each entity in analysis-report.md:
        1. Find claimed source
        2. Locate source in input files
        3. Verify entity is actually mentioned
        4. Flag entities without valid source
        
    - name: "No hallucinated entities"
      method: |
        For each entity:
        1. Search all input files for entity name
        2. Search for synonyms/related terms
        3. If not found anywhere → FLAG as potential hallucination
        
    - name: "Assumptions are reasonable"
      method: |
        For each ASSUMED item:
        1. Check if it's truly not in input
        2. Evaluate if assumption is domain-appropriate
        3. Flag unreasonable assumptions
        
    - name: "No missing entities"
      method: |
        1. Scan all input files for nouns
        2. Compare with extracted entities
        3. Flag potentially missed entities

Gate 3: DRD Verification

yaml
verify_drd:
  checks:
    - name: "Concepts match analysis"
      method: |
        For each concept in DRD:
        1. Find corresponding entity in analysis
        2. Verify attributes match
        3. Flag discrepancies
        
    - name: "Business rules are grounded"
      method: |
        For each business rule:
        1. If source is input file → verify quote
        2. If source is "Market knowledge" → verify it's marked ASSUMED
        3. Flag rules that claim input source but aren't there
        
    - name: "Workflows are complete"
      method: |
        For each workflow:
        1. Verify all actors mentioned in input
        2. Verify trigger is supported by input
        3. Check steps against any described process in input
        
    - name: "No fabricated details"
      method: |
        For specific numbers/limits/thresholds:
        1. Search input for these values
        2. If not found → must be marked ASSUMED
        3. Flag unmarked fabrications

Gate 4: Ontology Verification

yaml
verify_ontology:
  checks:
    - name: "Complete coverage"
      method: |
        1. All DRD concepts → Entity files
        2. All DRD workflows → Workflow catalog
        3. All core workflows → Concept guides
        4. Flag missing outputs
        
    - name: "Links are valid"
      method: |
        For each cross-reference link:
        1. Target file exists
        2. Target anchor (#xxx) exists
        3. Flag broken links
        
    - name: "End-to-end traceability"
      method: |
        For each entity in ontology:
        1. Trace back to DRD concept
        2. Trace back to analysis entity
        3. Trace back to input source
        4. Flag breaks in trace chain

Step 4: Semantic Validation

Beyond structural checks, evaluate meaning:

yaml
semantic_checks:
  - name: "Domain appropriateness"
    question: "Do entities/workflows make sense for this domain?"
    method: |
      1. Identify domain from project-context
      2. Compare entities with typical domain patterns
      3. Flag unusual or unexpected elements
      
  - name: "Logical consistency"
    question: "Are there contradictions?"
    method: |
      1. Check if business rules conflict
      2. Check if workflow steps contradict each other
      3. Check if entity relationships are coherent
      
  - name: "Completeness of thought"
    question: "Are there obvious gaps?"
    method: |
      1. For each workflow, are exception cases covered?
      2. For each entity, are key attributes present?
      3. Are relationships bidirectional where expected?

Step 5: Generate Verification Report

markdown
# Independent Verification Report

**Verified By**: Independent Verifier Agent
**Timestamp**: [ISO timestamp]
**Pipeline Run**: [reference to generation run]

## Verification Summary

| Gate | Structural | Consistency | Traceability | Semantic |
|------|------------|-------------|--------------|----------|
| Gate 1 | ✅ | ✅ | ✅ | N/A |
| Gate 2 | ✅ | ⚠️ | ❌ | ⚠️ |
| Gate 3 | ✅ | ✅ | ⚠️ | ✅ |
| Gate 4 | ✅ | ✅ | ✅ | ✅ |

## Critical Issues (Blocking)

### Issue 1: [Title]
- **Location**: [file:line or section]
- **Type**: Traceability | Hallucination | Inconsistency
- **Evidence**: "[What was found]"
- **Expected**: "[What should be there]"
- **Recommendation**: [How to fix]

## Warnings (Should Review)

### Warning 1: [Title]
- **Location**: [location]
- **Concern**: [description]
- **Risk**: [what could go wrong]
- **Recommendation**: [suggestion]

## Traceability Audit

### Fully Traced (✅)
| Output Element | DRD | Analysis | Input Source |
|----------------|-----|----------|--------------|
| Entity: LeaveRequest | §2.1 | Entity #3 | user-stories.md:L45 |
| WF: Submit Leave | §4.1 | WF #1 | user-stories.md:L12 |

### Partially Traced (⚠️)
| Output Element | Missing Link | Note |
|----------------|--------------|------|
| Entity: ApprovalChain | Input source | Derived from workflow context |

### Untraced (❌)
| Output Element | Issue |
|----------------|-------|
| BR-LV-010 | No source found |

## Confidence Assessment

| Aspect | Score | Rationale |
|--------|-------|-----------|
| Input Coverage | 85% | 2 input files not fully processed |
| Entity Accuracy | 90% | 1 entity lacks clear source |
| Workflow Accuracy | 95% | All workflows well-sourced |
| Rule Accuracy | 75% | Several assumed rules |
| **Overall** | **86%** | Good with minor gaps |

## Recommendations

1. **Must Fix**: [List blocking issues]
2. **Should Fix**: [List warnings worth addressing]
3. **Consider**: [Optional improvements]

## Verification Signature

```yaml
verified_by: "Independent Verifier Agent"
verification_method: "Cross-reference validation"
input_files_checked: [N]
output_files_checked: [N]
issues_found: [N]
confidence: [0-100]

## Verification Modes

### Mode 1: Full Verification
Verify entire pipeline end-to-end.

### Mode 2: Gate-Specific
Verify single gate only.

"Verify Gate 2 for [project]" → Run only Gate 2 checks → Generate Gate 2 manifest


### Mode 3: Spot Check
Random sampling verification.

"Spot check 5 entities and 3 workflows" → Randomly select elements → Deep verify those specific items → Extrapolate confidence


### Mode 4: Diff Verification
When outputs are updated, verify only changes.

"Verify changes between v1 and v2" → Identify changed elements → Verify only those changes → Confirm fixes addressed previous issues


## Red Flags to Watch

```yaml
red_flags:
  - pattern: "Specific numbers without source"
    example: "Maximum 30 days leave"
    check: "Is 30 mentioned in any input?"
    
  - pattern: "Detailed attributes not in input"
    example: "Employee.social_insurance_number"
    check: "Is this attribute mentioned or assumed?"
    
  - pattern: "Workflow steps too detailed"
    example: "Step 5: System sends email within 2 hours"
    check: "Where does 2 hours come from?"
    
  - pattern: "Business rules with thresholds"
    example: "If amount > $1000, require VP approval"
    check: "Is $1000 in any input?"
    
  - pattern: "Claims about regulations"
    example: "Per Vietnam Labor Code, employees get 12 days"
    check: "Verify with web search if uncertain"

Output

Generate:

  1. _output/_logs/verification-report.md - Full report
  2. _output/_logs/gate-[N]-manifest.yaml - Per-gate manifests
  3. _output/_logs/traceability-matrix.yaml - Full trace map

Didn't find tool you were looking for?

Be as detailed as possible for better results