CRM Add
SkillProductivityKeep your CRM up to date without doing the data entry yourself. Once this skill is added, your AI can save a company, a person, or a relationship to your CRM as a new lead. You tell it what to add, and the record goes in.
Available today. Use it from your connected AI after setup.
No other account needed.
After adding the skill, ask your AI to add a lead to your CRM and give it the company, person, or relationship details you want recorded.
Then ask your AI: use the CRM Add skill
What your AI can do with it
- Add a company to your CRM as a new lead
- Add a person to your CRM as a new lead
- Add a relationship to your CRM as a new lead
- Save new leads during a conversation when you share the details
What this skill tells your AI
The instructions your AI receives, as published by aaaaqwq/agi-super-team in skills/add-lead/SKILL.md and read by ahel’s review.
Adding a new company, person, or relationship
When to use
- "add company X"
- "add contact Y"
- "new client/partner/lead"
Architecture
See $SKILLS_PATH/skills/crm/README.md
Paths
| What | Path |
|---|---|
| Companies | $CRM_PATH/contacts/companies.csv |
| People | $CRM_PATH/contacts/people.csv |
| Clients | $CRM_PATH/relationships/clients.csv |
| Partners | $CRM_PATH/relationships/partners.csv |
| Leads | $CRM_PATH/relationships/leads.csv |
| Products | $CRM_PATH/products.csv |
Schemas
contacts/companies.csv
company_id,name,website,linkedin_url,type,industry,geo,size,description,created_date,last_updated
- type: company, enterprise, ngo, individual
- size: small, medium, enterprise, individual
contacts/people.csv
person_id,first_name,last_name,email,phone,linkedin_url,company_id,role,notes,created_date,last_updated
relationships/clients.csv
client_id,company_id,product_id,status,contract_start,contract_end,mrr,currency,primary_contact_id,notes,created_date,last_updated
- status: active, paused, churned
relationships/partners.csv
partner_id,company_id,product_id,partnership_type,status,since,primary_contact_id,revenue_share,notes,created_date,last_updated
- partnership_type: training_partner, workforce_partner, reseller_agreement, referral_partner
relationships/leads.csv
lead_id,company_id,product_id,stage,source,source_direction,source_detail,priority,primary_contact_id,estimated_value,currency,next_action,next_action_date,notes,created_date,last_updated,last_contact_via_primary
- stage: new, qualified, proposal, negotiation, won, lost
- source: google, website, facebook, linkedin, email, telegram, referral, direct, event, calendly, research
- source_direction: inbound, outbound
- source_detail: (optional) campaign name, referrer, post URL, etc.
How to add
1. New company
import pandas as pd
from datetime import date
df = pd.read_csv('$CRM_PATH/contacts/companies.csv')
# Check for duplicate
if 'example.com' in df['website'].values:
print("Company already exists!")
else:
new_row = {
'company_id': 'comp-example',
'name': 'Example Inc',
'website': 'example.com',
'type': 'company',
'industry': 'Technology',
'geo': 'USA',
'created_date': str(date.today()),
'last_updated': str(date.today())
}
df = pd.concat([df, pd.DataFrame([new_row])], ignore_index=True)
df.to_csv('$CRM_PATH/contacts/companies.csv', index=False)
2. New contact
# First make sure the company exists!
companies = pd.read_csv('$CRM_PATH/contacts/companies.csv')
if 'comp-example' not in companies['company_id'].values:
print("Add the company first!")
people = pd.read_csv('$CRM_PATH/contacts/people.csv')
new_person = {
'person_id': 'p-example-001',
'first_name': 'John',
'last_name': 'Doe',
'email': 'john@example.com',
'company_id': 'comp-example',
'role': 'CEO',
'created_date': str(date.today()),
'last_updated': str(date.today())
}
3. New client (relationship)
# Company and product must exist!
clients = pd.read_csv('$CRM_PATH/relationships/clients.csv')
new_client = {
'client_id': 'cli-example-001',
'company_id': 'comp-example',
'product_id': 'prod-labeling',
'status': 'active',
'contract_start': str(date.today()),
'primary_contact_id': 'p-example-001',
'created_date': str(date.today()),
'last_updated': str(date.today())
}
Validation (REQUIRED!)
Before saving:
- ID is unique
- company_id exists in companies.csv (for people, relationships)
- product_id exists in products.csv (for relationships)
- person_id exists in people.csv (for primary_contact_id)
- No duplicates (check by email, website, name)
- created_date and last_updated are filled in
After changes:
- Run
change-reviewskill before PR
ID formats
| Type | Format | Example |
|---|---|---|
| Company | comp-{name} | comp-acme |
| Person | p-{company}-{number} | p-acme-001 |
| Client | cli-{company}-{number} | cli-acme-001 |
| Partner | ptnr-{company}-{number} | ptnr-acme-001 |
| Lead | lead-{company}-{number} | lead-newco-001 |
Related skills
update-lead-- update existing recordquery-leads-- searchchange-review-- review before PR
Signals
- GitHub stars
- 92
- Forks
- 23
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
add-lead- Source
- github.com/aaaaqwq/agi-super-team