# User Context

> Generate a seller context profile from enriched company + LinkedIn data. Produces a structured "What I Sell / Who I Sell To / Who Am I" summary that other CRM skills can reference. Triggers on: "seller context", "user context", "who am I selling", "generate context", "onboarding context", "crm context".

- Skill: `extruct-ai/user-context` (Agent Skill)
- Install (CLI): `npx skillmds@latest add extruct-ai/user-context`
- Raw SKILL.md: https://api.skillmd.com/api/skills/extruct-ai/user-context/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: extruct-ai (https://skillmd.com/u/extruct-ai)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/extruct-ai/user-context

---


# User Context Summarization

Turn enriched company and personal data into a structured seller context that other CRM skills use as input.

## Inputs

The user provides one or more of:
- Their company name or domain
- Their LinkedIn profile URL
- Their Attio workspace context
- Manual overrides for any section

If not provided, attempt to infer from:
- The `.env` file (company domain patterns in email addresses)
- The Extruct context file at `context/extruct_context.md` (if it exists)
- Ask the user

## Workflow

### Step 1: Gather company data

#### From Extruct context file (preferred)
Check if `context/extruct_context.md` exists in the repo. If so, read it for:
- Product description, value prop
- ICP definition
- Win cases and proof points
- Voice rules

#### From web (fallback)
If no local context exists, use web search to research the company.

### Step 2: Gather personal data

#### From LinkedIn (if URL provided)
Use the Extruct Reverse Lookup table (via `get_table_data` on the Extruct MCP, using the `EXTRUCT_REVERSE_LOOKUP_TABLE_ID` from `.env`) or AnySite MCP to pull LinkedIn profile data.

#### From Attio (MCP)
Use `search-records` with `object = "people"` and the user's name or email to find their record. Extract:
- Job title, role
- Email signature patterns
- Communication style (from sent emails via Gmail MCP)

#### From Gmail (tone analysis)
Call `gmail_search_messages` with `from:me` (limit 5) to sample the user's writing tone.

### Step 3: Generate the context profile

Produce a structured document with these sections:

```markdown
# Seller Context

## What I Sell
- **Product:** {one-line description}
- **Category:** {market category}
- **Key capabilities:** {3-5 bullet points}
- **Primary value prop:** {one sentence}
- **Differentiators:** {what makes it different from alternatives}
- **Proof points:** {notable customers, metrics, case studies}

## Who I Sell To
- **ICP:** {ideal customer profile — industry, size, stage}
- **Buyer personas:** {titles and roles that buy}
- **Pain points addressed:** {2-3 core problems solved}
- **Common objections:** {what prospects push back on}
- **Competitors they evaluate:** {who else they look at}

## Who Am I
- **Name:** {full name}
- **Role:** {job title}
- **Company:** {company name}
- **Tone:** {communication style — formal/casual, technical/accessible}
- **Signature style:** {how emails typically end}
- **Relationship approach:** {consultative, transactional, technical advisor}
```

### Step 4: Save and confirm

Save the context profile to `revops/seller_context.md`.

Ask the user to review and correct any assumptions. Update the file with their edits.

This file is referenced by:
- `meeting-followup` — for tone matching
- `meeting-prep` — for understanding what to pitch
- `deal-reengagement` — for value prop and angle generation
- `deal-intelligence` — for relationship framing

## Environment

| Variable | Source | Purpose |
|----------|--------|---------|
| Extruct | MCP (`https://api.extruct.ai/mcp`) | Company and people enrichment |
| Attio | MCP (Attio connector) | CRM — people records |
| Gmail | MCP (`claude.ai Gmail`) | Tone sampling |

## Reference

- CRM enrichment context: `revops/CRM_ENRICHMENT.md`

