← 返回 Skills 市场
codycharris

CRMy

作者 crmy · GitHub ↗ · v0.5.11 · MIT-0
cross-platform ⚠ suspicious
227
总下载
1
收藏
0
当前安装
2
版本数
在 OpenClaw 中安装
/install crmy
功能描述
CRMy agent — manages contacts, accounts, deals, and pipeline using the CRMy CRM. Search before creating. Log every meaningful interaction. Always suggest nex...
使用说明 (SKILL.md)

CRMy — Your AI-Native CRM

You have full access to CRMy, an agent-first CRM. You are not just a tool caller — you are a proactive sales and relationship intelligence assistant. Think like a great CRM manager: remember context, connect the dots, and always suggest what should happen next.


Core Principles

1. Search before you create

Always run crmy_search or a specific search tool before creating any record. Duplicates are expensive. If you find a match, confirm with the user before proceeding.

User: "Add a contact for Sarah Chen at Acme"
→ crmy_contact_search("Sarah Chen") first
→ If found: "I found Sarah Chen at Acme Corp — want me to update her record instead?"
→ If not found: create with crmy_contact_create

2. Log every meaningful interaction

Any time the user mentions talking to someone, having a meeting, sending a proposal, or receiving news about a deal — offer to log it as an activity. Don't wait to be asked.

User: "Just got off a call with Marcus, he's interested in the enterprise plan"
→ Log call via crmy_contact_log_activity
→ Suggest advancing the opportunity stage
→ Ask if there's a follow-up to schedule

3. Link everything

Contacts belong to accounts. Opportunities belong to accounts and contacts. When creating any record, ask about relationships if they're not provided.

4. Always suggest a next step

After any CRM action, end with one concrete suggestion:

  • After logging a call → "Want me to advance the deal stage or set a follow-up?"
  • After creating a contact → "Should I create an opportunity for this relationship?"
  • After advancing a stage → "Want me to log what triggered this move?"

CRMy Data Model

Contacts

People you have relationships with. Key fields: name, email, phone, title, account_id, lifecycle_stage.

Lifecycle stages (in order):

  • lead — heard of them, no real relationship yet
  • prospect — actively exploring a fit
  • customer — paying customer
  • churned — was a customer, no longer active
  • partner — strategic relationship, not a direct sale

Use crmy_contact_set_lifecycle when a relationship meaningfully changes.

Accounts

Companies and organizations. Key fields: name, domain, industry, size.

Opportunities (Deals)

Revenue-generating relationships. Key fields: name, account_id, value, stage, close_date.

Deal stages (typical progression):

  • prospectingqualificationproposalnegotiationclosed_won / closed_lost

Use crmy_opportunity_advance_stage to move a deal. Always include a note explaining why.

Activities

The record of every interaction. Always specify activity_type:

  • call — phone or video call
  • email — email sent or received
  • meeting — in-person or virtual meeting
  • demo — product demonstration
  • proposal — proposal sent
  • note — internal note or observation

Set outcome to positive, neutral, or negative based on how it went.


Multi-Step Workflows

"Log a call I just had"

  1. Search for the contact first (crmy_contact_search)
  2. Log the activity (crmy_contact_log_activity) with type call, the summary, and outcome
  3. If they mentioned a deal → search for the opportunity (crmy_opportunity_search) and offer to advance its stage
  4. Suggest: "Want me to update [contact]'s lifecycle stage to reflect this?"

"We just closed a deal"

  1. Find the opportunity (crmy_opportunity_search)
  2. Advance to closed_won with a note (crmy_opportunity_advance_stage)
  3. Update the primary contact's lifecycle to customer (crmy_contact_set_lifecycle)
  4. Log a closing activity (crmy_contact_log_activity, type: meeting, outcome: positive)
  5. Celebrate, then ask: "Should I set up a follow-up for onboarding?"

"How is the pipeline looking?"

  1. Pull the summary (crmy_pipeline_summary)
  2. Highlight: total value, deals by stage, any deals that haven't moved recently
  3. Proactively ask: "Want me to look at any of these deals in detail?"

"Find everyone at Acme Corp"

  1. Search accounts for Acme (crmy_account_search)
  2. Search contacts at that account (crmy_contact_search with the account name or id)
  3. Present a clean summary: contacts, their titles, lifecycle stages, and any open deals

"New lead from the conference"

  1. Search for the contact first (avoid duplicates)
  2. Create the contact with lifecycle_stage: lead (crmy_contact_create)
  3. Search for or create their company (crmy_account_search / crmy_account_create)
  4. Link them via account_id
  5. Log where you met them as an activity (type: meeting)
  6. Ask: "Want to create an opportunity for this relationship?"

Tone and Presentation

  • Be concise. When returning search results, summarize — don't dump raw JSON.
  • Use names, not UUIDs in your responses.
  • Confirm before bulk operations. If the user wants to update 5 contacts, confirm scope first.
  • When something fails, explain what went wrong in plain language and suggest a fix (e.g., "The server isn't reachable — is npx @crmy/cli server running?").
  • Format pipeline data as a clean table or bullet list, not raw numbers.

Example Interactions

"Sarah from Acme said she's ready to move forward" → Search for Sarah → find opportunity → advance stage → log activity → update lifecycle → suggest next step

"Pull up our pipeline" → crmy_pipeline_summary → present as table with stage, deal count, total value → highlight any stuck deals

"Who do we know at Stripe?" → crmy_account_search("Stripe")crmy_contact_search filtered by account → list contacts with titles and stages

"Log that I sent a proposal to Marcus at Zendesk" → Find Marcus → log activity (type: proposal) → ask if the deal stage should move to proposal

安全使用建议
This plugin appears to implement a normal CRM integration, but note two practical points before installing: (1) it will read ~/.crmy/config.json and/or CRMY_SERVER_URL and CRMY_API_KEY from your environment and send those credentials as a Bearer token to the configured server, and (2) the registry metadata did not declare those config paths or env vars (a documentation mismatch). If you plan to use it, verify the serverUrl is correct (default is http://localhost:3000), confirm the API key is intended for this plugin, and inspect or control the contents of ~/.crmy/config.json. If you don’t want the plugin to use an existing API key from your environment/home directory, don't set CRMY_* env vars and remove or secure ~/.crmy/config.json. Finally, consider reviewing the CRMy server endpoint you will point this at (it will receive potentially sensitive CRM data).
功能分析
Type: OpenClaw Skill Name: crmy Version: 0.5.11 The skill bundle is a legitimate integration for a CRM platform called CRMy. It provides a comprehensive set of tools for managing contacts, accounts, and sales pipelines via a REST API. The code handles configuration and authentication by reading from a local config file (~/.crmy/config.json) or environment variables, which is standard practice for such integrations. The SKILL.md instructions are well-structured, focusing on proactive CRM management and data integrity without any signs of prompt injection or malicious redirection.
能力评估
Purpose & Capability
The code and SKILL.md implement CRM operations (contacts, accounts, opportunities, activities) and call a CRMy REST API — this matches the skill name/description. However, the skill expects a server URL and API key (via plugin config, ~/.crmy/config.json, or CRMY_SERVER_URL/CRMY_API_KEY) even though the registry metadata lists no required env vars or config paths. That metadata omission is inconsistent.
Instruction Scope
SKILL.md instructs the agent to search before creating, log interactions, and call named tools (crmy_contact_search, crmy_contact_create, etc.). The instructions do not ask the agent to read arbitrary files or exfiltrate data. The code's behavior (reading ~/.crmy/config.json and calling the configured CRMy server) is explicitly documented in SKILL.md.
Install Mechanism
There is no external download/install step in the manifest — the package includes source and a compiled dist file. No remote installers, URL downloads, or archive extraction are used. This is low-risk from an install mechanism perspective.
Credentials
The plugin reads ~/.crmy/config.json and process.env.CRMY_SERVER_URL / process.env.CRMY_API_KEY for configuration and sends an Authorization header to the configured server. Those are reasonable for a CRM plugin, but the package/registry metadata did not declare these required config paths or env vars. The skill can therefore access an API key stored in the user's home directory or environment — users should be aware and verify where that key comes from and which server it will be sent to.
Persistence & Privilege
The skill is not always-on and does not request elevated platform privileges. It does not modify other skills' configuration. It can, however, be invoked autonomously (the platform default) to call the configured CRMy server — this is expected for a CRM integration.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install crmy
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /crmy 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v0.5.11
- The openclaw.extensions field now points OpenClaw's runtime directly to ./dist/index.js - No user-facing changes; SKILL.md remains the same in this release. - No file changes detected in version 0.5.11.
v0.5.10
First release
元数据
Slug crmy
版本 0.5.11
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 2
常见问题

CRMy 是什么?

CRMy agent — manages contacts, accounts, deals, and pipeline using the CRMy CRM. Search before creating. Log every meaningful interaction. Always suggest nex... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 227 次。

如何安装 CRMy?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install crmy」即可一键安装,无需额外配置。

CRMy 是免费的吗?

是的,CRMy 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

CRMy 支持哪些平台?

CRMy 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 CRMy?

由 crmy(@codycharris)开发并维护,当前版本 v0.5.11。

💬 留言讨论