Skip to content
Back to skills

320 Data Collection Agent 832f4fe0

ASecurity

Phase 2 orchestrator - Gathers technical signals from discovered assets

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

Works with

  • api

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned October 11, 2026

npx -y skills add tools-only/X-Skills --skill 320-data_collection_agent_832f4fe0 --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of 320 Data Collection Agent 832f4fe0?

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

Security grade badge for 320 Data Collection Agent 832f4fe0
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/tools-only-320-data-collection-agent-832f4fe0/badge)](https://www.skillsdirectory.com/skills/tools-only-320-data-collection-agent-832f4fe0)

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

Download with Pro
SKILL.md
---
name: data-collection-agent
description: Phase 2 orchestrator - Gathers technical signals from discovered assets
tools: Bash, Read, WebFetch, Grep, Glob
model: inherit
phase: 2
hooks:
  PreToolUse:
    - matcher: "Bash"
      hooks:
        - type: command
          command: "../../hooks/skills/pre_network_skill_hook.sh"
        - type: command
          command: "../../hooks/skills/pre_osint_validation_hook.sh"
  PostToolUse:
    - matcher: "Bash"
      hooks:
        - type: command
          command: "../../hooks/skills/post_evidence_capture_hook.sh"
---

# Data Collection Agent

## Purpose

Phase 2 orchestrator responsible for gathering technical signals from all discovered assets through passive data collection techniques.

## Responsibilities

1. **HTTP Fingerprinting**: Collect headers, cookies, error pages for each asset
2. **DNS Intelligence**: Query all DNS record types (MX, TXT, NS, CNAME, SRV)
3. **TLS Analysis**: Extract certificate metadata, JARM/JA3 fingerprints
4. **JavaScript/DOM Analysis**: Detect framework globals, bundle patterns
5. **HTML Content Analysis**: Parse meta tags, comments, script URLs
6. **Code Repository Intel**: Scan GitHub/GitLab for public repos
7. **Job Posting Analysis**: Extract tech requirements from career pages
8. **Web Archive Analysis**: Query Wayback Machine for historical snapshots

## Skills Orchestrated

Execute in parallel groups where possible:

**Group 1 (Parallel):**
- `http_fingerprinting`
- `dns_intelligence`
- `tls_certificate_analysis`

**Group 2 (Parallel):**
- `javascript_dom_analysis`
- `html_content_analysis`

**Group 3 (Parallel):**
- `code_repository_intel`
- `job_posting_analysis`
- `web_archive_analysis`

## Input

Asset inventory from Phase 1:
```json
{
  "company": "string",
  "primary_domain": "string",
  "discovered_assets": {
    "domains": ["array"],
    "subdomains": ["array"],
    "ip_addresses": ["array"],
    "api_portals": ["array"]
  }
}
```

## Output

Raw signals JSON organized by source type:
```json
{
  "phase": 2,
  "company": "string",
  "signals": {
    "http_signals": [
      {
        "url": "string",
        "headers": {"object"},
        "cookies": ["array"],
        "status_code": "number",
        "server_signature": "string"
      }
    ],
    "dns_signals": {
      "mx_records": ["array"],
      "txt_records": ["array"],
      "ns_records": ["array"],
      "cname_records": ["array"],
      "srv_records": ["array"]
    },
    "tls_signals": [
      {
        "domain": "string",
        "issuer": "string",
        "protocol": "string",
        "cipher": "string",
        "jarm_hash": "string"
      }
    ],
    "javascript_signals": [
      {
        "url": "string",
        "globals_detected": ["array"],
        "dom_attributes": ["array"],
        "bundle_patterns": ["array"]
      }
    ],
    "html_signals": [
      {
        "url": "string",
        "meta_tags": ["array"],
        "generator_comments": ["array"],
        "script_urls": ["array"]
      }
    ],
    "repository_signals": {
      "org_found": "boolean",
      "org_url": "string",
      "repositories": [
        {
          "name": "string",
          "languages": ["array"],
          "dependencies": ["array"],
          "ci_configs": ["array"]
        }
      ]
    },
    "job_signals": {
      "ats_platform": "string",
      "tech_mentions": [
        {
          "technology": "string",
          "frequency": "number",
          "context": "string"
        }
      ]
    },
    "archive_signals": {
      "snapshots_analyzed": "number",
      "historical_tech": [
        {
          "technology": "string",
          "first_seen": "date",
          "last_seen": "date"
        }
      ]
    }
  },
  "timestamp": "ISO-8601"
}
```

## Execution Flow

```
INPUT: Asset Inventory
         │
         ├─────────────────────────────────────┐
         │           GROUP 1 (Parallel)        │
         ├─► http_fingerprinting               │
         ├─► dns_intelligence                  │
         └─► tls_certificate_analysis          │
                       │                       │
         ├─────────────────────────────────────┤
         │           GROUP 2 (Parallel)        │
         ├─► javascript_dom_analysis           │
         └─► html_content_analysis             │
                       │                       │
         ├─────────────────────────────────────┤
         │           GROUP 3 (Parallel)        │
         ├─► code_repository_intel             │
         ├─► job_posting_analysis              │
         └─► web_archive_analysis              │
                       │
                       ▼
         OUTPUT: Raw Signals JSON
```

## Error Handling

- Continue collection even if some sources fail
- Log failed sources with error details
- Never block on a single failed request
- Aggregate partial results when available

## Rate Limiting

- HTTP requests: 30/minute per domain
- GitHub API: 60/hour (unauthenticated)
- Wayback Machine: 15/minute
- DNS queries: No hard limit, but 2s delay between batches

Files in this skill

  • README.md1 KB
  • skill.md5.3 KB

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…