skills/sales-request-skill/SKILL.md
Requests or contribute a new sales/marketing/GTM skill that doesn't exist yet, or share learnings discovered during skill usage back to the community. Use when no existing skill covers the user's need — helps them build the skill and submit a PR, or file an issue requesting it. Also use when the user says 'there should be a skill for this', 'can we make a skill', 'I want to contribute a skill', 'none of the sales skills cover my use case', 'share my learnings', 'contribute learnings', 'share what I learned', or 'push learnings upstream'. Do NOT use for routing an objective to an existing skill (use /sales-do) or browsing the catalog of available skills (use /sales-third-party).
npx skillsauth add sales-skills/sales sales-request-skillInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
The user needs a sales, marketing, or GTM capability that doesn't have a skill yet. Help them contribute it or request it.
This skill always ends with a concrete action on GitHub:
sales-skills/salessales-skills/sales describing what's neededDo not stop at "here's what the PR/issue would look like" — actually create it using gh pr create or gh issue create.
If $ARGUMENTS is provided, use it. Otherwise ask: "What sales, marketing, or GTM capability do you need that isn't covered by an existing skill?"
Verify the request fits the sales/marketing/GTM domain. If it's outside scope entirely (e.g., "build a database migration tool"), say so and suggest appropriate tools instead.
Check the existing skills by reviewing the routing table in skills/sales-do/SKILL.md and listing installed skills in ~/.claude/skills/ to make sure there isn't already a skill that covers this. If there's a close match, suggest it instead.
Summarize back to the user:
Ask the user:
Would you like to:
- Build the skill — I'll help you create it with proper structure and prepare a PR
- Request the skill — I'll file a GitHub issue so the maintainers know it's needed
- Share learnings — I'll scan your installed skills for discoveries, scrub personal details, and share them back to the repo
Check whether the /skill-creator skill is available. If available, delegate to it for the full create-test-iterate workflow.
When delegating to /skill-creator, provide this sales-specific context:
Repo conventions for this skill:
- Naming:
sales-<problem>for sales skills, descriptive names for marketing/GTM skills (e.g.,cold-email,launch-strategy)- Descriptions should use phrases salespeople and marketers actually say — "write a cold email", "prep for a discovery call", "handle this objection"
- Description must end with negative triggers:
Do NOT use for X (use /alternative)- SKILL.md is the only required file — keep it focused and actionable
- Skills should ask clarifying questions before acting (audience, stage, constraints)
- Skills route through
/sales-do— the description field determines when the router matchesSkill structure:
skills/<skill-name>/ ├── SKILL.md # Main instructions (required) ├── scripts/ # Deterministic operations (data fetching, validation, formatting) ├── references/ # Large reference material (>500 words — API docs, data models) ├── assets/ # Templates, examples, configuration files └── evals/ └── evals.json # Test cases (optional, generated by skill-creator or manually)SKILL.md body pattern (follow what other skills in this repo do):
- Step to gather context (ask 2-4 questions about the user's specific situation)
- Implementation steps with actionable output
- Templates or frameworks relevant to the problem domain
- Gotchas section with 3-5 common Claude failure points for this domain
- Output formatting guidance
- Next steps pointing to related skills
Key principles:
- Don't state the obvious: Focus on info Claude wouldn't know — internal conventions, domain gotchas, non-obvious patterns
- Avoid railroading: Use "typically" instead of "always". Give Claude flexibility to adapt to the situation.
- Scripts: If the skill involves deterministic operations (data fetching, formatting, validation), include scripts in
scripts/- Progressive disclosure: Move reference material >500 words to
references/directory
Then let skill-creator run its workflow.
Build the skill manually following the conventions above.
---
name: <skill-name>
description: "<What problem it solves>. Use when <trigger phrases the user would say>. Do NOT use for <X> (use /alternative)."
argument-hint: "[brief hint about expected arguments]"
license: MIT
version: 1.0.0
tags: [sales, <category>]
---
Read 2-3 existing skills in skills/ to match the tone and structure. Key things to get right:
Description field — This is how the /sales-do router and Claude decide whether to use the skill. Be specific about trigger phrases. Include both what the skill does AND when to use it:
# Bad: too vague
description: "Help with sales emails"
# Good: specific triggers, covers edge cases
description: "Write and optimize cold outbound email sequences. Use when writing first-touch cold emails, building multi-step outreach sequences, A/B testing subject lines, or improving reply rates on existing campaigns."
Body — Should follow the question-first pattern: gather context about the user's situation before producing output. Include templates, frameworks, or examples that make the output immediately useful.
Generate an evals/evals.json file inside the new skill directory with 2-3 realistic test cases. Each eval should represent a prompt a salesperson or marketer would actually say, with assertions describing what a good response looks like.
{
"skill_name": "<skill-name>",
"evals": [
{
"id": 0,
"prompt": "realistic user prompt a salesperson or marketer would say",
"expected_output": "description of what a successful response looks like",
"assertions": [
{"name": "assertion_name", "description": "specific thing to check in the output"}
]
}
]
}
Run the eval prompts with the skill active and verify the outputs pass the assertions. This matches the schema that /skill-creator uses, so evals work the same regardless of which build path created the skill.
After creating the skill files, submit a pull request. Do all of these steps — don't stop at "here's what to do":
skills/sales-do/SKILL.md — add a row to the appropriate routing tableREADME.md — add a row to the appropriate catalog tablegit checkout -b add-<skill-name>git add skills/<skill-name>/ evals/ skills/sales-do/SKILL.md README.md && git commit -m "Add <skill-name> skill"git push -u origin add-<skill-name>gh pr create \
--repo sales-skills/sales \
--title "Add <skill-name> skill" \
--body "$(cat <<'EOF'
## Summary
- **Problem**: <what the user is solving>
- **Category**: <which section it belongs in>
- **Example invocation**: `/<skill-name> <example prompt>`
## Files
- `skills/<skill-name>/SKILL.md` — main instructions
- `skills/sales-do/SKILL.md` — routing table updated
- `README.md` — catalog table updated
EOF
)"
Return the PR URL to the user when done.
File a GitHub issue on the repo. Do not just draft it — actually submit it:
gh issue create \
--repo sales-skills/sales \
--title "Skill request: <skill-name>" \
--body "$(cat <<'EOF'
## Problem
<What the user is trying to do, in their words>
## Category
<Which section this fits in: Prospecting, Active Deals, Strategy, Marketing, Research, Creative, etc.>
## Example use case
<A concrete scenario where this skill would help>
## Suggested trigger phrases
<2-3 phrases a salesperson or marketer might say that should route to this skill>
EOF
)"
Return the issue URL to the user when done.
Learnings accumulate in references/learnings.md files inside each installed skill as users discover API quirks, pricing changes, workarounds, and gotchas. This path scans those files, scrubs PII, and opens GitHub issues so individual discoveries can improve the skills for everyone.
Find all learnings files:
find ~/.claude/skills/*/references/learnings.md 2>/dev/null
Read each file. Skip:
<!-- shared:YYYY-MM-DD -->) or declined (<!-- declined:YYYY-MM-DD -->)If the user mentioned a specific skill or platform (e.g., "I found some Apollo gotchas"), acknowledge it and note that the scan will surface that skill's learnings alongside any others found.
If no unshared learnings are found across any installed skill, tell the user:
No unshared learnings found. Learnings accumulate automatically as you use skills — when you discover API quirks, workarounds, or gotchas, they get appended to each skill's
references/learnings.md. Come back after you've used some skills for a while.
Stop here if nothing is found.
For each skill that has unshared learnings, present a table:
| # | Learning | Generalizable? | Reason | |---|----------|---------------|--------| | 1 | ... | Yes/No | ... |
Generalizable (share these):
Not generalizable (skip these):
Ask the user to confirm or override the classifications before proceeding.
For each generalizable learning, find and replace personally identifiable information:
| Find | Replace with |
|------|-------------|
| Company or domain names | [Company], [domain] |
| People names | [Name] |
| Email addresses | [email] |
| GitHub/social handles | [handle] |
| Account, API, or workspace IDs | [account-id] |
| Internal URLs or IP addresses | [internal-url] |
| Negotiated or non-public pricing | Remove entirely (keep only publicly documented pricing) |
| Customer names | [customer] |
| Specific team names | [team] (keep generic ones like "Sales", "Marketing", "Engineering") |
Show before/after for each scrubbed learning and ask the user to confirm the scrubbed versions look correct before proceeding.
Create one issue per skill (focused, independently mergeable). Do not auto-submit — open the pre-filled issue in the browser for user review.
For each skill with shareable learnings, build a GitHub issue URL:
Learnings: sales-{skill-name}learningsURL-encode the title, body, and labels into a GitHub new-issue URL:
https://github.com/sales-skills/sales/issues/new?title=...&body=...&labels=learnings
Open each URL in the browser:
import subprocess
subprocess.run(['open', '-na', 'Google Chrome', '--args', '--profile-directory=Profile 6', url])
Never auto-submit via gh issue create for learnings — the user must review the scrubbed content before it goes public.
After the user confirms they've submitted the issue(s), mark every learning that was reviewed:
<!-- shared:YYYY-MM-DD --> to learnings the user submitted<!-- declined:YYYY-MM-DD --> to learnings the user classified as not generalizable or chose not to shareThis prevents re-prompting the same learnings on future runs.
Before submitting a new skill (via PR or skill-creator), verify:
sales-<problem> for sales, descriptive for marketing/GTM)license: MIT and metadata: { author, version }## Gotchas section with 3-5 common Claude failure points for this domainreferences/ directoryscripts/sales-do/SKILL.md updated with new rowevals/evals.json generated with 2-3 realistic test cases matching the skill-creator schemaUser says: "There should be a skill for writing quarterly business reviews — none of the existing ones cover it. Can we make one?"
Skill does:
skills/sales-do/SKILL.md and ~/.claude/skills/, finds no QBR skill, and summarizes the need, the closest existing skill, and the category (Strategy & Content)./skill-creator if available, passing the repo conventions (naming, description with negative triggers, question-first body, gotchas section).skills/qbr-prep/SKILL.md plus an evals/evals.json with 2-3 realistic test cases and runs them.skills/sales-do/SKILL.md and README.md, branches, commits, pushes, and runs gh pr create against sales-skills/sales.Result: A new skill directory, a passing eval file, updated routing and catalog tables, and a live pull request URL returned to the user.
User says: "I want a skill for managing channel-partner co-sell deals, but I don't have time to build it."
Skill does:
gh issue create on sales-skills/sales with a filled-in problem statement, category, example use case, and 2-3 suggested trigger phrases.Result: A GitHub issue is filed and its URL is returned — no draft left sitting in the chat.
User says: "I found some Apollo rate-limit gotchas while prospecting — push my learnings upstream."
Skill does:
~/.claude/skills/*/references/learnings.md, skipping empty stubs and entries already marked <!-- shared --> or <!-- declined -->.gh.<!-- shared:YYYY-MM-DD --> or <!-- declined:YYYY-MM-DD --> to each processed learning.Result: One review-ready issue per skill with scrubbed public content, and local learnings marked so they aren't re-prompted.
Cause: Step 1 (confirm the gap) was skipped, so a close-enough existing skill may already cover the request and a duplicate gets proposed.
Solution: Always check the routing table in skills/sales-do/SKILL.md and the installed skills in ~/.claude/skills/ before offering a path. If there's a close match, suggest that skill instead of building a new one.
gh pr create or gh issue create fails with an auth or permission errorCause: The gh CLI isn't authenticated, or the user lacks push access to sales-skills/sales.
Solution: Run gh auth status to confirm login; if not authenticated, prompt the user to run gh auth login. If they can't push to the upstream repo, fork it, push the branch to the fork, and open the PR from there — or fall back to Path B (file an issue) so the request is still captured.
Cause: All learnings files are empty stubs, or entries already carry a <!-- shared:YYYY-MM-DD --> / <!-- declined:YYYY-MM-DD --> marker, which the scan deliberately skips.
Solution: This is expected — tell the user learnings accumulate as skills are used and to return later. Never re-share marked entries; if a previously declined learning has become generalizable, remove its marker manually before re-running the scan.
/sales-do — Not sure which skill to use? The router matches any sales objective to the right skill. Install: npx skills add sales-skills/sales --skill sales-dotools
Wizlogo (wizlogo.com) platform help — a budget online logo maker (template/style-variation, marketed as "AI") plus a hub of FREE branding tools (business-name, blog-name and slogan generators, business-card maker, invoice generator, color converter, domain search). The pricing traps: the FREE logo is PERSONAL-USE-ONLY; the two cheap paid tiers are RASTER PNG/JPG only — Single (~€39.99 one-time) and Unlimited (~€3.99 per WEEK, recurring) — and VECTOR (SVG/PDF/EPS) is gated to the ~€299.99 Enterprise tier, which also bundles human designer edits and a social kit. Transparent PNG is on all paid plans. Use when making a Wizlogo logo, understanding free-vs-paid or personal-vs-commercial use, which tier unlocks vector/SVG for print, the weekly-subscription billing trap, its free name/slogan generators, or whether it has an API (UI-only — no public API, webhooks, Zapier or MCP). Do NOT use to just generate the business name (use /sales-namelix) or to compare/validate branding tools (use /sales-idea-validation).
tools
VistaPrint platform help (vistaprint.com, a Cimpress company) — the small-business design + print + digital-marketing platform: a free AI Logomaker (4 generations, 60 more after free sign-up) exporting SVG/PNG/PDF at 4000x4000 with no watermark, a free Brand Kit, business cards/flyers/signage/apparel/promo print, and a website builder. THE RIGHTS TRAP: VistaPrint states NO intellectual-property rights transfer on an AI-generated logo — you get usage rights but CANNOT register it for trademark or copyright; only its human designer service transfers full IP. Use when making a VistaPrint logo, asking if you own or can trademark it, running out of AI logo credits, printed colors not matching the screen, bleed/DPI/font file-prep rejections, or asking whether VistaPrint has an API (the consumer site does not — automation runs through the parent Cimpress Open partner-fulfilment API). Do NOT use for Vista Social scheduling (use /sales-vistasocial) or comparing logo tools market-wide (use /sales-idea-validation).
tools
Turbologo (turbologo.com) platform help — a budget AI/DIY logo maker: enter a business name + industry, pick icons and colors, and it proposes logo concepts you refine in an in-browser editor, then pay a one-time fee to download (designing is free, previews are watermarked, downloading is the paywall). Vector SVG/PDF is gated to the mid tier and up; the top tier adds a brand kit (business cards, letterheads, email signatures, social assets). Use when generating a logo in Turbologo, choosing which download tier to buy, vector SVG vs raster PNG, removing the free watermark, the time-limited edit-after-purchase window, pay-to-download pricing questions, whether an AI logo is yours to trademark, or whether Turbologo has an API to bulk-generate logos (it is UI-only — no public API, webhooks, Zapier, or MCP). Do NOT use to generate the business name (use /sales-namelix), compare or validate branding tools across the market (use /sales-idea-validation), or build wider marketing creative (use /sales-canva).
tools
Online Logo Maker (onlinelogomaker.com) platform help — a long-standing free/freemium DIY logo maker: build the mark yourself from icons, shapes, text, and fonts — MANUAL/template-based, NOT enter-a-name-get-AI-concepts. The free pack downloads a LOW-RES 300px PNG with a background; vector SVG, transparent PNG, and 2000px high-res are gated to a one-time lifetime Premium pack (not a subscription). The free tier's commercial-use rights are disputed by reviewers — clean ownership effectively needs Premium, and a shared-icon mark can be non-distinctive. Use for building/editing a logo here, free download vs Premium, vector SVG or transparent PNG, one-time pricing, commercial-use/trademark terms, near-namesake confusion (NOT LogoMaker.com / LogoMakr / Logomakerr.ai), or whether it has an API (UI-only — no API, webhooks, Zapier, MCP). Do NOT use to generate the business name (use /sales-namelix), compare branding tools across the market (use /sales-idea-validation), or build wider creative (use /sales-canva).