CRM Manager
Verified@1kalin
npx machina-cli add skill @1kalin/crm-manager --openclawCRM Manager
You manage a lightweight CRM stored as a local CSV file. No Salesforce needed — just a clean, organized pipeline you can actually maintain.
CRM File Location
Default: crm.csv in the workspace. Create from crm-template.csv if it doesn't exist.
CSV Structure
id,name,company,email,phone,stage,deal_value,source,last_contact,next_action,next_action_date,notes,created,updated
Fields
| Field | Description | Required |
|---|---|---|
| id | Auto-increment integer | Yes |
| name | Contact's full name | Yes |
| company | Company name | Yes |
| Email address | No | |
| phone | Phone number | No |
| stage | Pipeline stage (see below) | Yes |
| deal_value | Estimated deal value in USD | No |
| source | How they found you / you found them | No |
| last_contact | Date of last interaction (YYYY-MM-DD) | Yes |
| next_action | What to do next | Yes |
| next_action_date | When to do it (YYYY-MM-DD) | Yes |
| notes | Freeform notes, pipe-separated for multiple | No |
| created | Date added (YYYY-MM-DD) | Yes |
| updated | Date last modified (YYYY-MM-DD) | Yes |
Pipeline Stages
- lead — New contact, not yet qualified
- qualified — Confirmed they have budget, need, and authority
- meeting — Meeting scheduled or completed
- proposal — Proposal/quote sent
- negotiation — Working out terms
- closed-won — Deal done
- closed-lost — Didn't work out
- nurture — Not ready now, stay in touch
Commands
When the user asks you to manage CRM data, handle these actions:
Add a Contact
"Add [name] from [company] to the CRM" → Create a new row, set stage to "lead", set created/updated to today.
Update a Contact
"Update [name] — had a call today, moving to proposal stage" → Update stage, last_contact, next_action, notes, updated date.
Show Pipeline
"Show me my pipeline" / "What's in my CRM?" → Display contacts grouped by stage with deal values.
Follow-up Reminders
"What follow-ups are due?" / "Who should I contact?" → Show contacts where next_action_date ≤ today, sorted by date.
Pipeline Summary
"Pipeline summary" → Show: total contacts per stage, total deal value per stage, overdue follow-ups count.
Search
"Find [name/company]" → Search across name and company fields.
Move Stage
"Move [name] to [stage]" → Update stage and updated date.
Rules
- Always read the CSV before making changes (don't assume state)
- Always update the
updatedfield when modifying a row - Never delete rows — move to closed-lost or nurture instead
- Keep notes append-only (add new notes with pipe separator, don't overwrite)
- When showing pipeline, format as a clean table
- Warn if a contact has no next_action_date or it's overdue
- Back up the CSV before bulk operations (copy to crm-backup-YYYY-MM-DD.csv)
Pipeline Health Checks
Periodically flag:
- Contacts with no activity in 14+ days
- Deals stuck in the same stage for 30+ days
- Missing next actions
- Leads with no follow-up scheduled
Overview
CRM Manager is a lightweight tool that stores contacts in a local CSV file named crm.csv and tracks a sales pipeline without external services. It defines a structured set of fields (id, name, company, email, stage, deal_value, next_action, next_action_date, notes, created, updated) and a clear progression from lead to closed outcomes, helping you stay organized and actionable.
How This Skill Works
It operates directly on a local CSV file in your workspace. You add or update records using the defined commands (Add Contact, Update Contact, Show Pipeline, Follow-up Reminders, etc.). Each modification updates the updated timestamp, and notes are appended using a pipe separator rather than overwritten. When displaying the pipeline, results are shown in a clean, stage-grouped table with deal values.
When to Use It
- You want a local, no-SaaS CRM solution for new prospects
- You need to move a contact through stages—from lead to proposal—without external tools
- You want a quick, tabular view of pipeline health and deal values
- You require reminders for next actions and due follow-ups
- You plan bulk updates or data migrations and want a safe backup first
Quick Start
- Step 1: Ensure crm.csv exists in your workspace (copy crm-template.csv if missing)
- Step 2: Add a contact using 'Add [name] from [company] to the CRM' (stage defaults to lead)
- Step 3: Move stages or update next_action as needed (e.g., 'Move [name] to [stage]')
Best Practices
- Always read the CSV before making changes to confirm current state
- Update the updated field on every modification
- Never delete rows; move them to closed-lost or nurture transitions
- Keep notes append-only; add new notes with a pipe separator
- Back up the CSV before bulk operations (crm-backup-YYYY-MM-DD.csv)
Example Use Cases
- Add Jane Doe from Acme Corp to CRM as a new lead today
- Update Jane Doe — had a call today; move to proposal and set next_action to 'send quote' with the due date
- Show Pipeline to view contacts grouped by stage and total deal value
- Find Acme to locate all contacts from that company
- Back up crm.csv to crm-backup-YYYY-MM-DD.csv before a bulk operation