update-lead
$
npx mdskill add aAAaqwq/AGI-Super-Team/update-leadUpdate lead status, contacts, and notes directly in the CRM.
- Modifies status, priority, and notes for existing leads or contacts.
- Reads and writes CSV files at specified CRM paths.
- Identifies records using email or LinkedIn URL masks.
- Saves updated data back to the CSV files immediately.
SKILL.md
.github/skills/update-leadView on GitHub ↗
---
name: update-lead
description: Update status, contacts, notes in CRM
---
# CRM Update Lead
> Updating status, priority, and other fields of an existing lead
## When to use
- "update status to responded"
- "change priority to high"
- "add a note"
- "change source to google"
- After receiving a response
## Paths
| What | Path |
|------|------|
| Leads | `$CRM_PATH/relationships/leads.csv` |
| People | `$CRM_PATH/contacts/people.csv` |
## How to update
```python
import pandas as pd
from datetime import date
# Load
df = pd.read_csv('$CRM_PATH/contacts/people.csv')
# Find by linkedin_url or email
mask = df['email'] == 'example@email.com'
# or
mask = df['linkedin_url'] == 'https://linkedin.com/in/example'
# Update fields
df.loc[mask, 'status'] = 'responded'
df.loc[mask, 'priority'] = 'high'
df.loc[mask, 'notes'] = 'Responded positively 2025-02-03'
df.loc[mask, 'last_updated'] = str(date.today()) # REQUIRED!
# Save
df.to_csv('$CRM_PATH/contacts/people.csv', index=False)
```
## How to update leads.csv
```python
import pandas as pd
from datetime import date
leads = pd.read_csv('$CRM_PATH/relationships/leads.csv')
mask = leads['lead_id'] == 'lead-example-001'
leads.loc[mask, 'stage'] = 'qualified'
leads.loc[mask, 'next_action'] = 'Schedule discovery call'
leads.loc[mask, 'next_action_date'] = '2026-03-10'
leads.loc[mask, 'last_updated'] = str(date.today())
leads.to_csv('$CRM_PATH/relationships/leads.csv', index=False)
```
## Batch update
```python
# Update all who responded "yes"
responded_emails = ['email1@test.com', 'email2@test.com']
for email in responded_emails:
mask = df['email'] == email
df.loc[mask, 'status'] = 'responded'
df.loc[mask, 'priority'] = 'high'
df.loc[mask, 'last_updated'] = str(date.today())
df.to_csv(path, index=False)
```
## Stages (leads.csv)
```
new -> qualified -> proposal -> negotiation -> won/lost
```
## Statuses (people.csv)
```
new -> researched -> contacted -> responded -> meeting -> won/lost
```
Do not skip stages without a reason.
## Source of Truth (since 2026-03-02)
**leads.csv `next_action` is the canonical source for sales follow-ups.**
- Do NOT create pm_tasks for sales follow-ups (invoices, payment checks, deal closing).
- Instead, update the lead's `next_action` and `next_action_date` in leads.csv.
- pm_tasks_master.csv is for dev/project tasks only.
## Source fields
Leads have three source fields:
- **source** — enum: google, website, facebook, linkedin, email, telegram, referral, direct, event, calendly, research
- **source_direction** — inbound or outbound
- **source_detail** — _(optional)_ campaign name, referrer, post URL, etc.
## Rules
1. **ALWAYS** update `last_updated`
2. If you change `status` -- add an explanation in `notes`
3. If there is a response -- record the text in `response` or `notes`
4. Verify the record exists before updating
5. For sales actions, update `next_action` + `next_action_date` in leads.csv (not pm_tasks)
## Related skills
- `query-leads` -- find a lead before updating
- `log-activity` -- log activity
- `telegram-check` -- check for responses
More from aAAaqwq/AGI-Super-Team
- a-fund-monitor监控 A 股基金实时估值与盘后净值,自动判断交易日并生成提醒或分析。
- account-executive>
- add-leadAdd company/person/relationship to CRM
- adsComprehensive ad account analysis across all major platforms (Google, Meta
- ads-agentAI-агент для управления Facebook рекламой. Вызывай для анализа, оптимизации, создания кампаний и отчётов.
- afrexai-compliance-auditRun internal compliance audits against major governance and security
- afrexai-personal-financeComplete personal finance system — budgeting, debt payoff, investing, tax optimization, net worth tracking, and financial independence planning. Use when managing money, building wealth, paying off debt, planning retirement, or optimizing taxes. Zero dependencies.
- after-salesUse when managing post-purchase experience, building customer loyalty, or increasing repeat purchases
- agent-contactsAI agent contacts — add, list, remove MCP contacts. Use when someone gives an agent URL, or when you need to view/remove contacts.
- agent-model-switcher批量查看和切换子 agent 的模型配置,用于统一调整多 agent 的 provider/model 设置。