Cold Call
TheCraigHewitt/skills
When the user wants to write cold call scripts, handle phone objections, plan dial blocks, or craft voicemails.
End-to-end champion/buyer/user job change signal composite. An agent skill from gooseworks-ai/goose-skills.
$ npx skills add gooseworks-ai/goose-skills --skill champion-move-outreach -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install gooseworks-ai/goose-skills champion-move-outreach --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/composites/champion-move-outreach .claude/skills/champion-move-outreach && 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 "champion-move-outreach" agent skill from https://github.com/gooseworks-ai/goose-skills/tree/main/skills/outreach/composites/champion-move-outreach into .claude/skills/champion-move-outreach/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "champion-move-outreach", 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/composites/champion-move-outreachType 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 champion-move-outreach -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install gooseworks-ai/goose-skills champion-move-outreach --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/composites/champion-move-outreach .agents/skills/champion-move-outreach && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "champion-move-outreach" agent skill from https://github.com/gooseworks-ai/goose-skills/tree/main/skills/outreach/composites/champion-move-outreach into .agents/skills/champion-move-outreach/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "champion-move-outreach", 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 champion-move-outreach -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install gooseworks-ai/goose-skills champion-move-outreach --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/composites/champion-move-outreach .cursor/skills/champion-move-outreach && 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 "champion-move-outreach" agent skill from https://github.com/gooseworks-ai/goose-skills/tree/main/skills/outreach/composites/champion-move-outreach into .cursor/skills/champion-move-outreach/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "champion-move-outreach", 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/composites/champion-move-outreach--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 champion-move-outreach -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install gooseworks-ai/goose-skills champion-move-outreach --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/composites/champion-move-outreach .gemini/skills/champion-move-outreach && 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 "champion-move-outreach" agent skill from https://github.com/gooseworks-ai/goose-skills/tree/main/skills/outreach/composites/champion-move-outreach into .gemini/skills/champion-move-outreach/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "champion-move-outreach", 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 champion-move-outreachInstalls 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 champion-move-outreach -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/composites/champion-move-outreach .github/skills/champion-move-outreach && 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 "champion-move-outreach" agent skill from https://github.com/gooseworks-ai/goose-skills/tree/main/skills/outreach/composites/champion-move-outreach into .github/skills/champion-move-outreach/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "champion-move-outreach", 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 champion-move-outreach -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 champion-move-outreach --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/composites/champion-move-outreach .opencode/skills/champion-move-outreach && 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 "champion-move-outreach" agent skill from https://github.com/gooseworks-ai/goose-skills/tree/main/skills/outreach/composites/champion-move-outreach into .opencode/skills/champion-move-outreach/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "champion-move-outreach", 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.
champion-move-outreachEnd-to-end champion/buyer/user job change signal composite. An agent skill from gooseworks-ai/goose-skills.
Champion Move Outreach is an agent skill from gooseworks-ai/goose-skills. End-to-end champion/buyer/user job change signal composite. Takes a set of known people (past buyers, champions, power users), detects when they move to a new company, researches the new company for ICP fit, and drafts personalized outreach leveraging the existing relationship. Tool-agnostic — works with any people source, detection method, and outreach platform.
Its SKILL.md is about 6.6k 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 Sales & Support, covering Cold outreach and Sales call preparation. 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.
6 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.
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 no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Champion Move Outreach loads about 6.6k tokens when it runs. Until then it costs about 97 tokens; SKILL.md has 2,195 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). 2,195 words, ~6,618 tokens.
.claude/skills/champion-move-outreach/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.Tracks known buyers, champions, and power users for job changes. When someone who already knows your product moves to a new company, that's the highest-conversion outbound signal in B2B — they already trust you, they're in a new role trying to make an impact, and they have firsthand experience with what your product delivers.
Why this is the #1 signal: Every other signal (funding, hiring, leadership change) targets strangers. This targets people who already know, like, and trust your product. Conversion rates on champion-move outreach are 3-5x higher than cold outreach because:
Load this composite when:
On first run for a client/user, collect and store these preferences. Skip on subsequent runs.
| Question | Purpose | Stored As |
|---|---|---|
| Where does your list of people to track come from? | Defines the input source | people_source |
| What categories of people are you tracking? | Determines outreach tone per person | tracked_categories |
People source options:
people table — filter by lead_status = 'customer' or similarTracked categories:
| Category | Who They Are | Why They Matter | Stored As |
|---|---|---|---|
| Past buyers | Signed the contract at their previous company | Can sign again. Know the ROI. Can articulate value to new leadership. | past_buyers |
| Past champions | Advocated for your product internally, drove adoption | Will champion again. Often have stronger conviction than the original buyer. | past_champions |
| Power users | Used your product daily, know it deeply | Can demonstrate value hands-on. Often become the internal expert at the new company. | power_users |
| Lost deal contacts | Evaluated your product but chose a competitor or no decision | Weaker signal but still valid — they know you exist. New company = fresh start. | lost_deal_contacts |
| Question | Purpose | Stored As |
|---|---|---|
| What industries do you sell to? | Filter out non-ICP companies | target_industries |
| What company sizes? (employee count ranges) | Filter out too-small or too-large | target_company_size |
| What geographies? | Filter if relevant | target_geographies |
| Any disqualifiers? (e.g., government, non-profit, specific verticals) | Hard no's | disqualifiers |
| What's the minimum viable deal? | Don't chase companies too small to pay | minimum_deal_size |
| Question | Options | Stored As |
|---|---|---|
| How should we detect job changes? | LinkedIn profile monitoring / Apollo job change data / Web search / Manual check | detection_tool |
| How often should we check? | Weekly / Biweekly / Monthly | check_frequency |
| Question | Options | Stored As |
|---|---|---|
| Where do you want outreach sent? | Smartlead / Instantly / Outreach.io / CSV export | outreach_tool |
| Email or multi-channel? | Email only / Email + LinkedIn | outreach_channels |
| Question | Purpose | Stored As |
|---|---|---|
| What does your company do? (1-2 sentences) | New company research context | company_description |
| What results did customers typically see? | Proof points for outreach | customer_results |
| Any specific results from the tracked person's previous company? | Strongest possible proof | specific_results |
Store config in: clients/<client-name>/config/signal-outreach.json or equivalent.
Purpose: For each person in the tracking list, determine if they've moved to a new company.
tracked_people: [
{
full_name: string # Required
linkedin_url: string # Strongly recommended (most reliable for matching)
email: string | null # Previous email (will be outdated after move)
last_known_company: string # The company they were at when you knew them
last_known_title: string # Their title when you knew them
category: "past_buyer" | "past_champion" | "power_user" | "lost_deal_contact"
relationship_context: string | null # e.g. "Signed $50K deal in 2025", "Led implementation"
}
]For each person, use the configured detection_tool:
Check current position against last_known_company:
last_known_company"{full_name}" AND ("{last_known_company}" OR "joined" OR "new role") — look for announcementsFor each person, determine:
For each mover, extract:
movers: [
{
person: {
full_name: string
linkedin_url: string
category: string # "past_buyer", "past_champion", etc.
relationship_context: string
previous_company: string
previous_title: string
}
move: {
new_company: string
new_company_domain: string
new_title: string
start_date: string # ISO date or approximate
days_in_new_role: integer
is_promotion: boolean # Higher title than before?
}
}
]
no_change: [
{ full_name: string, still_at: string }
]
unable_to_verify: [
{ full_name: string, reason: string } # Profile private, no data, etc.
]## Job Change Detection Results
Tracked: X people
Moved: Y people
No change: Z people
Unable to verify: W people
### People Who Moved
| Name | Category | Was At | Now At | New Title | Days In |
|------|----------|--------|--------|-----------|---------|
| Jane Doe | Past buyer | Acme Corp | NewCo Inc | VP Sales | 45 days |
| Bob Lee | Power user | Beta LLC | StartupX | Sales Manager | 12 days |
| ... | ... | ... | ... | ... | ... |
### Unable to Verify
| Name | Reason |
|------|--------|
| Sam Chen | LinkedIn profile set to private |
Proceed to research their new companies? (Y/n)Purpose: For each mover, research their new company and determine if it's a fit for your product. This is the critical gate — just because someone you know moved doesn't mean their new company is a prospect.
movers: [...] # From Step 1 output
icp_criteria: {
target_industries: string[]
target_company_size: string # e.g. "50-500 employees"
target_geographies: string[]
disqualifiers: string[]
minimum_deal_size: string
}
your_company: {
description: string
}For each mover's new company:
Research the new company using web search (tool-agnostic — always available):
Qualify against ICP:
| Criterion | Check | Pass/Fail |
|---|---|---|
| Industry | Is new_company.industry in target_industries? | Hard filter |
| Size | Is employee count within target_company_size range? | Hard filter |
| Geography | Is location in target_geographies? (Skip if no geo filter) | Soft filter |
| Disqualifiers | Does the company match any disqualifiers? | Hard filter |
| Deal viability | Could this company afford minimum_deal_size? | Judgment call |
Assess the person's position at the new company:
| Factor | What to Check | Why It Matters |
|---|---|---|
| Authority level | Is their new title at or above their old title? | Higher = more budget authority |
| Department fit | Are they in a department that buys/uses your product? | Must be in the right department |
| Influence trajectory | Promoted into a leadership role? | More influence = stronger champion |
| Seniority mismatch | Were they a user before, now they're a VP? | Adjust outreach — they're a buyer now, not a user |
Determine outreach approach based on category + new position:
| Category at Old Company | New Position Level | Approach |
|---|---|---|
| Past buyer → Buyer-level title | Re-sell: "You bought us before, bring us to [new company]" | |
| Past buyer → Higher title | Executive re-sell: "Now that you run [department], [product] scales with you" | |
| Past champion → Buyer-level title | Upgrade: "You championed us internally — now you own the budget" | |
| Past champion → Same level | Lateral champion: "Bring what worked at [old company] to [new company]" | |
| Power user → Any level | Bottom-up: "You know the product inside out — want to bring it to your new team?" | |
| Lost deal contact → Any | Fresh start: "Different company, different needs. Worth a second look?" |
qualified_movers: [
{
person: {
full_name: string
linkedin_url: string
category: string
relationship_context: string
previous_company: string
previous_title: string
}
move: {
new_company: string
new_company_domain: string
new_title: string
start_date: string
days_in_new_role: integer
is_promotion: boolean
}
new_company_research: {
description: string # What the company does
industry: string
employee_count: string # Approximate
location: string
funding_stage: string | null
recent_news: string[] # 2-3 relevant items
}
qualification: {
icp_fit: "strong" | "moderate" | "weak"
icp_reasoning: string # Why it's a fit or not
authority_level: "buyer" | "influencer" | "user"
outreach_approach: string # "re-sell", "upgrade", "lateral champion", "bottom-up", "fresh start"
}
priority_tier: "tier_1" | "tier_2" | "tier_3"
}
]
disqualified_movers: [
{
full_name: string
new_company: string
disqualification_reason: string # "Industry not in ICP", "Company too small", etc.
}
]## New Company Research & Qualification
### Tier 1 — Act Today (X movers)
| Name | Category | New Company | ICP Fit | Approach | Days In |
|------|----------|-------------|---------|----------|---------|
| Jane Doe | Past buyer | NewCo Inc (Series B, 120 employees, SaaS) | Strong | Re-sell | 45 days |
Research: NewCo Inc is a logistics SaaS platform. 120 employees, Series B,
HQ in Austin. Recently launched an enterprise tier. Strong fit — same
industry, right size, Jane has budget authority as VP Sales.
### Tier 2 — Act This Week (X movers)
| ... |
### Disqualified (X movers)
| Name | New Company | Reason |
|------|-------------|--------|
| Sam Lee | TinyStartup | 8 employees, pre-revenue — below minimum deal size |
Approve before we draft outreach?Purpose: Get the mover's new email address and any additional context at the new company.
qualified_movers: [...] # From Step 2 output
contact_tool: string # From configFind new work email — their old email is outdated. Use the configured contact_tool:
"{full_name}" AND "@{new_company_domain}" or company contact patternsVerify the email is at the new company — don't accidentally email their old address.
Flag contacts without email — these should be routed to LinkedIn outreach instead.
contactable_movers: [
{
...qualified_mover_fields,
new_email: string
email_confidence: "verified" | "likely" | "pattern_guess"
preferred_channel: "email" | "linkedin" | "both"
}
]
email_not_found: [
{
...qualified_mover_fields,
linkedin_url: string # Fall back to LinkedIn
preferred_channel: "linkedin"
}
]## Contact Details
| Name | New Company | Email | Confidence | Channel |
|------|-------------|-------|------------|---------|
| Jane Doe | NewCo Inc | jane.doe@newco.com | Verified | Email |
| Bob Lee | StartupX | — | Not found | LinkedIn |
X contacts with email, Y LinkedIn-only
Approve before we draft outreach?Purpose: Draft outreach that leverages the existing relationship. This is NOT cold email — these people know you. The tone, length, and approach are fundamentally different from the other signal composites. Pure LLM reasoning — inherently tool-agnostic.
contactable_movers: [...] # From Step 3 output
your_company: {
description: string
customer_results: string[] # General results customers see
specific_results: { # Results at their specific previous company (if available)
[company_name]: string # e.g. "Acme Corp: reduced call handling time by 40%"
}
}
sequence_config: {
touches: integer # Default: 3
timing: integer[] # Default: [1, 7, 14] (more spaced — less urgency, warmer relationship)
tone: string # Default: "casual-direct" (you know this person)
cta: string # Default: "quick catch-up call"
}Tone is fundamentally different from cold outreach:
| Cold Outreach | Champion Move Outreach |
|---|---|
| Formal introduction | Casual reconnection |
| Prove you're legitimate | They already trust you |
| Signal-Proof-Ask framework | Relationship-Context-Ask framework |
| "I noticed..." | "Hey — congrats on the move!" |
| 50-90 words Touch 1 | Can be shorter — no education needed |
| Professional-sharp tone | Casual-direct tone (you know each other) |
Build the email around the relationship, not the product:
| Element | Source | How to Use |
|---|---|---|
| Relationship anchor | relationship_context | "You were one of our first champions at [old company]" |
| Their results | specific_results or customer_results | "The 40% improvement your team saw at [old company]..." |
| New role congratulations | move.new_title + move.new_company | "Congrats on VP Sales at NewCo" |
| New company relevance | new_company_research | "NewCo's push into enterprise makes this a natural fit" |
| Category-specific angle | category + qualification.outreach_approach | See table below |
Email angle by outreach approach:
| Approach | Touch 1 Template Shape | Example |
|---|---|---|
| Re-sell | Congrats + "remember the results?" + "bring it to [new company]" | "Hey Jane — congrats on the VP Sales gig at NewCo. You saw what [product] did at Acme (40% faster call handling). NewCo's sales team could see the same lift. Worth a quick catch-up?" |
| Upgrade | Congrats + "you championed this" + "now you own the budget" | "Congrats on the promotion. You pushed for [product] at [old company] — now you actually control the budget. Want to talk about bringing it to NewCo?" |
| Lateral champion | Congrats + "you know what works" + "replicate it" | "Hey — saw you landed at NewCo. You know firsthand what [product] does. If the team there has the same [pain], happy to help you set it up." |
| Bottom-up | Congrats + "you were a power user" + "your new team will love it" | "Congrats on the move. You were one of our best users at [old company]. If you want [product] on your desk at NewCo, I can get you set up quickly." |
| Fresh start | Congrats + acknowledge the past + "different situation, worth a second look" | "Hey — congrats on the move to NewCo. I know the timing wasn't right when we spoke at [old company]. Different company, different needs — open to a fresh conversation?" |
Sequence design (warmer, more spaced):
| Touch | Day | Purpose | Length | Notes |
|---|---|---|---|---|
| Touch 1 | 1 | Reconnect + congrats + soft ask | 40-70 words | Shorter than cold — they know you |
| Touch 2 | 7 | Share a relevant result or update | 30-50 words | New feature, new customer in their industry, case study |
| Touch 3 | 14 | Low-pressure check-in | 20-30 words | "No rush — whenever the timing is right" |
Key difference from cold sequences: More spacing between touches (they're not a stranger you'll lose if you wait), warmer tone, and Touch 3 is a check-in not a breakup.
Follow email-drafting hard rules with one exception: Rule 6 ("never lie about how you found them") is flipped — you SHOULD reference exactly how you know them. That's the whole point.
email_sequences: [
{
contact: {
full_name: string
new_email: string
new_title: string
new_company: string
category: string
relationship_context: string
outreach_approach: string
}
sequence: [
{
touch_number: integer
send_day: integer
subject: string
body: string
personalization_elements: {
relationship_anchor: string # How the relationship was referenced
their_results: string | null # Specific results referenced
new_role_reference: string # How the new role was acknowledged
new_company_relevance: string # Why new company is a fit
}
word_count: integer
}
]
channel: "email" | "linkedin"
}
]Present samples covering different outreach approaches:
## Sample Outreach for Review
### Jane Doe — VP Sales @ NewCo Inc
Category: Past buyer | Approach: Re-sell | 45 days in new role
**Touch 1 — Day 1**
Subject: Congrats on NewCo — quick thought
> Hey Jane — congrats on the VP Sales move to NewCo. Your team at Acme
> saw a 40% improvement in call handling after going live with [product].
> NewCo's enterprise push could see the same lift.
>
> Worth a 15-minute catch-up?
**Touch 2 — Day 7**
Subject: NewCo + [product] — a few ideas
> Quick follow-up — we just launched [new feature] that would've
> been perfect for the workflow your team ran at Acme. Happy to
> walk you through it.
**Touch 3 — Day 14**
Subject: Whenever the timing is right
> No rush on this. If [product] makes sense for what you're building
> at NewCo, I'm a quick call away. Either way, congrats again on the role.
---
### Bob Lee — Sales Manager @ StartupX (LinkedIn only)
Category: Power user | Approach: Bottom-up | 12 days in new role
**LinkedIn Message:**
> Hey Bob — congrats on StartupX! You were one of our most active users
> at Beta LLC. If you want [product] set up for your new team, happy
> to fast-track it. Let me know.
---
Approve these samples? I'll generate the rest in the same style.Identical to funding-signal-outreach Step 5. Package contacts + email sequences for the configured outreach tool. Route LinkedIn-only contacts to linkedin-outreach skill.
Some contacts will be email, some will be LinkedIn-only. Split the output:
campaign_package: {
email_campaign: {
tool: string
file_path: string
contact_count: integer
}
linkedin_campaign: {
file_path: string # CSV for LinkedIn tool or manual queue
contact_count: integer
}
total_contacts: integer
sequence_touches: integer
next_action: string
}## Campaign Ready
Signal type: Champion/buyer/user job change
Email contacts: X people → [outreach tool]
LinkedIn contacts: Y people → LinkedIn message queue
Total: Z people across W companies
Sequence: 3 touches over 14 days
Ready to launch?| Step | Tool Dependency | Human Checkpoint | Typical Time |
|---|---|---|---|
| 0. Config | None | First run only | 5 min (once) |
| 1. Detect job changes | Configurable (LinkedIn, Apollo, web search) | Review movers list | 2-5 min |
| 2. Research + qualify | Web search (always available) | Approve qualified movers | 3-5 min |
| 3. Find new email | Configurable (Apollo, Clearbit, etc.) | Review contact details | 1-2 min |
| 4. Draft outreach | None (LLM reasoning) | Review samples, iterate | 5-10 min |
| 5. Handoff | Configurable (Smartlead, CSV, etc.) | Final launch approval | 1 min |
Total human review time: ~15-25 minutes
| Dimension | Funding / Hiring / Leadership | Champion Move |
|---|---|---|
| Relationship | Cold — they don't know you | Warm — they know and (hopefully) like you |
| Input | List of companies | List of people |
| Signal about | The company | The person |
| Qualification | Is the company relevant? | Is the NEW company relevant? (Person is already qualified) |
| Tone | Professional, prove credibility | Casual, reference shared history |
| Conversion rate | 2-5% reply rate | 10-25% reply rate |
| Sequence spacing | Tight (Day 1/5/12) | Relaxed (Day 1/7/14) |
| Touch 3 | Breakup | Check-in (leave door open) |
© 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/composites/champion-move-outreach 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.
Champion Move Outreach 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 |
|---|---|---|---|---|---|---|
| Champion Move Outreach this skillgooseworks-ai/goose-skills | 1.2k | 1 repos | ~6.6k | Automated safety check: Pass | MIT | |
| Cold CallTheCraigHewitt/skills | 159 | — | ~5k | Automated safety check: Pass | MIT | |
| Account Researchexplorium-ai/gtm-skills | 185 | — | ~2.8k | Automated safety check: Pass | MIT | |
| Direct MailTheCraigHewitt/skills | 159 | — | ~5.6k | Automated safety check: Pass | MIT | |
| Referral IntroTheCraigHewitt/skills | 159 | — | ~6.7k | Automated safety check: Pass | MIT | |
| Deal Playbookjeremylongshore/tons-of-skills-marketplace | 2.8k | — | ~1.2k | Automated safety check: Notes | MIT |
TheCraigHewitt/skills
When the user wants to write cold call scripts, handle phone objections, plan dial blocks, or craft voicemails.
explorium-ai/gtm-skills
Account research skill for Claude Code and Codex: generate a high-signal company intelligence brief including firmographics, technographics, funding history, hiring signals, business events, recent…
TheCraigHewitt/skills
When the user wants to create physical mail campaigns, dimensional mailers, handwritten notes, or gift sequences for B2B prospecting.
TheCraigHewitt/skills
When the user wants to ask for a warm introduction, build a referral program, or systematize their referral channel.
jeremylongshore/tons-of-skills-marketplace
Write sales playbooks — outbound sequences, discovery call guides, objection handling scripts, and demo frameworks.
ericosiu/ai-marketing-skills
Design, analyze, and optimize cold outbound email campaigns for Instantly.
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
End-to-end champion/buyer/user job change signal composite. An agent skill from gooseworks-ai/goose-skills. Champion Move Outreach is an agent skill from gooseworks-ai/goose-skills. End-to-end champion/buyer/user job change signal composite.
Champion Move Outreach fits situations like: tasks that involve Cold outreach; tasks that involve Sales call preparation.
Run `npx skills add gooseworks-ai/goose-skills --skill champion-move-outreach -a claude-code`. Or copy the skill folder (skills/outreach/composites/champion-move-outreach in gooseworks-ai/goose-skills) into .claude/skills/champion-move-outreach in your project. Claude Code loads it when a task matches its description.
Run `npx skills add gooseworks-ai/goose-skills --skill champion-move-outreach -a codex`. Or copy the skill folder (skills/outreach/composites/champion-move-outreach in gooseworks-ai/goose-skills) into .agents/skills/champion-move-outreach 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 champion-move-outreach -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/champion-move-outreach, .gemini/skills/champion-move-outreach, .github/skills/champion-move-outreach and .opencode/skills/champion-move-outreach in your project.
SKILL.md names no scripts, command-line tools or credentials: Champion Move Outreach is instructions for the agent only.
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.
Champion Move Outreach is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 6.6k tokens (SKILL.md is roughly 26k 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 Champion Move Outreach: Cold Call (TheCraigHewitt/skills, 159 stars), Account Research (explorium-ai/gtm-skills, 185 stars), Direct Mail (TheCraigHewitt/skills, 159 stars) and Referral Intro (TheCraigHewitt/skills, 159 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.