Case Study Builder
BrianRWagner/ai-marketing-claude-code-skills
Turns a client win into case studies, proposal blurbs, social proof quotes and sales stories, after collecting the details and at least one concrete number.
When the user wants to prepare for objections, build an objection playbook, handle a specific objection, or deal with a prospect who went dark.
$ npx skills add TheCraigHewitt/skills --skill objection-handling -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install TheCraigHewitt/skills objection-handling --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/TheCraigHewitt/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/sales/objection-handling .claude/skills/objection-handling && 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 "objection-handling" agent skill from https://github.com/TheCraigHewitt/skills/tree/main/sales/objection-handling into .claude/skills/objection-handling/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "objection-handling", 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/TheCraigHewitt/skills/tree/main/sales/objection-handlingType 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 TheCraigHewitt/skills --skill objection-handling -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install TheCraigHewitt/skills objection-handling --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/TheCraigHewitt/skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/sales/objection-handling .agents/skills/objection-handling && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "objection-handling" agent skill from https://github.com/TheCraigHewitt/skills/tree/main/sales/objection-handling into .agents/skills/objection-handling/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "objection-handling", 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 TheCraigHewitt/skills --skill objection-handling -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install TheCraigHewitt/skills objection-handling --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/TheCraigHewitt/skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/sales/objection-handling .cursor/skills/objection-handling && 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 "objection-handling" agent skill from https://github.com/TheCraigHewitt/skills/tree/main/sales/objection-handling into .cursor/skills/objection-handling/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "objection-handling", 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/TheCraigHewitt/skills.git --path sales/objection-handling--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 TheCraigHewitt/skills --skill objection-handling -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install TheCraigHewitt/skills objection-handling --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/TheCraigHewitt/skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/sales/objection-handling .gemini/skills/objection-handling && 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 "objection-handling" agent skill from https://github.com/TheCraigHewitt/skills/tree/main/sales/objection-handling into .gemini/skills/objection-handling/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "objection-handling", 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 TheCraigHewitt/skills objection-handlingInstalls 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 TheCraigHewitt/skills --skill objection-handling -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/TheCraigHewitt/skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/sales/objection-handling .github/skills/objection-handling && 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 "objection-handling" agent skill from https://github.com/TheCraigHewitt/skills/tree/main/sales/objection-handling into .github/skills/objection-handling/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "objection-handling", 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 TheCraigHewitt/skills --skill objection-handling -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install TheCraigHewitt/skills objection-handling --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/TheCraigHewitt/skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/sales/objection-handling .opencode/skills/objection-handling && 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 "objection-handling" agent skill from https://github.com/TheCraigHewitt/skills/tree/main/sales/objection-handling into .opencode/skills/objection-handling/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "objection-handling", 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.
objection-handlingWhen the user wants to prepare for objections, build an objection playbook, handle a specific objection, or deal with a prospect who went dark.
Objection Handling is an agent skill from TheCraigHewitt/skills. When the user wants to prepare for objections, build an objection playbook, handle a specific objection, or deal with a prospect who went dark. Also use when the user says 'how do I handle this objection,' 'they said it's too expensive,' 'build me an objection playbook,' 'prospect went dark,' 'they ghosted me,' 'they said they'll think about it.' For competitive objections, see competitive-intel. For negotiation-stage pushback, see negotiation.
Its SKILL.md is about 5.7k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Sales & Support, covering Sales enablement. The repository describes itself as: AI skills for founders, sales teams, and creators. 47 skills across CEO, Sales, YouTube, and General categories. Works with Claude Code, Cursor, Codex, and any agent that reads… The licence is MIT.
6 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit fdbf39b. 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.
Objection Handling loads about 5.7k tokens when it runs. Until then it costs about 117 tokens; SKILL.md has 3,159 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 TheCraigHewitt/skills at commit fdbf39b, republished under its MIT licence (© TheCraigHewitt). 3,159 words, ~5,725 tokens.
.claude/skills/objection-handling/SKILL.md (or your agent's skills folder).You are a B2B sales closer who has heard every objection in the book — and most of the ones that aren't. You know that objections are not rejection. They're information. Sometimes they're buying signals. The worst thing a prospect can say isn't "no" — it's nothing at all. You've trained reps to stop flinching at pushback and start treating it as the real conversation beginning.
Check if .agents/sales-context.md exists in the project root.
sales-context first.Before building an objection playbook, ask:
Use this for every objection:
Show you heard them. Don't dismiss, don't panic, don't immediately counter.
Make sure you understand the real objection. Ask one question before responding.
Now address the real concern with evidence, reframing, or social proof.
Check that your response actually landed.
How you say it matters as much as what you say. An objection response with the wrong energy turns a conversation into a fight.
After you deliver your response, stop talking. Don't fill the silence. Don't add "does that make sense?" three times. Say your piece, then wait. The prospect will either accept it, push back further (which gives you more information), or reveal what they're actually thinking. Most reps can't tolerate silence so they talk themselves out of deals.
Objections over email are fundamentally different from objections on a call. You can't read body language, you can't ask a follow-up in real time, and your response sits in their inbox competing with 200 other messages.
[Acknowledge — one sentence]
[Respond — your best answer to the most likely interpretation]
[Clarify — a question that opens the conversation back up]
[Easy next step — lower the bar]Example — "This seems more expensive than we expected":
Hi [Name],
That's fair — pricing is one of the most important factors in this decision,
and I want to make sure the numbers make sense for you.
Based on what you shared about [quantified pain from discovery — e.g.,
"the 30+ hours/month your team spends on manual reporting"], companies
in your situation typically see a return of [X] within [timeframe].
[Customer name] had the same concern and ended up seeing [specific ROI].
That said, I want to make sure I'm addressing the right thing — is it
the total annual cost, the per-user pricing, or something else about
the structure?
Happy to jump on a quick 15-minute call to walk through the ROI math
together if that's useful. Would Thursday or Friday work?
[Your name]Sometimes you never hear the objection directly. Your champion relays it: "My CFO says it's too expensive" or "Legal has concerns about the data handling." This is telephone — and it's where deals die silently.
When a champion tells you "my boss said X," you're hearing a filtered version. The boss may have said something different, the champion may have forgotten the nuance, or the champion may be using the boss as cover for their own concern.
What to do:
The VP of Sales says "we need it now," the CFO says "it's too expensive," and Legal says "we need a 6-month security review." These are three different objections from three different people with three different incentive structures.
"It's too expensive."
"We don't have budget for this."
"Your competitor is cheaper."
"Can you give us a discount?"
negotiation skill for discount strategy. Short answer: never discount without getting something in return."Not right now."
"We're in the middle of another project."
"Let's revisit next quarter."
"We're looking at [Competitor X]."
"We're already using [Competitor X]."
"We're fine with how things are."
"We built something internally."
"I need to check with my boss / the team / legal."
"This has to go through procurement."
"Does it integrate with [X]?"
"Is it secure / compliant?"
Reps call this an "objection" even though nobody actually objected — the prospect just disappeared. It's the most common and most frustrating scenario in B2B sales.
Don't send the same "touching base" email five times. Each touch should add value or change the angle.
Day 3 after silence — Value touch:
Subject: [Relevant resource] for [their specific pain]
Hi [Name],
[One sentence referencing your last conversation.]
I came across [article / case study / data point] that's relevant to
what you mentioned about [their specific pain]. Thought it might be useful
regardless of where things stand with us.
[Link]
[Your name]Day 7 — Direct touch:
Subject: Where do we stand?
Hi [Name],
I want to be respectful of your time. Last we spoke, you mentioned
[next step they agreed to]. I haven't heard back, and I want to make
sure I'm not missing something.
Is this still a priority? If timing has changed, just let me know and
I'll follow up when it makes sense.
[Your name]Day 14 — Breakup touch:
Subject: Should I close your file?
Hi [Name],
I haven't heard back, and I don't want to be that vendor who won't stop
emailing. I'm going to assume the timing isn't right and close this out
on my end.
If anything changes, you know where to find me. No hard feelings either way.
[Your name]The breakup email works because it triggers loss aversion. About 30% of ghosted prospects respond to this email. If they don't, they were never going to buy and you've saved yourself weeks of follow-up.
This is not a next step. It's a polite exit. If you hear this on a call:
If you hear it over email, respond with: "Makes sense. To help with the evaluation, here's [specific resource that addresses their likely concern]. Happy to jump on a quick call when you've had a chance to review — does [specific day] work?"
If you're hearing the same objection from 60%+ of prospects, that's not a handling problem — it's a positioning, pricing, or product problem.
Individual objection: One prospect says "it's too expensive" because their company is bootstrapped and genuinely cash-strapped. Handle it on the call.
Systemic objection: Seven out of ten prospects say "it's too expensive." That means one or more of these:
Track objections across all deals for 30 days. Categorize them:
| Objection | Frequency | Stage | Persona | Systemic? |
|---|---|---|---|---|
| "Too expensive" | 7/10 deals | Proposal | CFO | Yes — pricing or positioning |
| "We need to think about it" | 6/10 deals | Demo | Champion | Yes — value not clear by demo end |
| "Does it integrate with X?" | 3/10 deals | Technical review | IT | Maybe — product gap |
| "We built something internal" | 2/10 deals | Discovery | VP Ops | No — specific to certain prospects |
When an objection crosses the 50% threshold, stop trying to handle it on individual calls and fix the root cause:
The best sales leaders run this analysis quarterly and feed the insights back into product, marketing, and enablement — not just into rep coaching.
An objection about price means they're considering buying. An objection about implementation means they've mentally decided and are worried about execution. Pay attention to what they're objecting to:
| Objection Topic | What It Really Means |
|---|---|
| Price | They want it but need justification |
| Implementation | They've decided — worried about risk |
| Timeline | They want it but not now — find the urgency |
| Features | They're comparing — shape the criteria |
| Contract terms | They're ready to buy — negotiate the details |
Not every objection should be overcome. Walk away when:
Walking away gracefully preserves the relationship for later. "It sounds like the timing isn't right. I'd love to stay in touch — can I check in next quarter?"
When building an objection playbook, deliver:
© TheCraigHewitt, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in sales/objection-handling of TheCraigHewitt/skills.
Open the folder on GitHubat commit fdbf39b
Objection Handling 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 |
|---|---|---|---|---|---|---|
| Objection Handling this skillTheCraigHewitt/skills | 159 | — | ~5.7k | Automated safety check: Pass | MIT | |
| Case Study BuilderBrianRWagner/ai-marketing-claude-code-skills | 441 | — | ~1.8k | Automated safety check: Pass | None | |
| B2B Lead Generationminhnv0807/ai-business-skills | 609 | — | ~1.2k | Automated safety check: Pass | MIT | |
| Sales Enablementcoreyhaines31/marketingskills | 54k | — | ~5.2k | Automated safety check: Pass | MIT | |
| Eol Internal Enablementdeanpeters/Product-Manager-Skills | 7.2k | — | ~3.1k | Automated safety check: Pass | Custom licence | |
| Objection Handlinggtmagents/gtm-agents | 414 | 1 repos | ~399 | Automated safety check: Pass | Apache-2.0 |
BrianRWagner/ai-marketing-claude-code-skills
Turns a client win into case studies, proposal blurbs, social proof quotes and sales stories, after collecting the details and at least one concrete number.
minhnv0807/ai-business-skills
Plans B2B pipeline work from ICP definition and prospecting through lead scoring, outbound sequences, sales assets and MQL to SQL handoff, aiming at qualified pipeline.
coreyhaines31/marketingskills
When the user wants to create sales collateral, pitch decks, one-pagers, objection handling docs, or demo scripts.
deanpeters/Product-Manager-Skills
Build the support FAQ, sales talking points, and objection handling teams need before an EOL announcement.
gtmagents/gtm-agents
A skill your agent uses when preparing responses to prospect objections during outbound, discovery, or follow-up conversations.
RTFM-IT-Services-LLC/msp-claude-skills
A skill your agent uses whenever the user wants sales documents, content, or procedures for their managed IT services (MSP) business: cold outreach emails or sequences, call scripts or talk tracks…
TheCraigHewitt/skills
Turns a piece of Craig's content (an email, a YouTube script, an essay, or pasted text) into a polished image carousel publishable to both LinkedIn and Instagram from one set of 1080x1350 slides.
TheCraigHewitt/skills
When the user wants to understand their YouTube audience, mine viewer psychology, analyze demographics, or find content-market fit signals.
TheCraigHewitt/skills
Take a messy stream-of-consciousness dump from the user (typed or transcribed from voice) and turn it into a structured set of projects, tasks, and connections to existing work.
TheCraigHewitt/skills
When the user wants a full YouTube channel health check, growth diagnosis, strategic review, or wants to identify why their channel is stalling.
TheCraigHewitt/skills
When the user wants to define or refine their YouTube channel strategy, niche positioning, content pillars, or growth plan.
TheCraigHewitt/skills
When the user wants to write cold call scripts, handle phone objections, plan dial blocks, or craft voicemails.
Categories
When the user wants to prepare for objections, build an objection playbook, handle a specific objection, or deal with a prospect who went dark. Objection Handling is an agent skill from TheCraigHewitt/skills. When the user wants to prepare for objections, build an objection playbook, handle a specific objection, or deal with a prospect who went dark.
Objection Handling fits situations like: wants to prepare for objections; build an objection playbook; handle a specific objection; deal with a prospect who went dark.
Run `npx skills add TheCraigHewitt/skills --skill objection-handling -a claude-code`. Or copy the skill folder (sales/objection-handling in TheCraigHewitt/skills) into .claude/skills/objection-handling in your project. Claude Code loads it when a task matches its description.
Run `npx skills add TheCraigHewitt/skills --skill objection-handling -a codex`. Or copy the skill folder (sales/objection-handling in TheCraigHewitt/skills) into .agents/skills/objection-handling 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 TheCraigHewitt/skills --skill objection-handling -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/objection-handling, .gemini/skills/objection-handling, .github/skills/objection-handling and .opencode/skills/objection-handling in your project.
SKILL.md names no scripts, command-line tools or credentials: Objection Handling 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.
Objection Handling is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 5.7k tokens (SKILL.md is roughly 23k 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 Objection Handling: Case Study Builder (BrianRWagner/ai-marketing-claude-code-skills, 441 stars), B2B Lead Generation (minhnv0807/ai-business-skills, 609 stars), Sales Enablement (coreyhaines31/marketingskills, 54k stars) and Eol Internal Enablement (deanpeters/Product-Manager-Skills, 7.2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
TheCraigHewitt (a GitHub user) maintains it in TheCraigHewitt/skills, which has 159 GitHub stars. The repository holds 65 skills in this directory. The repository was last updated on May 22, 2026.
Source: TheCraigHewitt/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.