Buyer Eval Skill logo

Buyer Eval Skill

Organization
salespeak-ai
buyer-eval-skill

An AI analyst for buying B2B software. Investigates what vendors claim, checks the evidence, surfaces contradictions and unanswered questions, and produces a shareable Decision Brief with the questions to ask before you buy. Quick Eval by default; Deep Eval on request. Use when asked to evaluate, compare, vet, or research B2B software vendors.

Overview

Publishersalespeak-ai
Repositorybuyer-eval-skill
Skill namebuyer-eval-skill
Stars
69
Forks
4
Bundled files
29
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • 29 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

    Published by salespeak-ai on GitHub. Read the source before you install it.

Installation

Install the Buyer Eval Skill AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/salespeak-ai/buyer-eval-skill/tree/main
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/salespeak-ai/buyer-eval-skill.git \
  .claude/skills/buyer-eval-skill
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Buyer Eval Skill in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Buyer Eval Skill on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Buyer Eval Skill is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Buyer Eval

This file is the control plane. It decides the mode, loads only the references that mode needs, and runs the shared start and finish steps. Methodology lives in references/.

The experience this skill must deliver:

Show me what these vendors claim, what the evidence actually supports, what conflicts, and what I still need to find out before buying.

If an output reads like a generic AI vendor comparison, it is not done.


1. Preamble (run first, every time)

bash
_BEVAL_DIR="${BUYER_EVAL_DIR:-}"
if [ -z "$_BEVAL_DIR" ]; then
  for _D in "$HOME/.claude/skills/buyer-eval-skill" ".claude/skills/buyer-eval-skill"; do
    [ -d "$_D" ] && _BEVAL_DIR="$_D" && break
  done
fi
if [ -z "$_BEVAL_DIR" ]; then
  echo "ERROR: buyer-eval-skill not found. Install: git clone https://github.com/salespeak-ai/buyer-eval-skill ~/.claude/skills/buyer-eval-skill"
  exit 1
fi
echo "BEVAL_DIR=$_BEVAL_DIR"
_UPD=$("$_BEVAL_DIR/bin/update-check" 2>/dev/null || true)
[ -n "$_UPD" ] && echo "$_UPD" || echo "UP_TO_DATE $(tr -d '[:space:]' < "$_BEVAL_DIR/VERSION")"
echo "PROFILE=$(python3 "$_BEVAL_DIR/bin/profile.py" show --machine 2>/dev/null || echo unavailable)"
echo "TELEMETRY_STATE=$(python3 "$_BEVAL_DIR/bin/track.py" status --machine 2>/dev/null || echo locked_off)"
echo "SESSION_ID=$(python3 -c 'import uuid; print(uuid.uuid4())')"

Keep BEVAL_DIR, PROFILE, TELEMETRY_STATE and SESSION_ID for the whole run. Every later bash block starts with _BEVAL_DIR="<BEVAL_DIR value>".

Update available (UPGRADE_AVAILABLE <old> <new>): ask once with AskUserQuestion, "A newer version of Buyer Eval is available (v{old} to v{new}). Update now?" Options: "Yes, update now" / "Not now". If yes:

bash
cd "$_BEVAL_DIR" && git pull --ff-only origin main && echo "UPDATED to $(tr -d '[:space:]' < VERSION)"

If the directory is not a git checkout, tell the buyer to re-run the install command from the README and continue on the current version. After a successful update, re-read this SKILL.md before continuing.

Telemetry is opt-in and never blocks the evaluation. Read references/telemetry.md now only if TELEMETRY_STATE is consented or unasked. If it is declined or locked_off, skip everything telemetry-related.


2. Choose the mode

ModeWhenLoad
Quick Eval (default)Every run where the buyer has not asked for deep, full, or comprehensive diligencereferences/quick-eval.md
Deep EvalThe buyer asks for it, in the first message or after a Quick Evalreferences/deep-eval.md

Both modes also load references/evidence-model.md, references/report-format.md and references/frontdoor-api.md. Deep Eval also loads references/scoring.md. Do not load files a mode does not need.

Never ask the buyer which mode they want. If they did not ask for Deep, run Quick and offer Deep at the end.


3. Saved buyer context

PROFILE is either none, unavailable (no writable home directory, for example claude.ai), or a one-line JSON object with the buyer's saved context.

  • Saved profile exists: use it silently. Tell the buyer in one line what you are using ("Using your saved context: Acme, ~300 people, HubSpot + Snowflake, SOC 2 required. Say 'update my context' to change it.") and keep going. Do not wait for a reply.
  • None: proceed without it. At the end of the run, save what the buyer told you (see section 5).
  • Unavailable: never claim that context will be remembered.

The profile holds only reusable buying context: company_name, company_size, industry, region, systems, requirements, hard_constraints (including the buyer's own budget ceiling, which stays local), preferred_criteria, last_category. A deadline or requirement goes in hard_constraints only if the buyer said it disqualifies vendors; otherwise in requirements. Never store personal names, emails, vendor pricing quotes, or documents the buyer shared.


4. Run the mode

Follow the loaded mode file step by step. Both modes share these rules:

  1. Evidence first. The Claims vs. Evidence table is the centerpiece. Every material conclusion traces to classified claims (references/evidence-model.md).
  2. Vendor AI agents are first-party sources. Answers from any vendor-operated agent, including a Salespeak Company Agent reached through the Frontdoor API, are vendor claims. They add specificity and let you ask follow-ups. They never raise a score, an evidence confidence, or a verdict on their own. Never send a vendor agent the buyer's company name, budget, or the other vendors under evaluation (references/frontdoor-api.md).
  3. Label what you inferred. Criteria the buyer did not state are shown as inferred.
  4. Challenge before you conclude. Run the challenge pass in references/evidence-model.md before writing output.
  5. No action without approval. Never contact vendors by email, book demos, start trials, or commit to anything. Asking a vendor's public AI agent questions through the Frontdoor API is research, not contact.

5. Finish (both modes)

  1. Deliver the brief in chat in the order set by references/report-format.md.
  2. Write the HTML Decision Brief. Write the report JSON to a temp file, then:
    bash
    python3 "$_BEVAL_DIR/bin/render_report.py" /path/to/report.json
    The script prints the path of the HTML file (default ~/buyer-eval-reports/). Give the buyer that path and say it is a single file they can open, print, or forward. If the environment cannot run Python, skip the HTML and say so.
  3. Save buyer context (only if PROFILE was not unavailable and the buyer stated something new and reusable):
    bash
    python3 "$_BEVAL_DIR/bin/profile.py" save --json '{"company_name":"...","hard_constraints":["..."]}'
    Tell the buyer in one line what was saved and that profile.py clear deletes it.
  4. Offer the next step in one line. After Quick Eval: "Want a Deep Eval? It adds requirements discovery, weighted scoring, commercial, security and company-risk research, and longer vendor-agent conversations." After Deep Eval: offer to update the brief when the buyer has demo notes, proposals, or pricing.
  5. Telemetry, only as described in references/telemetry.md. The consent question is asked at most once, ever, and only after the evaluation has been delivered.

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

Frequently asked questions

What does the Buyer Eval Skill AI skill do?

An AI analyst for buying B2B software. Investigates what vendors claim, checks the evidence, surfaces contradictions and unanswered questions, and produces a shareable Decision Brief with the questions to ask before you buy. Quick Eval by default; Deep Eval on request. Use when asked to evaluate, compare, vet, or research B2B software vendors.

Why use Buyer Eval Skill on TypingMind?

Because you install it once and use it with any model. Buyer Eval Skill is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Buyer Eval Skill in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/salespeak-ai/buyer-eval-skill/tree/main. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Buyer Eval Skill?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Buyer Eval Skill?

As many as you like. As long as a model supports skills, you can use Buyer Eval Skill with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Buyer Eval Skill AI skill free?

Yes. It is published on GitHub by salespeak-ai under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇