Dex

Manage your Dex personal CRM — search, create, and update contacts, log interaction notes, set follow-up reminders, organize contacts with tags and groups, a...

MIT-0 · Free to use, modify, and redistribute. No attribution required.
0 · 211 · 0 current installs · 0 all-time installs
byOmar Cruz@ocruzv
MIT-0
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
The name/description (personal CRM: search/create/update contacts, notes, reminders, tags/groups) matches the instructions: use dex MCP tools if available, or the dex CLI, and authenticate via API key or device code. No unrelated services, binaries, or credentials are requested.
Instruction Scope
Runtime instructions focus on authenticating and interacting with Dex (MCP endpoints, dex CLI commands, saving ~/.dex/api-key). They do call out npm/npx installation and curl-based device-code flows, but do not instruct reading unrelated files, harvesting other credentials, or exfiltrating data to unexpected endpoints.
Install Mechanism
There is no formal install spec in the registry (instruction-only). SKILL.md suggests running npx add-mcp and npm install -g @getdex/cli — these are reasonable for a CLI/MCP integration, but npx/npm execute code fetched from registries, so users should verify package sources and trust before running these commands.
Credentials
The skill declares no required environment variables or credentials. It documents optional usage patterns (DEX_API_KEY for CI, saving an API key to ~/.dex/api-key) that are proportional to a CRM client. No unrelated secrets or system config paths are requested.
Persistence & Privilege
always is false and model invocation is allowed (default). The skill does not request persistent platform-level privileges or modify other skills' configs. It instructs saving the user's Dex API key to ~/.dex/api-key, which is reasonable for this use case.
Assessment
This skill appears coherent for integrating with Dex. Before installing or running any suggested commands: verify the domains and packages (https://getdex.com, mcp.getdex.com, and the @getdex/cli npm package), especially because npx/npm will run code fetched from the network. Be aware the device-code flow and CLI will store an API key on disk (~/.dex/api-key) or accept DEX_API_KEY in CI — treat that key like any other secret. If you have sensitive contacts or strict security requirements, review Dex's privacy/billing plan requirements (API keys require a Professional plan per the docs) and consider creating a least-privilege key or using short-lived credentials where possible.

Like a lobster shell, security has layers — review code before you run it.

Current versionv2.0.0
Download zip
latestvk970pfdqafckpvxj9z6aewnr25835vq0

License

MIT-0
Free to use, modify, and redistribute. No attribution required.

SKILL.md

Dex Personal CRM

Dex is a personal CRM that helps users maintain and nurture their professional relationships. It tracks contacts, interaction history, reminders, and organizational structures (groups, tags, custom fields).

Setup — Detect Access Method

Check which access method is available, in this order:

  1. MCP tools available? If dex_search_contacts and other dex_* tools are in the tool list, use MCP tools directly. This is the preferred method — skip CLI setup entirely.
  2. CLI installed? Check if dex command exists (run which dex or dex auth status). If authenticated, use CLI commands.
  3. Neither? Guide the user through setup.

First-Time Setup

Path A — Platform supports MCP (Claude Desktop, Cursor, VS Code, Gemini CLI, etc.):

If the user already has the Dex MCP server configured, or their platform can add MCP servers:

npx -y add-mcp https://mcp.getdex.com/mcp -y

This auto-detects installed AI clients and configures the Dex MCP server for all of them. User authenticates via browser on first MCP connection.

Path B — Install CLI:

npm install -g @getdex/cli

Works with npm, pnpm, and yarn. No postinstall scripts — the binary is bundled in a platform-specific package.

Path C — No Node.js:

Direct the user to follow the setup guide at https://getdex.com/docs/ai/mcp-server — it has client-specific instructions for Claude Desktop, Claude Code, Cursor, VS Code, and other MCP-capable clients.

Authentication

Triggered by /dex-login or on first use when not authenticated. Ask the user which method they prefer:

Option 1 — API Key:

  1. User generates a key at Dex Settings > Integrations (requires Professional plan)
  2. For CLI: dex auth --token dex_your_key_here
  3. Key is saved to ~/.dex/api-key (chmod 600)

Option 2 — Device Code Flow (works on remote/headless machines):

Drive this flow directly via HTTP — no browser needed on the machine:

  1. Request a device code:

    curl -s -X POST https://mcp.getdex.com/device/code -H "Content-Type: application/json"
    

    Response: { "device_code": "...", "user_code": "ABCD-EFGH", "verification_uri": "https://...", "expires_in": 600, "interval": 5 }

  2. Show the user the user_code and verification_uri. They open the URL on any device with a browser, log in to Dex, and enter the code.

  3. Poll for approval every 5 seconds:

    curl -s -X POST https://mcp.getdex.com/device/token \
      -H "Content-Type: application/json" \
      -d '{"device_code": "<device_code>"}'
    
    • {"error": "authorization_pending"} → keep polling
    • {"api_key": "dex_..."} → done, save the key
  4. Save the API key:

    mkdir -p ~/.dex && echo "<api_key>" > ~/.dex/api-key && chmod 600 ~/.dex/api-key
    

    For CLI: dex auth --token <api_key>

For CI/automation with no human present, use the API key method with DEX_API_KEY environment variable.

Data Model

Contact
├── Emails, Phone Numbers, Social Profiles
├── Company, Job Title, Birthday, Website
├── Description (rich text notes about the person)
├── Tags (flat labels: "Investor", "College Friend")
├── Groups (collections with emoji + description: "🏢 Acme Team")
├── Custom Fields (user-defined: input, dropdown, datepicker)
├── Notes/Timeline (interaction log: meetings, calls, coffees)
├── Reminders (follow-up tasks with optional recurrence)
└── Starred / Archived status

Using Tools

MCP Mode

Call dex_* tools directly. All tools accept and return JSON.

CLI Mode

Use the dex command. CLIHub generates subcommands from MCP tool names (replacing _ with -):

dex dex-search-contacts --query "John"
dex dex-list-contacts --limit 100
dex dex-create-contact --first-name "Jane" --last-name "Doe"
dex dex-list-tags
dex dex-create-reminder --text "Follow up" --due-at-date "2026-03-15"

Use --output json for machine-readable output, --output text (default) for human-readable.

Run dex --help for all commands, or dex <command> --help for command-specific help.

See CLI Command Reference for the full mapping table of all 38 tools to CLI commands.

Core Workflows

1. Find a Contact

search → get details (with notes if needed)
  • Search by name, email, company, or any keyword
  • Use empty query to browse recent contacts (sorted by last interaction)
  • Use dex_list_contacts for bulk iteration (up to 500 per page, cursor-paginated)
  • Include include_notes: true when user needs interaction history

2. Add a New Contact

create contact → (optionally) add to groups → apply tags → set reminder
  • Create with whatever info is available (no fields are strictly required)
  • Immediately organize: add relevant tags and groups
  • Set a follow-up reminder if the user just met this person

3. Log an Interaction

(optional) list note types → create note on contact timeline
  • Discover note types first with dex_list_note_types to pick the right one (Meeting, Call, Coffee, Note, etc.)
  • Set event_time to when the interaction happened, not when logging it
  • Keep notes concise but capture key details, action items, and personal context

4. Set a Reminder

create reminder → (link to contact if applicable)
  • Always require due_at_date (ISO format: "2026-03-15")
  • Use text for the reminder description — there is no separate title field
  • Recurrence options: weekly, biweekly, monthly, quarterly, biannually, yearly

5. Organize Contacts

Tags — flat labels for cross-cutting categories:

create tag → add to contacts (bulk)

Groups — named collections with emoji and description:

create group → add contacts (bulk)

Best practice: Use tags for attributes ("Investor", "Engineer", "Met at Conference X") and groups for relationship clusters ("Startup Advisors", "Book Club", "Acme Corp Team").

6. Manage Custom Fields

list fields → create field definition → batch set values on contacts
  • Three field types: input (free text), autocomplete (dropdown with options), datepicker
  • Use dex_set_custom_field_values to set values on multiple contacts at once
  • For autocomplete fields, provide categories array with the allowed options

7. Meeting Prep

When a user says "I have a meeting with X":

  1. Search for the contact
  2. Get full details with include_notes: true
  3. Check recent reminders for pending items
  4. Summarize: last interaction, key notes, pending follow-ups, shared context
  5. See CRM Workflows for detailed meeting prep guidance

8. Merge Duplicates

search for potential duplicates → confirm with user → merge
  • First ID in each group becomes the primary — all other data merges into it
  • Always confirm with the user before merging (destructive operation)
  • Can merge multiple groups in a single call

Important Patterns

Pagination

List operations use cursor-based pagination:

  • dex_list_contacts: default 100 per page, max 500
  • dex_search_contacts: default 50 per page, max 200
  • Other list tools: default 10 per page
  • Check has_more in response
  • Pass next_cursor from previous response to get next page
  • Iterate until has_more: false to get all results

Destructive Operations

Always confirm with the user before:

  • Deleting contacts (dex_delete_contacts)
  • Merging contacts (dex_merge_contacts)
  • Deleting tags, groups, notes, reminders, or custom fields

Response Truncation

Responses are capped at 25,000 characters. If truncated, the response preserves pagination metadata (next_cursor, has_more) so you can fetch the next page. Use smaller limit values if responses are being truncated.

Date Formats

  • All dates: ISO 8601 strings (e.g., "2026-03-15", "2026-03-15T14:30:00Z")
  • Birthdays: YYYY-MM-DD
  • Reminder due dates: YYYY-MM-DD

Detailed References

  • Tool Reference — Complete parameter documentation for every tool, with examples
  • CLI Command Reference — Full MCP tool → CLI command mapping table (only needed for CLI mode)
  • CRM Workflows — Relationship management best practices, follow-up cadences, and strategies for being an effective CRM assistant

Files

4 total
Select a file
Select a file to preview.

Comments

Loading comments…