crm
About
The CRM skill enables developers to research people and companies and add them to a CRM database with intelligent linking. It automatically detects entity types from various inputs like emails, names, domains, and LinkedIn URLs to perform targeted research. This Telegram skill is invoked with `/crm` and handles relationship discovery between entities.
Quick Install
Claude Code
Recommended/plugin add https://github.com/majiayu000/claude-skill-registrygit clone https://github.com/majiayu000/claude-skill-registry.git ~/.claude/skills/crmCopy and paste this command in Claude Code to install this skill
Documentation
CRM Skill
Telegram Skill - Invoke with /crm (no parameters)
This is a Telegram skill. When invoked with /crm, the skill will prompt you for the query to research and add people or companies to the Database with intelligent linking and relationship discovery.
Input Detection
The skill auto-detects entity type from query:
| Input Type | Example | Action |
|---|---|---|
john@anthropic.com | Research person + company from domain | |
| Person name | John Doe | Research person only |
| Person + company | John Doe at Anthropic | Research both, link them |
| Company name | Anthropic | Research company |
| Company domain | anthropic.com | Research company |
| LinkedIn URL (person) | linkedin.com/in/username | Research person |
| LinkedIn URL (company) | linkedin.com/company/name | Research company |
Execution Flow
Phase 1: Entity Detection & Duplicate Check
- Parse Input: Determine if query is person, company, or both
- Check Duplicates:
- People: Match by email > LinkedIn URL > name (case-insensitive)
- Companies: Match by domain > LinkedIn > name
- If fuzzy match found, ask user to confirm
- If multiple matches, show differentiators and let user decide
Phase 2: Research
For Person:
Use web search to find:
- LinkedIn profile (priority)
- Current company and role
- Email address (if not provided)
- Twitter/X profile
- Location
- Professional background and achievements
- Recent news or notable projects
For Company:
Use web search to find:
- Company website
- LinkedIn company page
- Industry and description
- Company stage (seed/series-a/public/etc)
- Company size (employee count)
- Location (headquarters)
- Twitter/X handle
- Recent news or funding announcements
Research Best Practices:
- Verify information from multiple sources
- Focus on publicly available professional information only
- Clearly indicate uncertain/unavailable information
- Add research date and sources for reference
Phase 3: Smart Linking
Person → Company Linking:
- If person's company is found during research
- Check if company exists in
Database/Companies/ - If company doesn't exist:
- Ask user: "Would you like me to create a company entry for [Company Name]?"
- If yes, research and create company entry
- Link person to company via
company: "[[Database/Companies/Company-Name]]"field
Company → People Discovery:
When researching a company, offer to find key people:
- Ask user: "Would you like me to research key people at [Company Name] (founders, executives, decision-makers)?"
- If yes:
- Search for 3-5 key people (founders, C-suite, VPs)
- Show list of found people with roles
- Ask: "Which of these people should I add to the database?"
- Create entries for selected people with company links
Person → Coworkers Discovery:
When researching a person, offer to find coworkers:
- Ask user: "Would you like me to search for [Person]'s coworkers at [Company]?"
- If yes:
- Search for people at the same company (LinkedIn, team pages)
- Show list of found coworkers with roles
- Ask: "Which coworkers should I add to the database?"
- Create entries for selected people with company links
Phase 4: Create or Update Entry
If Updating Existing Entry:
- Read current file completely
- Merge new information with existing data
- PRESERVE all user-added content:
- Notes section
- Interaction history
- Custom tags
- Relationship info
- Next actions
- Add update note with date at bottom
- Only update fields with new/better information
If Creating New Entry:
Person Entry:
- Filename:
First-Last.md(e.g.,John-Doe.md) - Use
Database/People/Person-Template.mdstructure - Include all found information
- Link to company if identified
- Set relationship type (contact by default)
- Add research date and sources
Company Entry:
- Filename:
Company-Name.md(e.g.,Anthropic.md) - Use
Database/Companies/Company-Template.mdstructure - Include all found information
- Set relationship type (prospect by default)
- Add research date and sources
- Include Contacts Base query for dynamic people list
File Structure Templates
Person Entry:
---
type: person
company: "[[Database/Companies/Company-Name]]"
role: VP Engineering
email: person@company.com
linkedin: https://linkedin.com/in/username
twitter: https://twitter.com/username
location: San Francisco, CA
relationship: contact
last_contact:
next_action:
created: 2026-01-21
tags:
- person
- contact
---
# Full Name
## Role & Background
Current role and background information.
## Contact Information
- Email: [[email]]
- LinkedIn: [[linkedin]]
- Twitter: [[twitter]]
- Location: [[location]]
- Company: [[company]]
## Relationship
Type: [[relationship]]
How we know each other, context of relationship.
## Interaction History
### YYYY-MM-DD
Notes from meeting/interaction...
## Tasks & Projects
Related tasks or projects involving this person.
```base
filters:
and:
- file.inFolder("Database/Tasks")
- assignee == link(this.file)
views:
- type: table
name: Tasks
order:
- status
- priority
Notes
Additional context, interests, preferences, etc.
Research Date: [current date] Sources: [list sources]
### Company Entry:
```markdown
---
type: company
industry: Industry Name
stage: startup
size: 1-10
location: City, Country
website: https://example.com
linkedin: https://linkedin.com/company/name
twitter: https://twitter.com/company
relationship: prospect
last_interaction:
next_action:
tags:
- company
- prospect
---
# Company Name
## Overview
Brief description of what the company does.
## Details
- **Industry**: [[industry]]
- **Stage**: [[stage]] (seed/series-a/series-b/public/etc)
- **Size**: [[size]] employees
- **Location**: [[location]]
- **Website**: [[website]]
## Relationship
Type: [[relationship]] (prospect/partner/client/vendor/investor/etc)
Context of relationship.
## Contacts
People we know at this company:
```base
filters:
and:
- file.inFolder("Database/People")
- company == link(this.file)
views:
- type: table
name: Contacts
order:
- role
- file.name
Interaction History
YYYY-MM-DD
Notes from meeting/interaction...
Projects & Opportunities
Related projects or business opportunities.
Notes
Additional context, competitive intel, etc.
Research Date: [current date] Sources: [list sources]
## Response Format
**IMPORTANT**: Never mention file paths (Database/People/, Database/Companies/) or file extensions (.md) in responses. Only mention entity names (person names, company names).
### New Person Entry:
✅ Research completed for [Person Name] 📍 Person profile created
Key Info: • Role: [Job Title] at [Company] • Location: [Location] • Email: [Yes/No] • LinkedIn: [Yes/No]
[2-3 sentence summary of background]
Company: [Created/Linked to existing] [Company Name] Sources: [N] reviewed
### New Company Entry:
✅ Research completed for [Company Name] 📍 Company profile created
Key Info: • Industry: [Industry] • Stage: [Stage] • Size: [Size] • Location: [Location]
[2-3 sentence summary of what they do]
Sources: [N] reviewed
### Updated Entry:
✅ Research completed for [Person/Company Name] 📍 [Person/Company] profile updated
Updates: • [What changed] • [What changed]
Sources: [N] reviewed
### With Related Entities Added:
✅ Added [N] people from [Company Name]
📍 [Person Name] → [Role] | [Key background points]
📍 [Person Name] → [Role] | [Key background points]
All linked to [Company Name].
## User Interaction Examples
### Example 1: Email Input with Company Creation
User: /crm Assistant: Please provide the person or company you'd like to research. User: john@anthropic.com Assistant: [Searches for John and Anthropic] Assistant: Found John Doe, VP of Engineering at Anthropic. Anthropic doesn't exist in the database yet. Would you like me to create a company entry for Anthropic? User: yes Assistant: [Creates both entries, links them] ✅ Research completed for John Doe 📍 Person profile created 📍 Company profile created: Anthropic
### Example 2: Company with People Discovery
User: /crm Assistant: Please provide the person or company you'd like to research. User: Anthropic Assistant: [Researches Anthropic] Would you like me to research key people at Anthropic (founders, executives)? User: yes Assistant: [Searches for key people] Found the following key people at Anthropic:
- Dario Amodei - CEO & Co-founder
- Daniela Amodei - President & Co-founder
- Tom Brown - Co-founder
Which of these people should I add to the database? (You can select multiple or say "all") User: 1 and 2 Assistant: [Creates entries for Dario and Daniela] ✅ Added 2 people from Anthropic
📍 Dario Amodei → CEO & Co-founder
📍 Daniela Amodei → President & Co-founder
All linked to Anthropic.
### Example 3: Person with Coworkers Discovery
User: /crm Assistant: Please provide the person or company you'd like to research. User: Jane Smith at Example Corp Assistant: [Researches Jane Smith] Would you like me to search for Jane's coworkers at Example Corp? User: yes Assistant: [Searches for coworkers] Found the following coworkers:
- Bob Johnson - VP Sales
- Alice Chen - Director of Engineering
- Mike Davis - Product Manager
Which coworkers should I add? (You can select multiple or say "all") User: skip Assistant: [Creates only Jane's entry] ✅ Research completed for Jane Smith 📍 Person profile created
## Best Practices
### Duplicate Prevention:
- Always check duplicates BEFORE researching
- Match by email (highest priority), then LinkedIn, then name
- For names, check variations (John vs J., Smith vs Smyth)
- If uncertain, ask user to confirm
### Information Quality:
- Verify from multiple sources when possible
- Mark uncertain information clearly
- Don't invent information if not found
- Save partial information rather than nothing
### User Experience:
- Always ask before adding related entities
- Show clear options for user selection
- Provide context (roles, differentiators) in choices
- Allow "skip" or "none" as valid responses
### File Management:
- Use consistent filename conventions
- Preserve all user-added content when updating
- Document what changed and when
- Include research date and sources
### Relationship Context:
- Default to "contact" for people, "prospect" for companies
- If context suggests different relationship, use appropriate type
- Document how/why entity was added in Relationship section
## Relationship Types
### For People:
- `contact` - General external contact (default)
- `colleague` - Team member or coworker
- `client` - Customer or client contact
- `partner` - Partnership or collaboration contact
- `investor` - Investor or VC contact
### For Companies:
- `prospect` - Potential client or partner (default)
- `partner` - Active partnership
- `client` - Paying customer
- `vendor` - Service provider to us
- `investor` - Current or potential investor
- `competitor` - Competitive intelligence
## Tone
Professional, factual, organized, efficient. Focus on actionable information without fluff.
GitHub Repository
Related Skills
content-collections
MetaThis skill provides a production-tested setup for Content Collections, a TypeScript-first tool that transforms Markdown/MDX files into type-safe data collections with Zod validation. Use it when building blogs, documentation sites, or content-heavy Vite + React applications to ensure type safety and automatic content validation. It covers everything from Vite plugin configuration and MDX compilation to deployment optimization and schema validation.
llamaindex
MetaLlamaIndex is a data framework for building RAG-powered LLM applications, specializing in document ingestion, indexing, and querying. It provides key features like vector indices, query engines, and agents, and supports over 300 data connectors. Use it for document Q&A, chatbots, and knowledge retrieval when building data-centric applications.
hybrid-cloud-networking
MetaThis skill configures secure hybrid cloud networking between on-premises infrastructure and cloud platforms like AWS, Azure, and GCP. Use it when connecting data centers to the cloud, building hybrid architectures, or implementing secure cross-premises connectivity. It supports key capabilities such as VPNs and dedicated connections like AWS Direct Connect for high-performance, reliable setups.
polymarket
MetaThis skill enables developers to build applications with the Polymarket prediction markets platform, including API integration for trading and market data. It also provides real-time data streaming via WebSocket to monitor live trades and market activity. Use it for implementing trading strategies or creating tools that process live market updates.
