Claude-skill-registry crm
Research people and companies, add to CRM database with smart linking
git clone https://github.com/majiayu000/claude-skill-registry
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/crm" ~/.claude/skills/majiayu000-claude-skill-registry-crm-cf5da5 && rm -rf "$T"
skills/data/crm/SKILL.mdCRM 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 |
|---|---|---|
| Research person + company from domain | |
| Person name | | Research person only |
| Person + company | | Research both, link them |
| Company name | | Research company |
| Company domain | | Research company |
| LinkedIn URL (person) | | Research person |
| LinkedIn URL (company) | | 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
fieldcompany: "[[Database/Companies/Company-Name]]"
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:
(e.g.,First-Last.md
)John-Doe.md - Use
structureDatabase/People/Person-Template.md - Include all found information
- Link to company if identified
- Set relationship type (contact by default)
- Add research date and sources
Company Entry:
- Filename:
(e.g.,Company-Name.md
)Anthropic.md - Use
structureDatabase/Companies/Company-Template.md - 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.