Email Sequence
freekmurze/dotfiles
When the user wants to create or optimize an email sequence, drip campaign, automated email flow, or lifecycle email program.
Set up a complete outbound email campaign in Smartlead. An agent skill from gooseworks-ai/goose-skills.
$ npx skills add gooseworks-ai/goose-skills --skill setup-outreach-campaign-smartlead -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install gooseworks-ai/goose-skills setup-outreach-campaign-smartlead --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/gooseworks-ai/goose-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/outreach/capabilities/setup-outreach-campaign-smartlead .claude/skills/setup-outreach-campaign-smartlead && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "setup-outreach-campaign-smartlead" agent skill from https://github.com/gooseworks-ai/goose-skills/tree/main/skills/outreach/capabilities/setup-outreach-campaign-smartlead into .claude/skills/setup-outreach-campaign-smartlead/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "setup-outreach-campaign-smartlead", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/gooseworks-ai/goose-skills/tree/main/skills/outreach/capabilities/setup-outreach-campaign-smartleadType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add gooseworks-ai/goose-skills --skill setup-outreach-campaign-smartlead -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install gooseworks-ai/goose-skills setup-outreach-campaign-smartlead --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/gooseworks-ai/goose-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/outreach/capabilities/setup-outreach-campaign-smartlead .agents/skills/setup-outreach-campaign-smartlead && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "setup-outreach-campaign-smartlead" agent skill from https://github.com/gooseworks-ai/goose-skills/tree/main/skills/outreach/capabilities/setup-outreach-campaign-smartlead into .agents/skills/setup-outreach-campaign-smartlead/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "setup-outreach-campaign-smartlead", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add gooseworks-ai/goose-skills --skill setup-outreach-campaign-smartlead -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install gooseworks-ai/goose-skills setup-outreach-campaign-smartlead --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/gooseworks-ai/goose-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/outreach/capabilities/setup-outreach-campaign-smartlead .cursor/skills/setup-outreach-campaign-smartlead && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "setup-outreach-campaign-smartlead" agent skill from https://github.com/gooseworks-ai/goose-skills/tree/main/skills/outreach/capabilities/setup-outreach-campaign-smartlead into .cursor/skills/setup-outreach-campaign-smartlead/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "setup-outreach-campaign-smartlead", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/gooseworks-ai/goose-skills.git --path skills/outreach/capabilities/setup-outreach-campaign-smartlead--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add gooseworks-ai/goose-skills --skill setup-outreach-campaign-smartlead -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install gooseworks-ai/goose-skills setup-outreach-campaign-smartlead --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/gooseworks-ai/goose-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/outreach/capabilities/setup-outreach-campaign-smartlead .gemini/skills/setup-outreach-campaign-smartlead && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "setup-outreach-campaign-smartlead" agent skill from https://github.com/gooseworks-ai/goose-skills/tree/main/skills/outreach/capabilities/setup-outreach-campaign-smartlead into .gemini/skills/setup-outreach-campaign-smartlead/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "setup-outreach-campaign-smartlead", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install gooseworks-ai/goose-skills setup-outreach-campaign-smartleadInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add gooseworks-ai/goose-skills --skill setup-outreach-campaign-smartlead -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/gooseworks-ai/goose-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/outreach/capabilities/setup-outreach-campaign-smartlead .github/skills/setup-outreach-campaign-smartlead && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "setup-outreach-campaign-smartlead" agent skill from https://github.com/gooseworks-ai/goose-skills/tree/main/skills/outreach/capabilities/setup-outreach-campaign-smartlead into .github/skills/setup-outreach-campaign-smartlead/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "setup-outreach-campaign-smartlead", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add gooseworks-ai/goose-skills --skill setup-outreach-campaign-smartlead -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install gooseworks-ai/goose-skills setup-outreach-campaign-smartlead --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/gooseworks-ai/goose-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/outreach/capabilities/setup-outreach-campaign-smartlead .opencode/skills/setup-outreach-campaign-smartlead && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "setup-outreach-campaign-smartlead" agent skill from https://github.com/gooseworks-ai/goose-skills/tree/main/skills/outreach/capabilities/setup-outreach-campaign-smartlead into .opencode/skills/setup-outreach-campaign-smartlead/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "setup-outreach-campaign-smartlead", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
setup-outreach-campaign-smartleadSet up a complete outbound email campaign in Smartlead. An agent skill from gooseworks-ai/goose-skills.
Setup Outreach Campaign Smartlead is an agent skill from gooseworks-ai/goose-skills. 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.
Its SKILL.md is about 3.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file (for example `skill.meta.json`).
It sits in Marketing & SEO, covering Email marketing. The repository describes itself as: Library of Growth & GTM skills + data APIs for Claude Code, Codex, Cursor to run ads, social, content, lead gen, seo and data scraping. The licence is MIT.
7 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit c650c6d. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are json, bash and yaml).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
SMARTLEAD_API_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Setup Outreach Campaign Smartlead loads about 3.3k tokens when it runs. Until then it costs about 86 tokens; SKILL.md has 1,074 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from gooseworks-ai/goose-skills at commit c650c6d, republished under its MIT licence (© gooseworks-ai). 1,074 words, ~3,287 tokens.
.claude/skills/setup-outreach-campaign-smartlead/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.Set up a complete outbound email campaign in Smartlead: create the campaign, add leads, write a 2-3 email sequence, configure the schedule, and allocate mailboxes.
| Input | Required | Default | Description |
|---|---|---|---|
| campaign_name | Yes | -- | Name for the campaign (e.g., "Truewind - Accounting Firms - Feb 2026") |
| campaign_goal | Yes | -- | What outcome the campaign drives (book demos, drive signups, etc.) |
| lead_list | Yes | -- | CSV file path OR person-list JSON from upstream skill |
| value_proposition | Yes | -- | Core pain point or benefit the emails address |
| cta | Yes | -- | Call to action (e.g., "Book a 15-min demo", "Reply to learn more") |
| tone | No | semi-formal | Email tone: casual, semi-formal, formal |
| personalization_angle | No | -- | Hook for personalization (event attendance, job posting, news mention) |
| timezone | No | America/New_York | Timezone for send schedule |
| send_days | No | [1,2,3,4,5] | Days of week to send (0=Sun, 6=Sat) |
| start_hour | No | 08:00 | Start of send window |
| end_hour | No | 18:00 | End of send window |
| max_leads_per_day | No | 20 | Max new leads contacted per day |
| min_time_btw_emails | No | 10 | Minutes between emails from same mailbox |
| num_mailboxes | No | 5 | Number of mailboxes to allocate |
| mailbox_selection | No | auto | "auto" (pick free ones) or "manual" (show list to user) |
Requires a Smartlead account with API access. This skill does not use the Gooseworks proxy — the user must supply their own Smartlead API key.
export SMARTLEAD_API_KEY=your_api_key_hereYou can find your API key in the Smartlead dashboard under Settings → API Keys. If SMARTLEAD_API_KEY is not set, ask the user for it before proceeding.
All API calls go to https://server.smartlead.ai/api/v1 with ?api_key=$SMARTLEAD_API_KEY appended.
Rate limit: 10 requests per 2 seconds.
Ask the user the following questions. Group them conversationally — don't dump all at once.
Campaign identity:
Audience & leads:
Messaging:
Schedule:
Mailboxes:
After gathering answers, present a summary and confirm before proceeding.
POST https://server.smartlead.ai/api/v1/campaigns/create?api_key=$SMARTLEAD_API_KEY
Body:
{
"name": "<campaign_name>",
"client_id": null
}Response:
{
"ok": true,
"id": 3023,
"name": "Test email campaign",
"created_at": "2022-11-07T16:23:24.025929+00:00"
}Capture campaign_id from id. All subsequent calls use this.
This step determines which mailboxes are available and assigns them to the campaign.
GET https://server.smartlead.ai/api/v1/email-accounts/?api_key=$SMARTLEAD_API_KEY&offset=0&limit=100Returns a list of all email accounts with id, from_email, from_name, daily_sent_count, warmup_details, is_smtp_success, is_imap_success.
Fetch all campaigns:
GET https://server.smartlead.ai/api/v1/campaigns?api_key=$SMARTLEAD_API_KEYFor each campaign with status = "ACTIVE" or "STARTED", fetch its email accounts:
GET https://server.smartlead.ai/api/v1/campaigns/{campaign_id}/email-accounts?api_key=$SMARTLEAD_API_KEYBuild a set of all email_account_id values currently assigned to active campaigns.
A mailbox is "free" if:
id is NOT in the active-campaign set from 3bis_smtp_success = true AND is_imap_success = true (account is functional)Sort free mailboxes by daily_sent_count ascending (prefer coolest/least-used mailboxes).
If mailbox_selection = "auto": select the first N free mailboxes.
If mailbox_selection = "manual": display all accounts as a table (name, email, daily_sent_count, status) and let the user pick.
If fewer than N free mailboxes are available, tell the user: "Only X free mailboxes found. Proceed with X, or pick some currently-in-use mailboxes?"
Assign selected mailboxes:
POST https://server.smartlead.ai/api/v1/campaigns/{campaign_id}/email-accounts?api_key=$SMARTLEAD_API_KEY
Body:
{
"email_account_ids": [101, 204, 305, 412, 518]
}From CSV: Read the file, map columns to Smartlead fields. Flexible column matching:
email (required) — also matches Email, email_addressfirst_name — also matches firstname, first, First Namelast_name — also matches lastname, last, Last Namecompany_name — also matches company, organization, Companycustom_fieldsFrom upstream skill (person-list JSON): Map fields:
first_name <- name.split()[0]
last_name <- name.split()[1:]
email <- email
company_name <- company
custom_fields <- { "title": title, "linkedin_url": linkedin_url }Smartlead accepts max 100 leads per call. Chunk the list and call for each batch:
POST https://server.smartlead.ai/api/v1/campaigns/{campaign_id}/leads?api_key=$SMARTLEAD_API_KEY
Body:
{
"lead_list": [
{
"first_name": "Jane",
"last_name": "Smith",
"email": "jane@example.com",
"company_name": "Acme Corp",
"custom_fields": {"title": "CFO"}
}
],
"settings": {
"ignore_global_block_list": false,
"ignore_unsubscribe_list": false,
"ignore_duplicate_leads_in_other_campaign": false
}
}Response:
{
"ok": true,
"upload_count": 95,
"total_leads": 100,
"already_added_to_campaign": 2,
"duplicate_count": 1,
"invalid_email_count": 2,
"unsubscribed_leads": 0
}Report totals across all batches to the user.
Write a 2-3 email sequence based on the user's inputs from Step 1. Default structure:
Email 1 — Cold intro (Day 0)
{{first_name}} and any custom fieldsEmail 2 — Follow-up (Day 3)
Email 3 — Breakup (Day 8)
Present the full sequence to the user as a formatted table. Wait for approval or edits.
After user approves, save:
POST https://server.smartlead.ai/api/v1/campaigns/{campaign_id}/sequences?api_key=$SMARTLEAD_API_KEY
Body:
{
"sequences": [
{
"seq_number": 1,
"seq_delay_details": { "delay_in_days": 0 },
"seq_variants": [
{
"subject": "Subject line here",
"email_body": "<p>Email body as HTML</p>",
"variant_label": "A"
}
]
},
{
"seq_number": 2,
"seq_delay_details": { "delay_in_days": 3 },
"seq_variants": [
{
"subject": "",
"email_body": "<p>Follow-up body</p>",
"variant_label": "A"
}
]
},
{
"seq_number": 3,
"seq_delay_details": { "delay_in_days": 5 },
"seq_variants": [
{
"subject": "",
"email_body": "<p>Breakup body</p>",
"variant_label": "A"
}
]
}
]
}Note: blank subject on emails 2+ makes them send as replies in the same thread.
POST https://server.smartlead.ai/api/v1/campaigns/{campaign_id}/schedule?api_key=$SMARTLEAD_API_KEY
Body:
{
"timezone": "America/New_York",
"days_of_the_week": [1, 2, 3, 4, 5],
"start_hour": "08:00",
"end_hour": "18:00",
"min_time_btw_emails": 10,
"max_new_leads_per_day": 20,
"schedule_start_time": "2026-02-25T00:00:00.000Z"
}days_of_the_week: 0=Sunday, 1=Monday, ..., 6=Saturday.
Present a full summary:
Campaign: "Truewind - Accounting Firms - Feb 2026"
Campaign ID: 12345
Leads added: 87 (3 rejected as duplicates)
Email sequence: 3 emails (Day 0, Day 3, Day 8)
Schedule: Mon-Fri, 8am-6pm ET, starting Feb 25
Mailboxes: jane@truewind.ai, alex@truewind.ai (+3 more)
Status: DRAFTEDAsk: "Do you want to START the campaign now, or leave it as a draft?"
If start:
POST https://server.smartlead.ai/api/v1/campaigns/{campaign_id}/status?api_key=$SMARTLEAD_API_KEY
Body:
{ "status": "START" }If draft: skip. User can start from Smartlead UI later.
If the user wants to configure tracking or stop conditions, use:
POST https://server.smartlead.ai/api/v1/campaigns/{campaign_id}/settings?api_key=$SMARTLEAD_API_KEY
Body:
{
"track_settings": ["DONT_TRACK_EMAIL_OPEN"],
"stop_lead_settings": "REPLY_TO_AN_EMAIL",
"send_as_plain_text": false,
"follow_up_percentage": 100,
"enable_ai_esp_matching": true
}Allowed track_settings: DONT_TRACK_EMAIL_OPEN, DONT_TRACK_LINK_CLICK, DONT_TRACK_REPLY_TO_AN_EMAIL
Allowed stop_lead_settings: REPLY_TO_AN_EMAIL, CLICK_ON_A_LINK, OPEN_AN_EMAIL
All endpoints use base URL https://server.smartlead.ai/api/v1 with ?api_key= query param.
| Endpoint | Method | Purpose |
|---|---|---|
/campaigns/create | POST | Create a new campaign |
/campaigns | GET | List all campaigns |
/campaigns/{id} | GET | Get campaign by ID |
/campaigns/{id}/schedule | POST | Set campaign schedule |
/campaigns/{id}/settings | POST | Update tracking/stop settings |
/campaigns/{id}/sequences | POST | Save email sequences |
/campaigns/{id}/leads | POST | Add leads (max 100 per call) |
/campaigns/{id}/email-accounts | GET | List mailboxes on a campaign |
/campaigns/{id}/email-accounts | POST | Assign mailboxes to campaign |
/campaigns/{id}/status | POST | Change campaign status (START/PAUSED/STOPPED) |
/campaigns/{id}/analytics | GET | Top-level campaign analytics |
/email-accounts/ | GET | List all email accounts (offset/limit) |
metadata:
requires:
env: ["SMARTLEAD_API_KEY"]
cost: "Free (Smartlead API included with plan that has API access)"© gooseworks-ai, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file in skills/outreach/capabilities/setup-outreach-campaign-smartlead of gooseworks-ai/goose-skills.
Open the folder on GitHubat commit c650c6d
We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in gooseworks-ai/goose-skills, which our catalogue first saw on October 7, 2026.
Setup Outreach Campaign Smartlead next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Setup Outreach Campaign Smartlead this skillgooseworks-ai/goose-skills | 1.2k | 1 repos | ~3.3k | Automated safety check: Pass | MIT | |
| Email Sequencefreekmurze/dotfiles | 1k | 19 repos | ~2k | Automated safety check: Pass | None | |
| Emailscoreyhaines31/marketingskills | 54k | 1 repos | ~2.8k | Automated safety check: Pass | MIT | |
| Email SequenceLeoYeAI/openclaw-marketing-skills | 1k | 2 repos | ~2.1k | Automated safety check: Pass | Custom licence | |
| Onboarding Crofreekmurze/dotfiles | 1k | 16 repos | ~1.6k | Automated safety check: Pass | None | |
| Marketing OsYuzzyuk/marketing-os | 540 | — | ~2.5k | Automated safety check: Pass | MIT |
freekmurze/dotfiles
When the user wants to create or optimize an email sequence, drip campaign, automated email flow, or lifecycle email program.
coreyhaines31/marketingskills
When the user wants to create or optimize an email sequence, drip campaign, automated email flow, or lifecycle email program.
LeoYeAI/openclaw-marketing-skills
When the user wants to create or optimize an email sequence, drip campaign, automated email flow, or lifecycle email program.
freekmurze/dotfiles
When the user wants to optimize post-signup onboarding, user activation, first-run experience, or time-to-value.
Yuzzyuk/marketing-os
A complete marketing department in one skill. An agent skill from Yuzzyuk/marketing-os.
Nexus-JPF/note-companion
When the user wants to optimize post-signup onboarding, user activation, first-run experience, or time-to-value.
gooseworks-ai/goose-skills
Scrape and search Reddit posts using Apify. An agent skill from gooseworks-ai/goose-skills.
gooseworks-ai/goose-skills
Generate or edit an image via any FAL image model (nano-banana edit, gpt-image, flux, ...), ROUTED THROUGH THE fal-proxy so it bills the Ads agent.
gooseworks-ai/goose-skills
Replace an existing video's opening with a supplied clip or free kinetic text hook while retaining and verifying every original body frame, audio, captions and ending.
gooseworks-ai/goose-skills
Scrape blog posts via RSS feeds (free, no API key) with Apify fallback for JS-heavy sites.
gooseworks-ai/goose-skills
Find leads by scraping engagers from a competitor's top LinkedIn posts.
gooseworks-ai/goose-skills
Assemble a ChatGPT chat-reveal video ad from a thread + timeline JSON — one continuous Playwright recording of a ChatGPT mobile chat (user types with the iOS keyboard up → taps send → keyboard…
Categories
Set up a complete outbound email campaign in Smartlead. An agent skill from gooseworks-ai/goose-skills. Setup Outreach Campaign Smartlead is an agent skill from gooseworks-ai/goose-skills. Set up a complete outbound email campaign in Smartlead.
Setup Outreach Campaign Smartlead fits situations like: A user wants to launch email outreach via Smartlead; tasks that involve Email marketing.
Run `npx skills add gooseworks-ai/goose-skills --skill setup-outreach-campaign-smartlead -a claude-code`. Or copy the skill folder (skills/outreach/capabilities/setup-outreach-campaign-smartlead in gooseworks-ai/goose-skills) into .claude/skills/setup-outreach-campaign-smartlead in your project. Claude Code loads it when a task matches its description.
Run `npx skills add gooseworks-ai/goose-skills --skill setup-outreach-campaign-smartlead -a codex`. Or copy the skill folder (skills/outreach/capabilities/setup-outreach-campaign-smartlead in gooseworks-ai/goose-skills) into .agents/skills/setup-outreach-campaign-smartlead in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add gooseworks-ai/goose-skills --skill setup-outreach-campaign-smartlead -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/setup-outreach-campaign-smartlead, .gemini/skills/setup-outreach-campaign-smartlead, .github/skills/setup-outreach-campaign-smartlead and .opencode/skills/setup-outreach-campaign-smartlead in your project.
Going by SKILL.md and its folder, Setup Outreach Campaign Smartlead needs credentials named SMARTLEAD_API_KEY. Our summary lists: A credential in SMARTLEAD_API_KEY.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Setup Outreach Campaign Smartlead is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.3k tokens (SKILL.md is roughly 13k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Setup Outreach Campaign Smartlead: Email Sequence (freekmurze/dotfiles, 1k stars), Emails (coreyhaines31/marketingskills, 54k stars), Email Sequence (LeoYeAI/openclaw-marketing-skills, 1k stars) and Onboarding Cro (freekmurze/dotfiles, 1k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
gooseworks-ai (a GitHub organization) maintains it in gooseworks-ai/goose-skills, which has 1,240 GitHub stars. The repository holds 273 skills in this directory. The repository was last updated on October 8, 2026.
Source: gooseworks-ai/goose-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.