From chatrevenue
Watcher-incident handoff. Invoked via /chatrevenue-help-with-current-activity INCIDENT_ID from a Windows toast notification fired by the ChatRevenue Monitor watcher daemon. Resolves the incident through MCP, reads the live screen, and produces 2-3 specific, action-oriented suggestions tailored to the activity type.
How this skill is triggered — by the user, by Claude, or both
Slash command
/chatrevenue:chatrevenue-help-with-current-activityThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
A Windows toast notification triggered this conversation. The toast was fired by the ChatRevenue Monitor watcher daemon (a foreground-window poller running inside the app's supervisor) when the user spent N seconds in an activity Cowork can help with. The toast carried a deep-link of the form:
A Windows toast notification triggered this conversation. The toast was fired by the ChatRevenue Monitor watcher daemon (a foreground-window poller running inside the app's supervisor) when the user spent N seconds in an activity Cowork can help with. The toast carried a deep-link of the form:
/chatrevenue-help-with-current-activity inc-YYYYMMDD-HHMMSS-xxxxxxxx
The slash invokes this skill. The incident id is the only payload — full context lives behind MCP tools provided by the chatrevenue-memory server.
Follow these in order. Do NOT try to answer from the slash command alone.
Format: inc- + datestamp + 8-hex tail. If the message has multiple tokens, the id is whichever token starts with inc-. If the id is missing entirely, use latest_incident() instead of get_incident().
Call mcp__chatrevenue-memory__get_incident(incident_id="<id>"). Returns:
{
"id": "inc-...",
"ts": "2026-05-01T18:34:00Z",
"activity": "<activity-name>",
"display": "Working with email",
"trigger": {
"app": "olk.exe",
"title": "Mail - Sasha - Outlook",
"duration_seconds": 32,
"idle_seconds_at_fire": 4
},
"extracted": { "subject": "..." },
"version": 1
}
If the id is unknown, the tool falls back to latest_incident().
Call mcp__chatrevenue-memory__what_am_i_doing_now(). The incident snapshot may be 10-60 seconds stale by the time the user opens the chat — always trust the live snapshot over the incident's trigger.title when they disagree.
If the live snapshot or extracted.subject mentions a person, project, or thread you have not seen recently, run brief_on(...) or search_memories(...). Skip when the activity is purely visual (e.g. inbox triage with no specific recipient).
Match incident.activity to the playbook below. If unknown, use the generic fallback.
Use names, subjects, recipients pulled from the live snapshot. No general advice. No "I see you are working with email" rephrasing.
activity: email-activeUser is in a mail client or webmail tab. The live snapshot tells you whether they are composing, reading, or organising.
search_memories. Ask "what are you trying to find?" only if not obvious from screen.When unsure which sub-mode applies, ask one short clarifying question.
activity: <unknown>Generic fallback: based on incident.activity, incident.trigger.app, incident.trigger.title, and the live snapshot, propose 2-3 concrete next steps. Stay grounded; do not invent.
npx claudepluginhub project-a-inc/chatrevenue-marketplace --plugin chatrevenueCreates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.