Agent skill
sales-bid-qualification
Decide bid, no-bid, or conditional on one opportunity by scoring the discovery brief against the service fit criteria and the ICP anti-fit criteria.
Filed under Calls, demos and discovery.
From b2bforce/b2bforce · 29 skills · 2 · pushed 2026-08-21
What it does when it runs
Decide bid, no-bid, or conditional on one opportunity by scoring the discovery brief against the service fit criteria and the ICP anti-fit criteria. Use before writing a proposal, when deciding whether to answer an RFP, or when the pipeline holds more requests than the firm can serve well.
Read from the skill and the 0 files 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-bid-qualification" mkdir -p ~/.claude/skills/sales-bid-qualification cp -R "/tmp/b2bforce/.agents/skills/sales-bid-qualification/." ~/.claude/skills/sales-bid-qualification/
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-bid-qualification/SKILL.md, which is licensed MIT (skill frontmatter). 1,006 words, 12 headings.
Bid Qualification
Decides whether this opportunity is worth a proposal, and records why.
Bid selectivity is one of the few levers with a measured effect on win rate: firms that qualify before proposing win around 56% of what they bid, against roughly 45% for firms that bid on everything. Saying no is a performance improvement, not lost revenue.
Read First
- The brief:
workspace/sales/opportunities/{opportunity}/!_discovery.md. workspace/firm/services/{service}.md— fit and anti-fit criteria.workspace/marketing/icp/{icp}.md—anti_fit_criteria.- Recent
outcome.mdfiles inworkspace/sales/opportunities/*/— what the firm has actually been losing, and to whom.
When to Use
- A discovery brief exists and someone wants a proposal.
- An RFP arrived and the firm must decide whether to answer.
- More requests are open than the firm can serve well.
- Before
sales-proposal— the Proposal Gate requires a decision here.
Core Rules
- Decide against written criteria in the service and ICP files, not against how much the team wants the work.
- A thin brief is not a bid decision. If
brief_quality: thin, returnpendingwith the questions that would resolve it. Do not qualify on guesswork. - Every decision carries a reason that names the criteria that drove it.
no_bidis a successful outcome of this skill. If the firm has never recorded ano_bid, the qualification step is decorative — say so.- Do not soften an anti-fit signal because the deal is large. Large bad-fit engagements are the expensive kind.
Decision
Write into !_discovery.md frontmatter:
bid_decision | Meaning |
|---|---|
bid | Propose. Fit is clear and the process is understood well enough. |
conditional | Propose only after a named condition is met. State the condition. |
no_bid | Decline, with a reason recorded. |
pending | Not decidable yet — brief too thin. |
Also set qualified: {date} and, for conditional, bid_condition: {one line}.
Then append the reasoning to the brief body under ## Qualification:
## Qualification
Decision: `conditional`
Condition: Economic buyer joins the next call before we invest proposal time.
Fit met: mid-market manufacturer, platform migration is our core service,
champion has budget authority for pilots.
Anti-fit triggered: no economic buyer contact yet (ICP anti-fit: "buying process
runs entirely through a technical champion").
Reasoning: The work is a good fit and the champion is credible, but every deal we
lost this year had the same gap. The condition is cheap to test and cuts the risk.
Scoring
Score five dimensions. Keep it qualitative — a numeric score implies precision this data does not have.
| Dimension | Strong | Weak |
|---|---|---|
| Problem fit | Maps to a service the firm sells and has done before | Adjacent, or would need new capability |
| Buyer access | Economic buyer reachable or already met | Champion only, no path upward |
| Budget reality | Stated, or a range hinted credibly | unknown with no way to test it |
| Timeline reality | Dated, with a consequence for slipping | No timeline, or "as soon as possible" |
| Capacity | Firm can staff it in the window | Would need to displace committed work |
Then apply the overrides below, which beat any amount of enthusiasm on the five dimensions.
Hard No-Bid Signals
Recommend no_bid when any of these holds, and state which one:
- An explicit anti-fit criterion in the service or ICP file is triggered and cannot be worked around.
- The firm cannot staff the work in the stated window without breaking a commitment to an existing client.
- Price is the only stated evaluation criterion and the firm does not compete on price.
- The buyer wants free scoping work — a detailed plan with no engagement.
- An incumbent vendor is in place, the buyer will not say why they are looking, and there is no access beyond the champion. This is often a compliance bid used to justify a renewal already decided.
- The RFP arrived late, the deadline does not allow real work, and the firm has no prior relationship.
- Compliance, legal, or reputational conflict.
The last three are cheap to miss and expensive to discover after the work is done. A firm answering 10 to 20 percent fewer RFPs, chosen deliberately, usually wins more of them.
Workflow
- Read the brief and the criteria files.
- If
brief_quality: thin, stop, setpending, return the questions. - Score the five dimensions from recorded facts. An
unknownin the brief is a weak score, never a neutral one. - Check the hard no-bid signals.
- Decide, and write
bid_decision,qualified, and the## Qualificationsection. Forconditional, state the condition as a testable event. - Set the next action: proposal, the condition to close, or the decline message.
- On
no_bid, offer to draft a short, respectful decline. A clean no protects the referral channel, which produces far more work than outbound does.
Feeding The Loop
When a no_bid reason repeats — the same anti-fit pattern three times — add it to
the ICP's anti_fit_criteria so the next qualification is faster and the pattern
is captured where content and prospecting skills also read it.
If the firm is measuring with workspace/pdca/, proposals declined for poor fit is
a higher_is_better leading metric. It is not a failure count.
Testing Requirements
- Qualify a
thinbrief; confirmpendingand returned questions. - Qualify a brief that triggers a documented anti-fit criterion; confirm
no_bidwith the criterion named. - Qualify a good-fit brief with no economic buyer contact; confirm
conditionalwith a testable condition. - Confirm
sales-proposalrefuses to run whilebid_decisionispendingorno_bid.
Related Skills
| Skill | When |
|---|---|
sales-discovery-brief | Produces the brief this skill scores |
sales-proposal | After bid or conditional |
sales-outcome-log | Records the result, including a declined bid |
marketing-icp | Update anti_fit_criteria when a no-bid reason repeats |
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-bid-qualification 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.