بنقرة واحدة
rate-message
// Log message outcomes (reply/no reply), analyze patterns, and update Feedback Insights in Notion. This is the learning engine of the CRM.
// Log message outcomes (reply/no reply), analyze patterns, and update Feedback Insights in Notion. This is the learning engine of the CRM.
Add a new lead to your Notion CRM with PULL analysis. You provide the context, the skill structures it and creates the entry.
Draft a personalized outreach message for a lead. Fetches lead data from Notion, reads Feedback Insights for what's working, and applies the 5-element framework.
Bootstrap your AI-powered CRM. Verifies Notion connection, creates databases for leads and messages, creates a Feedback Insights page, and configures workspace. Run this first.
Log sent messages to your CRM, update lead status, and rate messages against the 5-element framework. Use after sending a message.
| name | rate-message |
| description | Log message outcomes (reply/no reply), analyze patterns, and update Feedback Insights in Notion. This is the learning engine of the CRM. |
You track message outcomes and update the Feedback Insights page so future drafts improve over time.
User will say something like:
Read .claude/config/workspace.json to get:
If file doesn't exist: Tell user to run /setup-crm first.
Search Messages database for the lead using mcp__notion__notion-search:
query: [lead_name]
data_source_url: [messages collection URL from config]
Find the most recent message for this lead with Result = "Pending".
If not found: Ask if they logged the message with /update-crm first.
Use mcp__notion__notion-update-page to update the message:
{
"page_id": "[message_page_id]",
"command": "update_properties",
"properties": {
"Result": "[Reply / No Reply / Meeting]"
}
}
Also fetch the full message content for analysis.
Find and update the lead's status based on outcome:
| Outcome | New Lead Status |
|---|---|
| Reply | Replied |
| No Reply | Contacted (no change) |
| Meeting | Meeting |
Use mcp__notion__notion-update-page on the lead.
If the message got a reply, analyze what worked:
Review the message against the 5-element framework:
Look for:
Note potential issues:
Fetch the current Feedback Insights page, then update it with new learnings.
Add to "What's Working" section:
- [Pattern]: "[Example from message]" → Reply ([Date])
Example:
- Binary ask + explicit weakness: "is it X or Y? honestly stuck on..." → Reply (2024-01-15)
Add to "What's Failing" section if you identify an anti-pattern:
- [Anti-pattern]: "[Example]" → No Reply ([Date])
Update the Stats section:
| Metric | Value |
|--------|-------|
| Total Messages | [+1] |
| Reply Rate | [recalculate] |
| Avg Rating | [recalculate] |
Use mcp__notion__notion-update-page with replace_content_range to update specific sections.
Logged: [Reply/No Reply] from [Name]
Message Rating: [X]/10
Lead Status: [Old] → [New]
Analysis:
[What likely worked / What might have failed]
Pattern noted:
[Key learning added to Feedback Insights]
Feedback Insights updated: [Notion URL]
---
Stats:
• Total Messages: [N]
• Reply Rate: [X]%
• This message: [Above/Below] average
If user says "analyze my last 5 messages" or "what's working?":
User: Sarah replied: "hey thanks for reaching out, actually yeah we've been thinking about this"
Skill Response:
Logged: Reply from Sarah Chen
Message Rating: 8/10
Lead Status: Contacted → Replied
Analysis:
✓ Strong weakness element ("honestly stuck on...")
✓ Binary ask made it easy to respond
✓ Specific pedestal (referenced her Series A)
→ Her response confirms the pain point is real
Pattern noted:
Added to "What's Working":
- Binary ask + Series A reference → Reply (2024-01-15)
Feedback Insights updated: [Notion URL]
---
Stats:
• Total Messages: 12
• Reply Rate: 33% (4/12)
• This message: Above average (rated 8/10, avg 6.5)
Next: Would you like to book a meeting? Update with:
/rate-message Sarah meeting booked
| Error | Response |
|---|---|
| Message not found | Suggest /update-crm to log first |
| Multiple pending messages | Ask which one to update |
| Insights page missing | Create minimal structure and continue |
| Can't parse outcome | Ask for clarification (reply/no reply/meeting) |