From sales
This skill should be used when the user asks to 'analyze RFP', 'read this RFP', or 'shred this RFP'.
npx claudepluginhub jamon8888/cc-suite --plugin SalesThis skill uses the workspace's default tool permissions.
Turn a 50-page PDF into a 1-page summary and a draft response.
Mandates invoking relevant skills via tools before any response in coding sessions. Covers access, priorities, and adaptations for Claude Code, Copilot CLI, Gemini CLI.
Share bugs, ideas, or general feedback.
Turn a 50-page PDF into a 1-page summary and a draft response.
┌─────────────────────────────────────────────────────────────────┐
│ STANDALONE (always works) │
│ ✓ Analyze Fit Score (0-100) based on ICP and Capabilities │
│ ✓ Detect Red Flags (Unlimited Liability, Source Code Escrow) │
│ ✓ Extract Requirements Matrix (Must-Haves vs Nice-to-Haves) │
│ ✓ Draft standard answers for Security, GDPR, SLA │
├─────────────────────────────────────────────────────────────────┤
│ SUPERCHARGED (connect ~~knowledge-base) │
│ + Search your previous proposals for "Best Answers" │
│ + Auto-fill 60-80% of technical questions │
└─────────────────────────────────────────────────────────────────┘
Trigger: "Analyze this RFP [upload PDF]."
Actions:
references/red-flags.md.
references/scoring-matrix.md.
Output: A "Decision Memo" with the Score and Top 3 Risks.
Trigger: "Summarize the requirements."
Actions:
Requirement | Compliance (Y/N/Partial) | Effort to Build.Output: A Markdown table of the "Must-Haves".
Trigger: "Draft answers for Section 4 (Security)."
Actions:
data/2-Domaines/sales-profile.json (Product Info).references/response-templates.md.sales-profile.json or PDF language.data/2-Domaines/icp.json.references/red-flags.md: List of terms that kill deals.references/scoring-matrix.md: The math behind the decision.references/response-templates.md: Standard answers for Security, SLA, Support.SENTINEL_ROOT = "${CLAUDE_PLUGIN_ROOT}/../sentinel-v8"
sentinel_installed = file_exists(f"{SENTINEL_ROOT}/.claude-plugin/plugin.json")
Skip this section entirely if sentinel_installed is False. RFP Shredder works identically without it.
Activate only when Phase 1 produces a borderline score (50–79).
Step 1 — questioner (bid/no-bid bias check)
Load bias IDs: [7, 14, 18, 1]
Generate 3–4 questions targeting the real bid/no-bid factors:
Step 2 — failure-finder (bid pre-mortem)
For borderline GO decisions, invoke failure-finder:
"You submitted the proposal. It's 90 days later. You lost. What happened?"
Generate 4 failure modes specific to RFP contexts:
Step 3 — calibration record
For every GO decision (including clear GOs), record a calibration prediction:
"Confidence you will win this RFP: [X%]"
Write to ../sentinel-v8/data/decision-ledger.json via calibration-coach.
After 10+ RFPs: run /sentinel-review to see your actual win rate vs. stated confidence.
For borderline scores, insert a Bid Hygiene section between the score and the recommendation:
## Bid Hygiene (Sentinel) — Score: [X]/100
Questions to answer before committing:
1. [questioner question — relationship status]
2. [questioner question — sunk cost check]
3. [questioner question — incumbent signal]
Pre-mortem top risk:
→ [highest likelihood failure mode] — Early warning: [signal to watch]
Decision: [GO / NO-GO]
Confidence recorded: [X%] — tracked for win-rate calibration.
Standard Decision Memo with fit score, red flags, and GO / NO-GO recommendation. No change.
SENTINEL_ROOT = "${CLAUDE_PLUGIN_ROOT}/../sentinel-v8"
sentinel_installed = file_exists(f"{SENTINEL_ROOT}/.claude-plugin/plugin.json")
Trigger: After Phase 1 score is calculated, if score is 50–80 (borderline GO) OR any time score > 80 and a red flag was detected. Standalone mode: Decision memo stands as-is.
Step A — questioner (../sentinel-v8/agents/questioner.md)
Pass bias_ids: [7, 14, 18, 29] (Sunk Cost, Overconfidence, Status Quo, Groupthink).
Ask 3 questions targeting bid/no-bid traps:
Sunk cost check: "You've read the RFP. That investment of time creates pull toward GO. If you received this RFP today and hadn't read it yet — knowing only the score and red flags — would you decide to read it?"
Incumbent check: "Is there any signal in the RFP that it was written with a specific vendor in mind? Custom requirements, specific certifications, unusual scoring weights?" (RFPs written around an incumbent account for ~40% of lost bids.)
Relationship check: "Do you have a contact at the buying organization who can tell you whether this is a real open competition or a compliance exercise?" If no: flag RISK.
Step B — failure-finder (../sentinel-v8/agents/failure-finder.md)
Mode 1 (pre-mortem) for any GO decision. Frame:
"It's 90 days after submission. You lost the bid. What happened?"
Generate 4 failure modes specific to RFP sales:
incumbent_advantage — the winner had a relationship you didn't know aboutscope_mismatch — you bid on what they asked, not what they actually needprice_miscalibration — your price was outside their unstated budget ceilingteam_thin — the proposal was strong but your delivery team didn't match the evaluation criteriaFor each: likelihood (HIGH/MEDIUM/LOW) + prevent_by action you can take before submission.
Step C — calibration record
For every GO decision, record:
{
"decision": "RFP bid: [client/project]",
"prediction": "Will win this bid",
"confidence": <fit_score / 100 as float>,
"review_date": "<expected award date>",
"plugin": "sales/rfp-shredder"
}
Over time, calibration-coach tracks your actual RFP win rate vs your confidence scores — revealing whether your fit-score model is calibrated.
Output integration — insert between Phase 1 Decision Memo and Phase 2 Extraction:
## Bid/No-Go Hygiene (Sentinel)
**Pre-bid questions to answer before proceeding:**
1. [Sunk cost question]
2. [Incumbent signal question]
3. [Relationship question]
**Pre-mortem failure modes:**
| Risk | Likelihood | Prevention |
|------|-----------|------------|
| [Mode 1] | HIGH | [Action] |
| [Mode 2] | MEDIUM | [Action] |
**Prediction recorded** — win confidence: [fit_score]% — review: [award date]
---
if sentinel_installed and fit_score >= 50: # GO or borderline
invoke("sentinel-v8: questioner") → challenge the fit assumptions
invoke("sentinel-v8: failure-finder") → surface why this RFP could blow up
Present before committing: "Sentinel raised: [top 2 challenges]. How do you respond before we invest in the full response?"
Scan for language patterns that suggest the RFP was written around an existing vendor:
Red flags for incumbent-favoring specs:
If 2+ patterns detected: "⚠️ This RFP may be written for an incumbent. Consider: is this worth pursuing if the decision is pre-made?"