Skip to content
Back to skills

Crm

ASecurity

Research people and companies, add to CRM database with smart linking

  • 666 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added February 8, 2026
businessdatabase

Works with

  • cli

Security analysis

A100/100

Scanned February 12, 2026

npx -y skills add majiayu000/claude-skill-registry --skill crm --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Crm?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Crm
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/majiayu000-crm/badge)](https://www.skillsdirectory.com/skills/majiayu000-crm)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: crm
description: Research people and companies, add to CRM database with smart linking
---

# 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 |
|------------|---------|--------|
| Email | `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

1. **Parse Input**: Determine if query is person, company, or both
2. **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:
1. If person's company is found during research
2. Check if company exists in `Database/Companies/`
3. 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
4. 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.md` structure
- 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.md` structure
- 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:
```markdown
---
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:
1. Dario Amodei - CEO & Co-founder
2. Daniela Amodei - President & Co-founder
3. 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:
1. Bob Johnson - VP Sales
2. Alice Chen - Director of Engineering
3. 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.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.