Skip to content
Back to skills

1430 Correlation Agent Fe8a74ac

ASecurity

Phase 4 orchestrator - Cross-validates signals and calculates confidence

  • 9 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 11, 2026
developmentjavascriptpythonrustgojavaphpreactangularnextjsfrontend

Security analysis

A100/100

Scanned October 11, 2026

npx -y skills add tools-only/X-Skills --skill 1430-correlation_agent_fe8a74ac --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of 1430 Correlation Agent Fe8a74ac?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for 1430 Correlation Agent Fe8a74ac
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/tools-only-1430-correlation-agent-fe8a74ac/badge)](https://www.skillsdirectory.com/skills/tools-only-1430-correlation-agent-fe8a74ac)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

SKILL.md
---
name: correlation-agent
description: Phase 4 orchestrator - Cross-validates signals and calculates confidence
tools: Read, Edit
model: inherit
phase: 4
hooks:
  PostToolUse:
    - matcher: "Edit"
      hooks:
        - type: command
          command: "../../hooks/skills/post_output_validation_hook.sh"
---

# Correlation Agent

## Purpose

Phase 4 orchestrator responsible for cross-validating signals from multiple sources and calculating confidence levels for each detected technology.

## Responsibilities

1. **Signal Correlation**: Check consistency across multiple sources
2. **Confidence Scoring**: Calculate confidence based on signal strength
3. **Conflict Resolution**: Handle contradictory signals with context

## Skills Orchestrated

Execute in sequence:
1. `signal_correlator` - Cross-validate signals from different sources
2. `confidence_scorer` - Calculate confidence levels
3. `conflict_resolver` - Handle contradictory signals

## Input

Inferred technologies from Phase 3:
```json
{
  "inferred_technologies": {
    "frontend": [...],
    "backend": [...],
    "infrastructure": [...],
    "security": [...],
    "devops": [...],
    "third_party": [...]
  }
}
```

## Output

Correlated technologies with confidence scores:
```json
{
  "phase": 4,
  "company": "string",
  "correlated_technologies": {
    "frontend": [
      {
        "name": "React",
        "category": "JavaScript Framework",
        "version": "18.x (estimated)",
        "confidence": "High",
        "confidence_score": 85,
        "confidence_breakdown": {
          "base_score": 55,
          "source_diversity_bonus": 1.2,
          "conflict_penalty": 0,
          "final_score": 85
        },
        "signals": [...],
        "sources": ["http_header", "javascript_global", "dom_attribute"],
        "reasoning": "Multiple independent signals confirm React usage: window.React global, data-reactroot attribute, and /_next/ paths suggesting Next.js (implies React)"
      }
    ],
    "backend": [...],
    "infrastructure": [...],
    "security": [...],
    "devops": [...],
    "third_party": [...]
  },
  "conflicts_detected": [
    {
      "technologies": ["WordPress", "React"],
      "context": "blog.example.com uses WordPress, app.example.com uses React",
      "resolution": "subdomain_differentiation",
      "resolved": true
    }
  ],
  "low_confidence_items": [
    {
      "technology": "Redis",
      "confidence_score": 25,
      "reason": "Single signal from job posting only",
      "recommendation": "Requires additional validation"
    }
  ],
  "timestamp": "ISO-8601"
}
```

## Confidence Scoring Algorithm

```python
def calculate_confidence(signals):
    # Calculate base score from signal weights
    base_score = sum(signal.weight for signal in signals)

    # Bonus for multiple independent sources
    source_types = set(s.source_type for s in signals)
    if len(source_types) >= 3:
        multiplier = 1.2  # 20% bonus for 3+ sources
    elif len(source_types) >= 2:
        multiplier = 1.1  # 10% bonus for 2 sources
    else:
        multiplier = 1.0  # No bonus for single source

    # Apply source diversity bonus
    adjusted_score = base_score * multiplier

    # Penalty for conflicts
    if has_conflicts(signals):
        adjusted_score *= 0.7  # 30% penalty

    # Cap at 100
    final_score = min(adjusted_score, 100)

    # Map to confidence level
    if final_score >= 80:
        return "High", final_score
    elif final_score >= 50:
        return "Medium", final_score
    else:
        return "Low", final_score
```

## Confidence Level Definitions

### High (80-100%)
- 3+ independent signals from different sources
- No conflicting evidence
- Explicit identifier (header, meta tag, DNS record)

### Medium (50-79%)
- 2 signals or 1 strong signal
- Minimal conflicts
- Indirect indicators with supporting evidence

### Low (20-49%)
- Single weak signal
- Conflicting or ambiguous evidence
- Inference from job postings only

## Conflict Resolution Strategies

1. **Subdomain Differentiation**: Different subdomains may use different tech
   - Example: blog uses WordPress, app uses React
   - Resolution: List both with subdomain context

2. **Temporal Context**: Old vs current tech (migration in progress)
   - Example: Archive shows Angular, current shows React
   - Resolution: Note migration, report current as primary

3. **Signal Strength Hierarchy**: Headers > Job posts > Historical
   - Example: Header says PHP, job post says Python
   - Resolution: Trust header, note discrepancy

4. **Unresolvable Conflicts**: Report both with explanations
   - Example: Conflicting headers from different endpoints
   - Resolution: List both, flag for manual review

## Execution Flow

```
INPUT: Inferred Technologies
         │
         ▼
  signal_correlator
    │ - Group signals by technology
    │ - Identify overlapping sources
    │ - Flag conflicts
         │
         ▼
  confidence_scorer
    │ - Calculate base scores
    │ - Apply diversity bonuses
    │ - Apply conflict penalties
    │ - Assign confidence levels
         │
         ▼
  conflict_resolver
    │ - Analyze conflicts
    │ - Apply resolution strategies
    │ - Document reasoning
         │
         ▼
OUTPUT: Correlated Technologies JSON
```

## Error Handling

- If correlation fails, pass through with Low confidence
- Log all unresolved conflicts for manual review
- Never discard technologies - only adjust confidence
- Preserve all evidence for auditability

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.