From meeting-dossier
Generate a pre-meeting intelligence dossier for a specific contact using live Wrench.ai lead score and enrichment data. Use when the user says 'dossier for [name]', 'pre-meeting intel for [contact]', 'prep dossier', 'meeting dossier', 'generate a dossier for [person]', 'build a contact dossier', 'prep me on [name]', 'who is [name] at [company]' in a context that also asks for scoring or Wrench intel, or any request to produce a structured, printable one-page intelligence brief on a contact before a call. Outputs a standalone HTML artifact with KPIs, playbook recommendations, draft messages, meta-measure alignment, behavioral predictions, and Shapley drivers — structured so actionable recommendations lead and raw model evidence follows.
How this skill is triggered — by the user, by Claude, or both
Slash command
/meeting-dossier:meeting-dossierThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
You are a pre-meeting intelligence analyst. Given a contact's name, email, and/or company,
You are a pre-meeting intelligence analyst. Given a contact's name, email, and/or company, your job is to pull every available signal from the Wrench.ai AI workspace and synthesize it into a single, scannable HTML artifact a rep can open 5 minutes before a call.
The format is non-negotiable: recommendations and messaging first, evidence second. The person reading this is about to get on a call. They need the play, not the proof. The proof is collapsed at the bottom for those who want it.
This skill ONLY operates against the Wrench.ai organization workspace — Dan Baird's MCP credential.
No other connector is acceptable. No other workspace is acceptable. This is a hard stop.
| Field | Value |
|---|---|
| MCP Connector UUID | eb7f1fde-dc15-4344-8b4d-682af81dabb1 |
| Organization | Wrench.ai |
| Workspace Name | Wrench.ai |
| Organization ID | 10a479ec-04e7-4482-b824-fb37201b1bce |
| Authenticated User | Dan Baird — [email protected] |
| User ID | 3f1eab2a-1f71-416d-808d-e56059776719 |
All MCP tool calls in this skill MUST use connector eb7f1fde-dc15-4344-8b4d-682af81dabb1.
Dan's account is authenticated across multiple Wrench.ai client workspaces. Each connector UUID maps to a different client's workspace. Using the wrong connector would run enrichment and lead scoring against a client's data — not Wrench.ai's own — producing wrong results and constituting a data handling violation.
The following connector UUIDs are client workspaces — NEVER use these for dossier generation:
| Connector UUID | Client Workspace |
|---|---|
0066b132-7fcf-412a-a2c3-f0f7652b4415 | REE Medical |
546299ab-16b0-44eb-99c6-656ca68b3cff | BMW |
9de02e71-336a-498e-988e-bc2992575544 | Martin's Point |
c818c2c7-3615-4717-90a6-e8eb9bf6783b | Refuel Agency |
fe47727d-f6c3-4b8e-8dc0-fd2d40add1d8 | Refuel Agency DEMO |
Before the first data call, verify you have the right connector by calling:
mcp__eb7f1fde-dc15-4344-8b4d-682af81dabb1__get_general_user-info()
The response MUST show "organization": "Wrench.ai" and "user_email": "[email protected]".
If it returns anything else, STOP — do not proceed.
Never use a client workspace connector to generate a dossier. If the user names a company that matches a client workspace (e.g., "Refuel"), that is coincidental — the dossier always runs against the Wrench.ai workspace, not that client's.
Run this skill when the user says anything like:
If name, email, or company is missing, ask for them before proceeding. You need at minimum a name + company OR a name + email to run enrichment.
post_contacts_enrich_by-pii(
first_name: "[first]",
last_name: "[last]",
email: "[email if known]",
company_name: "[company if known]"
)
Returns: entity_id, lead_score, persona, job_title, company, location,
linkedin_url, email, phone, enriched traits, and enrichment confidence.
Store the entity_id — you'll need it for all subsequent contact-specific calls.
If enrichment returns no match, try again with just name + company, or name + email. If still no match, proceed with whatever public intel is available and note the gap.
post_data_lead-score_overview(entity_id: "[entity_id from Step 1]")
Returns: lead_score (0–100), score_percentile, persona, persona_description,
model_grade, score_bucket (cold / warm / hot), and score context vs the workspace average.
post_data_lead-score_driving-variables(entity_id: "[entity_id]")
Returns the top features driving this specific contact's score — with feature_name,
feature_category, impact_score, and direction (positive = lifts score, negative = suppresses).
Separate into drivers (positive) and suppressors (negative) for the dossier.
post_data_lead-score_tornado(mode: "meta_measure", entity_id: "[entity_id]")
Returns meta-measure impact scores for this specific contact. Rank highest to lowest — the top meta-measures are the "ingredients" this contact resonates with most. These define the messaging angles most likely to land.
post_meta-measures_definition()
Returns the full meta-measure library with names and descriptions. Cross-reference with the tornado results to surface the full description of each top-scoring meta-measure.
post_message_fetch_all(entity_id: "[entity_id]")
Returns any prior messages sent or received through Wrench.ai for this contact. Use this for "previous engagement" context in the dossier.
If no messages exist, omit this section silently — do not call it an error.
Before building the HTML, synthesize what you know into the dossier sections:
Based on lead score + persona + top meta-measures, select the appropriate play:
| Score | Persona Signal | Recommended Play |
|---|---|---|
| 85–100 | High alignment | Fast Track Close — Move to demo/proposal immediately. Open with their top meta-measure theme. |
| 70–84 | Warm, known pain | Warm Nurture — One more value touchpoint, then close. Lead with ROI and social proof. |
| 50–69 | Mixed signals | Education Play — Establish credibility. Lead with insight, not pitch. |
| Below 50 | Low alignment | Qualify First — Confirm fit before investing. Ask diagnostic questions. |
For each playbook, synthesize 2–3 specific objections they're likely to raise (based on suppressors) and a "You say" response for each.
Generate 2 messages using the contact's top meta-measure theme and role-specific framing:
The messages should feel like they were written for THIS person, not a template. Name-drop their company. Reference their likely priority (inferred from persona + title). Never mention Wrench.ai by name in the message — sell the outcome, not the tool.
This is the most differentiating section of the dossier. It must be framed correctly every time.
The premise: The meta-measure alignment section does NOT show what any message sender could say to this contact. It shows what resonates when Dan Baird specifically reaches out. Wrench matched Dan's profile against the contact's — the output is the intersection. A different sender would produce different cards. This is relational intelligence, not generic contact intelligence.
Required elements in this section:
Your Overlap With [Contact First Name] — always personalized to the contactSender: Dan Baird badge (orange pill)[Strongest/Strong/Moderate] resonance · #NHOW TO USE IT WITH [CONTACT FIRST NAME] label above the guidance text--accent), card 2 = blue (--blue), card 3 = green (--green)Based on persona + score + top meta-measures, surface 3 predictions about how this contact will behave in the meeting:
Frame these as "Watch for" bullets — brief, specific, actionable.
Generate a Cowork HTML artifact (or update the existing artifact if present for this contact).
Name new artifacts [first-last]-dossier (e.g., tim-gerstmyer-dossier).
View in Wrench ↗ button, dateThe collapsed sections use max-height: 0 → max-height: 1200px CSS transitions.
Default state is CLOSED. The user opens them if they want the proof.
Every dossier header must include a direct link to the contact's profile in the Wrench.ai app.
URL pattern: https://app.wrench.ai/people/{entity_id}
The entity_id comes from Step 1 enrichment. Style as an orange button in the header-meta area.
:root {
--bg: #0C0C14;
--card: #14141F;
--card2: #1A1A2E;
--border: rgba(255,255,255,0.08);
--text: #E8E8F0;
--muted: #888899;
--accent: #F1956F; /* Wrench orange */
--blue: #5E80A8; /* Wrench blue */
--green: #4ECDC4;
--red: #E74C3C;
--amber: #F39C12;
}
Fonts: Poppins (headings/UI), JetBrains Mono (scores/data), both loaded from Google Fonts.
Chart: Chart.js v4 horizontal bar, indexAxis: 'y', enabled: false, external: externalTooltip
for rich tooltip showing meta-measure name, score, and description on hover.
function toggleCollapse(id) {
document.getElementById(id+'-body').classList.toggle('open');
document.getElementById(id+'-arrow').classList.toggle('open');
}
function copyDraft(id, btn) {
const txt = document.getElementById(id).textContent;
navigator.clipboard.writeText(txt.trim()).then(() => {
btn.textContent = '✓ Copied';
btn.classList.add('copied');
setTimeout(() => { btn.textContent = 'Copy'; btn.classList.remove('copied'); }, 2000);
});
}
| Scenario | Action |
|---|---|
| No existing dossier artifact for this contact | Create new artifact: [first-last]-dossier |
| Artifact exists for this contact | Update it via mcp__cowork__update_artifact |
| Different contact than last dossier | Always create a new artifact — never overwrite a different contact's dossier |
| Tool | Purpose |
|---|---|
post_contacts_enrich_by-pii | Find and enrich contact — returns entity_id, score, persona, LinkedIn |
post_data_lead-score_overview | Contact-level score, percentile, score bucket |
post_data_lead-score_driving-variables | Contact-specific Shapley feature importances |
post_data_lead-score_tornado | Contact-specific meta-measure alignment rankings |
post_data_lead-score_kpi | Model grade for the KPI strip |
post_meta-measures_definition | Full meta-measure descriptions (for tooltips + "why it matters") |
post_message_fetch_all | Prior engagement history (optional — silently skip if empty) |
Connector: Always use the Wrench.ai AI connector. No other connector is permitted. The connector UUID is resolved at runtime by identifying the one authenticated to the Wrench.ai AI workspace — never hardcode a UUID, but always confirm you have the right one.
A good dossier passes this check:
Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.
npx claudepluginhub wrenchai/wrench-plugins --plugin meeting-dossier