orthogonal-email-campaign
Build email campaigns - find emails, verify them, and prepare outreach
Best use case
orthogonal-email-campaign is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Build email campaigns - find emails, verify them, and prepare outreach
Teams using orthogonal-email-campaign 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
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/orthogonal-email-campaign/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How orthogonal-email-campaign Compares
| Feature / Agent | orthogonal-email-campaign | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Build email campaigns - find emails, verify them, and prepare outreach
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.
Related Guides
AI Agents for Marketing
Discover AI agents for marketing workflows, from SEO and content production to campaign research, outreach, and analytics.
Best AI Agents for Marketing
A curated list of the best AI agents and skills for marketing teams focused on SEO, content systems, outreach, and campaign execution.
AI Agent for Cold Email Generation
Discover AI agent skills for cold email generation, outreach copy, lead personalization, CRM support, and sales-adjacent messaging workflows.
SKILL.md Source
# Email Campaign - Build Verified Email Lists
## Setup
Read your credentials from ~/.gooseworks/credentials.json:
```bash
export GOOSEWORKS_API_KEY=$(python3 -c "import json;print(json.load(open('$HOME/.gooseworks/credentials.json'))['api_key'])")
export GOOSEWORKS_API_BASE=$(python3 -c "import json;print(json.load(open('$HOME/.gooseworks/credentials.json')).get('api_base','https://api.gooseworks.ai'))")
```
If ~/.gooseworks/credentials.json does not exist, tell the user to run: `npx gooseworks login`
All endpoints use Bearer auth: `-H "Authorization: Bearer $GOOSEWORKS_API_KEY"`
Build targeted email campaigns with verified email addresses and personalized outreach.
## Workflow
### Step 1: Find Emails by Domain
Get all emails for target companies:
```bash
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
-H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"api":"hunter","path":"/v2/domain-search","query":{"domain":"stripe.com"}}'
```
### Step 2: Find Specific Person's Email
Find email for specific contacts:
```bash
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
-H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"api":"hunter","path":"/v2/email-finder","query":{"domain":"stripe.com","first_name":"John","last_name":"Doe"}}'
```
### Step 3: Verify Emails
Check deliverability before sending:
```bash
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
-H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"api":"hunter","path":"/v2/email-verifier","query":{"email":"john@stripe.com"}}'
```
### Step 4: Batch Verification with Fiber
Validate multiple emails:
```bash
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
-H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"api":"fiber","path":"/v1/validate-email/single","body":{"email":"john@stripe.com"}}'
```
### Step 5: Enrich for Personalization
Get info for personalized outreach:
```bash
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
-H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"api":"sixtyfour","path":"/enrich-lead"}'
"lead_info": {
"first_name": "John",
"last_name": "Doe",
"company": "Stripe"
},
"struct": {"email": "Work email", "phone": "Phone number"}
}'
```
### Step 6: Get Company Context
Research company for personalization:
```bash
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
-H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"api":"brand-dev","path":"/v1/brand/retrieve","query":{"domain":"stripe.com"}}'
```
## Campaign Building Pipeline
```bash
# 1. Find target companies
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
-H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"api":"fiber","path":"/v1/company-search"}'
"searchParams": {
"industries": ["SaaS"],
"employee_count_min": 50,
"employee_count_max": 500
}
}'
# 2. Get emails for each company
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
-H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"api":"hunter","path":"/v2/domain-search","query":{"domain":"company.com"}}'
# 3. Verify each email
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
-H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"api":"hunter","path":"/v2/email-verifier","query":{"email":"person@company.com"}}'
# 4. Enrich for personalization
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
-H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"api":"sixtyfour","path":"/enrich-lead","body":{"lead_info":{"first_name":"John","last_name":"Doe","company":"Company"},"struct":{"email":"Work email"}}}'
```
## Tips
- Always verify emails before sending
- Personalize using enrichment data
- Segment by role, industry, or company size
- Track bounces and clean your list
## Discover More
List all endpoints, or add a path for parameter details:
```bash
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/search \
-H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"prompt":"brand-dev API endpoints"}' api show fiber
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/search \
-H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"prompt":"hunter API endpoints"}' api show sixtyfour
```
Example: `curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/details \
-H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"api":"olostep","path":"/v1/scrapes`"}' for endpoint parameters.Related Skills
setup-outreach-campaign
Set up a complete outbound email campaign in Smartlead. Asks the user for campaign goal, audience, messaging, schedule, and mailbox allocation. Creates the campaign, adds leads, saves email sequences, sets schedule, and assigns available mailboxes. Use when a user wants to launch email outreach via Smartlead.
early-access-email-sequence
Generate a personalized 7-email onboarding sequence for Goose early access signups. Takes a LinkedIn profile URL and company domain, researches the person and company, classifies their role, and produces all 7 emails ready to send — personalized with real context, not merge tags. Outputs to a Notion database (one row per user, columns for each email). Use this skill whenever someone signs up for Goose early access, when you need to generate onboarding emails for new users, when the user says "generate emails for a new signup", "onboard this person", "add them to the email sequence", or provides a LinkedIn URL with a company domain in the context of the launch. Also use when processing a batch of signups.
meta-ads-campaign-builder
End-to-end Meta Ads campaign builder for Facebook and Instagram. Takes ICP + objective, generates audience targeting recommendations, ad set structure, copy framework per placement, and exports as a campaign brief or structured CSV. Focused on campaign architecture, not creative generation.
campaign-brief-generator
Generate a complete marketing campaign brief from a launch goal, ICP, and product context. Pure reasoning skill. Outputs channel plan, messaging angles, content types, timeline, and success metrics. Designed for seed/Series A founders and small GTM teams who aren't professional marketers but need to run focused campaigns. No scripts — pure reasoning.
ad-campaign-analyzer
Analyze ad campaign performance data (Google, Meta, LinkedIn) to identify what's working, what's wasting budget, and specific cut/scale/test recommendations. Runs statistical analysis, funnel diagnostics, and multi-channel budget reallocation with specific dollar-amount shift recommendations and scenario modeling.
orthogonal-yc-batch-evaluator
Evaluate YC batch companies for investment — scrapes the YC directory, researches each company and its founders (work history, LinkedIn, website), assesses founder-company fit, and exports to Google Sheets with priority rankings. Use when asked to evaluate YC companies, research a YC batch, screen startups, or do due diligence on YC companies.
orthogonal-website-screenshot
Take screenshots of websites and web pages
orthogonal-weather
Get current weather and forecasts using free APIs (no API key required). Use when asked about weather, temperature, forecasts, or climate conditions for any location.
orthogonal-weather-forecast
Get weather forecasts - temperature, precipitation, wind, and conditions
orthogonal-vhs-terminal-recordings
Create polished terminal GIF recordings using VHS (Video Hardware Software) by Charmbracelet. Use when asked to create terminal demos, CLI gifs, command-line recordings, or animated terminal screenshots for documentation, READMEs, or marketing.
orthogonal-verify-email
Verify if an email address is valid and deliverable
orthogonal-valyu
Web search, AI answers, content extraction, and async deep research