# Content Dna Batch

> Batch-analyze a set of videos with Content DNA, then aggregate into a Pattern Report showing dominant formats, top portable bricks, and adapted concepts for your niche. Use when running the weekly Monday Drop pipeline, analyzing a competitor's content library, or researching what's working in a niche. Takes a Virlo comet ID or list of URLs. Feeds into The Forge.

- Skill: `themattberman/content-dna-batch` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add themattberman/content-dna-batch`
- Raw SKILL.md: https://api.skillmd.com/api/skills/themattberman/content-dna-batch/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: DevOps & Infra
- Author: TheMattBerman (https://skillmd.com/u/themattberman)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/themattberman/content-dna-batch

---


# Content DNA Batch

Runs Content DNA on a batch of videos, then aggregates everything into a Pattern Report — what formats dominate, which bricks appear repeatedly, and the highest-portability adapted concepts for your niche.

This is what feeds The Forge in the Monday Drop pipeline.

## Usage

### From a Virlo comet (Monday Drop standard)
```bash
bash ~/clawd/skills/content-dna-batch/scripts/content-dna-batch.sh \
  --comet YOUR_COMET_ID \
  --niche "AI marketing"
```

### From a URL list file
```bash
bash ~/clawd/skills/content-dna-batch/scripts/content-dna-batch.sh \
  --urls /tmp/my-videos.json \
  --niche "AI marketing"
```

## What It Does

1. **Fetches video list** from Virlo (5 top outliers + 5 top performers) or from a URL list
2. **Runs content-dna** on all videos in parallel (4 concurrent by default)
3. **Caches results** by date — re-runs skip already-analyzed videos
4. **Aggregates** into Pattern Report:
   - Dominant formats across the batch
   - Dominant engagement types (debate, utility, inspiration, etc.)
   - Top portable bricks ranked by count × avg views
   - All adapted concepts consolidated
   - Run summary with attempted / succeeded / failed counts

If a few analyses fail, the batch still writes a degraded report and records the failed inputs.
If the success rate drops below the configured threshold, it writes the report and exits non-zero so upstream automation can stop before Forge.

## Output

**JSON:** `~/clawd/workspace/content-dna-batch/reports/pattern-report-YYYY-MM-DD.json`
**Markdown:** `~/clawd/workspace/content-dna-batch/reports/pattern-report-YYYY-MM-DD.md`

The Forge reads the Pattern Report markdown to generate 10 ready-to-post concepts.

## Pipeline Position

```
virlo (discovery)
    ↓
content-dna-batch (analysis)  ← YOU ARE HERE
    ↓
the-forge (production → 10 concepts)
    ↓
monday-drop (delivery)
```

## Options

| Flag | Default | Description |
|------|---------|-------------|
| `--comet ID` | — | Virlo comet ID |
| `--urls FILE` | — | JSON file with video list |
| `--niche TEXT` | AI marketing | Your content niche |
| `--outliers N` | 5 | Outlier videos from Virlo |
| `--top N` | 5 | Top performer videos from Virlo |
| `--parallel N` | 4 | Concurrent DNA jobs |
| `--min-success-rate F` | 0.7 | Minimum success ratio before exiting non-zero after report generation |
| `--no-adapt` | — | Skip adapted concept generation |

