Media Outreach Skill

## Overview

14 stars

Best use case

Media Outreach Skill is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

## Overview

Teams using Media Outreach Skill should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/cfn-marketing-media-outreach/SKILL.md --create-dirs "https://raw.githubusercontent.com/masharratt/claude-flow-novice/main/.claude/cfn-extras/skills/marketing/cfn-marketing-media-outreach/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/cfn-marketing-media-outreach/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How Media Outreach Skill Compares

Feature / AgentMedia Outreach SkillStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

## Overview

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Media Outreach Skill

## Overview
Manage journalist outreach, media pitching, and HARO (Help A Reporter Out) response automation. Find relevant journalists and track pitch engagement.

## Operations

### 1. search-journalists.sh
Search for journalists by beat, outlet, or topic using Muck Rack.

**Parameters**:
- `--beat` (optional): Journalist beat (tech/business/healthcare/finance)
- `--outlet` (optional): Media outlet name
- `--topic` (optional): Topic keyword
- `--limit` (optional): Result limit (default: 20)

**Example**:
```bash
./.claude/skills/cfn-marketing-media-outreach/operations/search-journalists.sh \
  --beat "tech" \
  --topic "AI automation" \
  --limit 10
```

**Response**:
```json
{
  "journalists": [
    {
      "id": "jour_123",
      "name": "John Smith",
      "outlet": "TechCrunch",
      "beat": "tech",
      "email": "john@techcrunch.com",
      "twitter": "@johnsmith",
      "recent_topics": ["AI", "automation", "SaaS"]
    }
  ],
  "total_results": 45
}
```

**Exit Codes**:
- 0: Success
- 1: Invalid parameters
- 2: API error

---

### 2. send-pitch.sh
Send personalized pitch to journalist via Mailshake.

**Parameters**:
- `--journalist-id` (required): Journalist ID from search
- `--subject` (required): Email subject line
- `--body` (required): Pitch email body
- `--follow-up-days` (optional): Days until follow-up (default: 3)

**Example**:
```bash
./.claude/skills/cfn-marketing-media-outreach/operations/send-pitch.sh \
  --journalist-id "jour_123" \
  --subject "AI Automation Platform Launch" \
  --body "Hi John, I saw your recent piece on..." \
  --follow-up-days 3
```

**Response**:
```json
{
  "pitch_id": "pitch_abc123",
  "journalist_id": "jour_123",
  "status": "sent",
  "sent_at": "2025-10-29T14:00:00Z",
  "follow_up_scheduled": "2025-11-01T14:00:00Z"
}
```

**Exit Codes**:
- 0: Success
- 1: Invalid parameters
- 2: API error
- 3: Validation error

---

### 3. submit-haro-response.sh
Submit response to HARO query.

**Parameters**:
- `--query-id` (required): HARO query ID
- `--response` (required): Response text
- `--expert-name` (required): Expert name for attribution
- `--expert-title` (required): Expert title
- `--company-name` (required): Company name

**Example**:
```bash
./.claude/skills/cfn-marketing-media-outreach/operations/submit-haro-response.sh \
  --query-id "haro_xyz789" \
  --response "As an AI automation expert..." \
  --expert-name "Jane Doe" \
  --expert-title "CTO" \
  --company-name "Company Inc"
```

**Response**:
```json
{
  "submission_id": "sub_123",
  "query_id": "haro_xyz789",
  "status": "submitted",
  "submitted_at": "2025-10-29T14:00:00Z",
  "response_deadline": "2025-10-29T17:00:00Z"
}
```

**Exit Codes**:
- 0: Success
- 1: Invalid parameters
- 2: API error (missed deadline)
- 3: Validation error

**HARO Requirements**:
- Response time: <2 hours from query publication
- Query monitoring: 2-5 responses per day
- Personalization: Match query to company expertise

---

### 4. track-pitch-engagement.sh
Track pitch email engagement (opens, clicks, responses).

**Parameters**:
- `--pitch-id` (required): Pitch ID from send operation
- `--include-follow-ups` (optional): Include follow-up metrics (true/false, default: true)

**Example**:
```bash
./.claude/skills/cfn-marketing-media-outreach/operations/track-pitch-engagement.sh \
  --pitch-id "pitch_abc123"
```

**Response**:
```json
{
  "pitch_id": "pitch_abc123",
  "journalist_id": "jour_123",
  "opens": 2,
  "clicks": 1,
  "replied": true,
  "reply_received_at": "2025-10-30T09:15:00Z",
  "follow_ups_sent": 1,
  "last_activity": "2025-10-30T09:15:00Z"
}
```

**Exit Codes**:
- 0: Success
- 1: Invalid parameters
- 2: API error

## Environment Variables
- `N8N_BASE_URL`: n8n instance URL
- `N8N_API_KEY`: n8n API authentication key

## Integration
All operations use n8n webhooks for Muck Rack and Mailshake integration.

Related Skills

Media Monitoring Skill

14
from masharratt/claude-flow-novice

## Overview

supabase-schema-sync

14
from masharratt/claude-flow-novice

Introspects Supabase DB after migrations and updates project db-query skill with current schema. Run after any migration to keep agent context accurate.

commit

14
from masharratt/claude-flow-novice

Stage, commit, and push changes using a background github-commit-agent. Accepts optional args for message override or push control.

cfn-vote-implement

14
from masharratt/claude-flow-novice

MUST BE USED after cfn-dry-review or cfn-alpha-launch:manifest produces a manifest. Also the verification phase of /cfn-loop-task. Do not manually implement code review suggestions - always route through this skill. 3-agent specialized voting. Unanimous (3/3) auto-implemented with TDD. 2/3 routed to product-owner agent. 1/3 surfaced to user via AskUserQuestion (batched 4 per call, at end).

cfn-utilities

14
from masharratt/claude-flow-novice

Reusable bash utility functions for CFN Loop - logging, error handling, retry, file operations. Use when you need structured logging, atomic file operations, retry logic with exponential backoff, or standardized error handling in bash scripts.

CFN Test Runner Skill

14
from masharratt/claude-flow-novice

**Version:** 1.0.0

cfn-test-framework

14
from masharratt/claude-flow-novice

Test execution, running, and webapp testing for CFN

cfn-task-planning

14
from masharratt/claude-flow-novice

Classify tasks, initialize structured configs with scope boundaries, decompose complex tasks

Specialist Injection Skill

14
from masharratt/claude-flow-novice

## Purpose

!/bin/bash

14
from masharratt/claude-flow-novice

# cfn-task-intelligence.sh

Task Complexity Estimator

14
from masharratt/claude-flow-novice

**Version:** 1.0.0

task-classifier

14
from masharratt/claude-flow-novice

Analyzes task descriptions and classifies them into categories for agent selection