Agent skill
sales-discovery-brief
Turn call notes, an inbound email, or RFP text into a structured discovery brief for one opportunity, with a qualification verdict and the list of unanswered questions.
Filed under Calls, demos and discovery.
From b2bforce/b2bforce · 29 skills · 2 · pushed 2026-08-21
What it does when it runs
Turn call notes, an inbound email, or RFP text into a structured discovery brief for one opportunity, with a qualification verdict and the list of unanswered questions. Use when a prospect replies, a fit call happens, an RFP arrives, or before writing a proposal. Output to workspace/sales/opportunities/.
Read from the skill and the 1 file bundled beside it. A skill’s own description is written to be selected by an agent, so it describes the job and not the dependencies.
- Keys and connectors you must supply
- None found.
- Hosts it reaches
- No third-party host appears in the skill or its bundled files.
- Tool permissions it declares
- No
allowed-toolsin the frontmatter. It only issues instructions, so there is nothing to bound. - Actions present in the files
- None. Instructions only.
Install it
View source on GitHub ↗git clone --depth 1 --filter=blob:none --sparse https://github.com/b2bforce/b2bforce.git /tmp/b2bforce git -C /tmp/b2bforce sparse-checkout set ".agents/skills/sales-discovery-brief" mkdir -p ~/.claude/skills/sales-discovery-brief cp -R "/tmp/b2bforce/.agents/skills/sales-discovery-brief/." ~/.claude/skills/sales-discovery-brief/
Picked up without a restart. A project skill of the same name is shadowed by your personal one. For one repository only, swap ~/.claude/skills for .claude/skills. Claude Code docs ↗
The folder is the same in every client that implements the format — 46 of them — so if yours is not above, only the destination changes.
The skill
Source on GitHub ↗Reproduced in full from b2bforce/b2bforce/blob/7682ed90c62190a0f3c09eb135596d08bd6890bc/.agents/skills/sales-discovery-brief/SKILL.md, which is licensed MIT (skill frontmatter). 989 words, 25 headings.
Discovery Brief
Captures what is actually known about one opportunity before anyone writes a proposal. The brief is the input every later sales skill reads.
Most proposal time is lost to hunting for context, not to writing. A brief that records the buyer's own words, the decision process, and — critically — what is still unknown, is what makes a later proposal fast and specific.
Read First
workspace/firm/profile.md— what the firm sells.workspace/firm/services/{slug}.md— the candidate service, its fit and anti-fit criteria.workspace/marketing/icp/{slug}.mdand its personas — how this buyer type usually buys.- Existing folders in
workspace/sales/opportunities/— do not open a duplicate.
When to Use
- A prospect replied and there is something real to record.
- A fit or discovery call happened and notes exist.
- An RFP or inbound brief arrived.
- Someone wants a proposal and no brief exists yet.
Core Rules
Brand scope. In a multi-brand workspace (2+ brand homes in workspace/firm/brands/), every path this skill reads or writes is brand-scoped: definitional entities (services, ICP, personas, proof, channels) live in firm/brands/{brand}/…, working pipelines carry a {brand}/ segment under their entity root, and the working brand comes from the user's choice or B2BFORCE_BRAND — never guessed. Rules: Brand Scope Gate in AGENTS.md; paths: docs/WORKSPACE.md.
- One opportunity = one folder. Do not create a folder per conversation.
- Record only what was said. Everything else goes in
## Open questions. A brief that reads as complete when it is not is how a firm ends up proposing into a decision process it never understood. - Never invent budget, timeline, decision makers, or competitors. Absent is
unknown, not a guess. - Distinguish the buyer's words from your interpretation. Quote the buyer for the
problem statement; put your reading under
## Firm assessment. - Do not write a proposal in this skill and do not decide bid/no-bid here. Those
are
sales-proposalandsales-bid-qualification.
Output
Folder: workspace/sales/opportunities/{account}--{service}--{YYYY-MM}/
File: !_discovery.md
The !_ prefix marks it as needing attention until qualification runs, per the
repo's naming convention.
Frontmatter:
---
account: acme-industrial
account_public: false
service: platform-migration
icp: mid-market-manufacturing
persona: cto-mid-market
source: inbound | referral | outbound | rfp | existing_client
opened: 2026-07-25
updated: 2026-07-25
budget_signal: unknown # stated | range_hinted | unknown | no_budget
timeline_signal: unknown # dated | quarter_hinted | unknown | no_timeline
decision_process: unknown # mapped | partial | unknown
competitors_known: []
bid_decision: pending # set by sales-bid-qualification
brief_quality: thin # thin | workable | strong
---
Body sections:
## Situation
## Problem in the buyer's words
## Impact
## Desired outcome
## Decision process
## Constraints
## Firm assessment
## Open questions
## Next action
Field-by-field rules and a worked example: references/brief-fields.md.
Brief Quality
Set brief_quality honestly, because the Proposal Gate reads it.
| Value | Means |
|---|---|
thin | Problem is vague, or no impact, decision process, and timeline |
workable | Problem and desired outcome are concrete; one or two gaps remain |
strong | Problem, impact, outcome, decision process, and constraints all recorded |
A thin brief is a normal first state after a short inbound email. Say what is
missing and what question would close the gap.
Refuse To Proceed
If the user asks for a proposal from a thin brief, do not write one. Return the
three questions that would move the brief to workable and offer to draft the
follow-up message that asks them.
This refusal is the point of the skill. A proposal built on a thin brief is where the average firm spends eight hours and loses.
Workflow
1. Identify the opportunity
Slug the account in kebab-case. Pick the service the request most likely maps to;
if two services could fit, record both under ## Firm assessment and let
qualification decide.
Check for an existing folder for the same account and service. If found, update it instead of creating a second one.
2. Extract from the source
Work through the source material once, and write down only what is present:
- the problem, quoted where possible;
- what it costs them today — money, time, risk, or blocked work;
- what they say they want instead;
- who decides, who influences, and what has to happen for a yes;
- constraints: timing, budget, incumbent vendor, internal capacity, compliance.
For an RFP, also record the submission deadline, required format, and evaluation criteria if stated.
3. Mark the gaps
Everything not stated goes under ## Open questions as a question you would
actually ask, not a field name. "Who else has to approve this besides you?" beats
"decision process: unknown".
4. Assess fit
Compare against the service's fit and anti-fit criteria and the ICP. Write your
reading under ## Firm assessment — including reasons this might not be a good
fit. Do not soften anti-fit signals; they are what makes the next step cheap.
5. Set the next action
One concrete next step with an owner. Then hand off to
sales-bid-qualification.
Testing Requirements
- Build a brief from a three-line inbound email; confirm
brief_quality: thinand that## Open questionsis the longest section. - Ask for a proposal from that brief; confirm the skill refuses and returns questions instead.
- Build a brief from full call notes; confirm
workableorstrong. - Re-run for the same account and service; confirm it updates rather than creating a second folder.
Reference Files
| File | Content |
|---|---|
references/brief-fields.md | Section rules, signal vocabularies, worked example |
Related Skills
| Skill | When |
|---|---|
sales-bid-qualification | Next — decides bid or no-bid on this brief |
sales-proposal | After a bid or conditional decision |
marketing-icp | The ICP or persona for this buyer does not exist yet |
firm-context | Firm profile or service definition missing |
Files bundled with it
These load only when the skill asks for them, so they cost nothing until it runs.
Other skills for the same job
Different authors, same problem. Matched on the words in the skill name, across every library in the catalogue except this one.
- sales-enablement by coreyhaines31 · 45,947
- sales-pipeline by ericosiu · 3,449
- sales-playbook by ericosiu · 3,449
- sales by zubair-trabzada · 1,079
- sales-competitors by zubair-trabzada · 1,079
- sales-contacts by zubair-trabzada · 1,079
- sales-followup by zubair-trabzada · 1,079
- sales-icp by zubair-trabzada · 1,079
Need help setting it up?
This page tells you what sales-discovery-brief does and what it needs. Cheetah builds the agent setup it runs inside: data, CRM, sequencing and the guardrails.
Book a call →The directory stays free. There is nothing gated behind this.