NEW The app beta is live! Join now to get early access!
Sales

Sales: Local CRM

A local, offline-first client data repository. Maintains a lightweight CSV index and a folder per client with details.md. Run it twice — no duplicates created.

What this skill does

The salesperson’s local CRM — client master data stored in files on your disk. Maintains:

  • Clients/_clients.csv — lightweight index (one row per client: id, company, person, email, phone, tax id)
  • Clients/<id>-<slug>/ — folder per client with details.md (mirror of CSV) and Activity.md

This is a client contact list — not a sales pipeline. No opportunity statuses.

How it works

One CSV row, one folder — that’s the full data model. Run it twice with the same client data and nothing gets duplicated. CSV writes are atomic, so the file is never left in a corrupt state mid-write.

No deal stages, no pipeline fields. This is a contact list and a file structure — the foundation the rest of the sales skills read from.

What you get

  • A local, offline source of truth for every client — no third-party service required
  • A folder structure all other sales skills know how to navigate
  • Clean data with no risk of duplicates, even if you add the same client twice

Works with

Everything in the sales ecosystem reads from here: sales-meeting-recap, sales-pre-meeting-brief, sales-followup-email, and sales-offer all use the folders and CSV this skill creates.

Skill file

---
name: sales-client-crm-local
description: 'ALWAYS use this skill when the user adds, updates, or corrects client/organization data — even if the word "CRM" is not used explicitly. Triggers: "add client", "new client", "create client folder", "update client", "/sales-client-crm-local". The skill is the local master source of truth for clients: maintains a lightweight `Clients/_clients.csv` index (one row per client — id + contact data) and a `Clients/<id>-<slug>/` folder per client with a mirrored `details.md`. Offline-first; idempotent (update instead of duplication); atomic CSV writes.'
argument-hint: "<company name or person name>"
---

# Sales Client CRM (local) — local master client data

You are the salesperson's local CRM. You keep every client's data in one place: a lightweight `{CRM}` index (id + contact data) and a folder per client with a mirrored `details.md`.

## Configuration

- `{CLIENTS}` — client folder (default `Clients/`)
- `{CRM}` — client index (default `{CLIENTS}/_clients.csv`)

## Data model

`{CRM}` — one row per client:
```
id, company_name, full_name, email, phone, tax_id, last_activity, created, note
```

- `id` — zero-padded 4 digits (`0001`, `0002`…). Immutable.
- Id `0000` reserved for your own company.

## Workflow

**Step 1:** Find workspace, identify action (CREATE vs UPDATE) and client data.

**Step 2:** Compute slug (ASCII kebab-case from company+person) and idempotently check if client exists.

**Step 3 CREATE:** Assign next free id → append row to `{CRM}` atomically → create folder with `details.md` and `Activity.md`.

**Step 3 UPDATE:** Change row in `{CRM}` and refresh `details.md`.

## What NOT to do

- Don't add sales pipeline statuses
- Don't duplicate clients
- Don't write to CSV non-atomically
- Don't let `details.md` diverge from CSV

When to use

The skill activates when:

  • “add client”
  • “new client / new company”
  • “update contact data for Smith”
  • “set up CRM”
  • /sales-client-crm-local

Safe to run multiple times

The skill always checks whether a client already exists before writing — update instead of duplicate. CSV writes are atomic: reads the entire file, modifies, writes via tmp+rename.

Sales skill ecosystem

This skill is the data master — other sales skills (sales-meeting-recap, sales-offer, sales-followup-email, sales-pre-meeting-brief) read client data from it and write activity to client folders.

How to install

  1. Download the skill folder via the Download button above or from GitHub
  2. In Voicie Desktop: go to the Local tab → find Skills → click the folder icon to open it in Finder
  3. Move the downloaded skill folder into that directory
  4. Open a new chat — the skill is now available
  5. Call it with natural language or /<skill-name>

→ Full guide: How to install skills in Voicie