Chalk Labs
Need help deploying buyer-eval-skill?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/salespeak-ai-buyer-eval-skill
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: research
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Python package
Network hosts it talks to 4
22i9zfydr3.execute-api.us-west-2.amazonaws.com· found in codeapi.elevenlabs.io· found in codecodeload.github.com· found in install commandgithub.com· found in code
Files it touches
~/.claude/skills/buyer-eval-skill/dev/null/etc/salespeak/buyer-eval.json- Your home directory (~)
What's inside
- Skill name
buyer-eval-skill- Description
- 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.
- License
- MIT
- Instructions
- 143 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
Agent Skills spec issues
- allowed-tools: must be a space-separated string
Files (35)
- .gitignore
- CHANGELOG.md
- EVALUATION.md
- LICENSE
- MEASUREMENT.md
- README.md
- SKILL.md
- VERSION
- profile.py · bin/
- render_report.py · bin/
- track.py · bin/
- update-check · bin/
- index.html · docs/
- illustrative-brief.html · examples/
- illustrative-brief.json · examples/
- buyer-eval-brief.gif · promo/
- buyer-eval-claims.gif · promo/
- buyer-eval-demo.mp4 · promo/
- buyer-eval-run.gif · promo/
- .gitignore · promo/video-src/
- README.md · promo/video-src/
- brief.png · promo/video-src/public/
- BuyerEval.tsx · promo/video-src/src/
- index.tsx · promo/video-src/src/
- voice-durations.json · promo/video-src/src/
- tsconfig.json · promo/video-src/
- generate.sh · promo/video-src/voice/
- script.json · promo/video-src/voice/
- deep-eval.md · references/
- evidence-model.md · references/
- frontdoor-api.md · references/
- quick-eval.md · references/
- report-format.md · references/
- scoring.md · references/
- telemetry.md · references/
SKILL.md (first lines)
# 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
| Mode | When | Load |
|---|---|---|
| **Quick Eval** (default) | Every run where the buyer has not asked for deep, full, or comprehensive diligence | `references/quick-eval.md` |
| **Deep Eval** | The buyer asks for it, in the first message or after a Quick Eval | `references/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)From salespeak-ai/buyer-eval-skill, MIT.
Signals
- Stars
- 67
- Forks
- 4
- Open issues
- 0
- Last commit
- Sep 29, 2026 (1 month ago)
- Last release
- Mar 31, 2026 (7 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/salespeak-ai/buyer-eval-skill
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get buyer-eval-skill running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
buyer-eval-skill. Agent Mart. https://agentmart.dev/skills/salespeak-ai-buyer-eval-skill (last updated 2026-10-24)