@ctliz/agent-intercom-claude 0.15.0 → 0.15.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
##
|
|
3
|
+
## 0.15.1 - 2026-10-04
|
|
4
|
+
|
|
5
|
+
- Add shortest-path MCP instructions and align the Claude skill: send directly to known recipients; discover peers, diagnose connections, publish summaries, and poll inboxes only when needed. Keep team approval, reply threading, and natural-boundary inbound checks unchanged.
|
|
4
6
|
|
|
5
7
|
## 0.15.0 - 2026-10-02
|
|
6
8
|
|
package/claude/mcp-protocol.ts
CHANGED
|
@@ -270,7 +270,7 @@ export async function handleMcpRequest(request: JsonRpcRequest, runtime: ClaudeI
|
|
|
270
270
|
protocolVersion: "2025-06-18",
|
|
271
271
|
capabilities: { tools: {} },
|
|
272
272
|
instructions: TASK_TEAM_GUIDANCE,
|
|
273
|
-
serverInfo: { name: "claude-intercom", version: "0.15.
|
|
273
|
+
serverInfo: { name: "claude-intercom", version: "0.15.1" },
|
|
274
274
|
});
|
|
275
275
|
case "ping":
|
|
276
276
|
return ok(request.id, {});
|
package/claude/team-guidance.ts
CHANGED
|
@@ -1,4 +1,10 @@
|
|
|
1
|
-
export const TASK_TEAM_GUIDANCE = `Intercom
|
|
1
|
+
export const TASK_TEAM_GUIDANCE = `Intercom shortest calling path:
|
|
2
|
+
- For a known recipient, call intercom_send directly. Do not run intercom_whoami, intercom_team, intercom_list, or intercom_status as routine preflight checks.
|
|
3
|
+
- Discover peers only when the target is unknown, missing, or ambiguous: intercom_team for managed or approved teammates, otherwise intercom_list. Use intercom_status only for connection errors; intercom_set_summary only for role discovery or meaningful status changes.
|
|
4
|
+
- If the host requires tool discovery, discover only the selected tool and reuse its definition while it remains in context. Do not browse tool-definition directories or read unrelated definitions.
|
|
5
|
+
- A standalone successful send needs no extra identity/status/pending checks or resending. Delivery is not task completion; diagnose uncertain delivery before retrying. Check intercom_pending at natural work boundaries when expecting a response or handling inbound messages, never in a tight loop.
|
|
6
|
+
|
|
7
|
+
Intercom task-team rules:
|
|
2
8
|
- When the user delegates to named peers and this task has no approved team, ask once whether to form a team with you and those peers. Wait for approval before creating a team or adding peers. An explicit create/join request is approval; never ask again for an approved task or inbound team message.
|
|
3
9
|
- After approval, discover the connected peers, then intercom_join({ name: "launch", create: true, members: ["front", "writer"], work: "Current task" }) adds everyone in one call. Do not ask the user to join each terminal manually.
|
|
4
10
|
- Membership is additive: joining another team preserves previous teams. Reuse the approved team for the same task; a different task may need a different team.
|
package/dist/claude-server.mjs
CHANGED
|
@@ -2953,7 +2953,13 @@ ${pendingAsks.map((entry) => {
|
|
|
2953
2953
|
};
|
|
2954
2954
|
|
|
2955
2955
|
// claude/team-guidance.ts
|
|
2956
|
-
var TASK_TEAM_GUIDANCE = `Intercom
|
|
2956
|
+
var TASK_TEAM_GUIDANCE = `Intercom shortest calling path:
|
|
2957
|
+
- For a known recipient, call intercom_send directly. Do not run intercom_whoami, intercom_team, intercom_list, or intercom_status as routine preflight checks.
|
|
2958
|
+
- Discover peers only when the target is unknown, missing, or ambiguous: intercom_team for managed or approved teammates, otherwise intercom_list. Use intercom_status only for connection errors; intercom_set_summary only for role discovery or meaningful status changes.
|
|
2959
|
+
- If the host requires tool discovery, discover only the selected tool and reuse its definition while it remains in context. Do not browse tool-definition directories or read unrelated definitions.
|
|
2960
|
+
- A standalone successful send needs no extra identity/status/pending checks or resending. Delivery is not task completion; diagnose uncertain delivery before retrying. Check intercom_pending at natural work boundaries when expecting a response or handling inbound messages, never in a tight loop.
|
|
2961
|
+
|
|
2962
|
+
Intercom task-team rules:
|
|
2957
2963
|
- When the user delegates to named peers and this task has no approved team, ask once whether to form a team with you and those peers. Wait for approval before creating a team or adding peers. An explicit create/join request is approval; never ask again for an approved task or inbound team message.
|
|
2958
2964
|
- After approval, discover the connected peers, then intercom_join({ name: "launch", create: true, members: ["front", "writer"], work: "Current task" }) adds everyone in one call. Do not ask the user to join each terminal manually.
|
|
2959
2965
|
- Membership is additive: joining another team preserves previous teams. Reuse the approved team for the same task; a different task may need a different team.
|
|
@@ -3191,7 +3197,7 @@ async function handleMcpRequest(request, runtime) {
|
|
|
3191
3197
|
protocolVersion: "2025-06-18",
|
|
3192
3198
|
capabilities: { tools: {} },
|
|
3193
3199
|
instructions: TASK_TEAM_GUIDANCE,
|
|
3194
|
-
serverInfo: { name: "claude-intercom", version: "0.15.
|
|
3200
|
+
serverInfo: { name: "claude-intercom", version: "0.15.1" }
|
|
3195
3201
|
});
|
|
3196
3202
|
case "ping":
|
|
3197
3203
|
return ok(request.id, {});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ctliz/agent-intercom-claude",
|
|
3
|
-
"version": "0.15.
|
|
3
|
+
"version": "0.15.1",
|
|
4
4
|
"description": "Claude Code MCP plugin and wakeable worker for local messaging with Pi, Codex, OpenCode, Grok Build, and AGY agents.",
|
|
5
5
|
"license": "AGPL-3.0-or-later",
|
|
6
6
|
"type": "module",
|
|
@@ -41,12 +41,12 @@ proxy-backed Claude profiles; `ccim` safe mode intentionally does not.
|
|
|
41
41
|
|
|
42
42
|
## Workflow
|
|
43
43
|
|
|
44
|
-
1.
|
|
45
|
-
2.
|
|
44
|
+
1. For a known recipient, call `intercom_send` directly. Do not run `intercom_whoami`, `intercom_team`, `intercom_list`, or `intercom_status` as routine preflight checks. If the host requires tool discovery, discover only the selected tool and reuse its definition while it remains in context.
|
|
45
|
+
2. Discover peers only when the recipient is unknown, missing, or ambiguous: use `intercom_team` for managed or approved teammates, otherwise `intercom_list`. Check `intercom_status` only for connection errors. Use `intercom_set_summary` only when peers need to discover your role or a meaningful status change.
|
|
46
46
|
3. When the user delegates to named peers and this task has no approved team, ask once whether to form a team with you and those peers. Wait for approval. An explicit create/join request is approval; never ask again for an approved task or inbound team message. After approval, discover peers and call `intercom_join({ name: "billing", create: true, members: ["front", "writer"], work: "Current task" })`. Do not ask the user to join each terminal manually. Reuse the approved team for the same task; new tasks may need new teams. Joining preserves all previous memberships and each team's manager/member roles.
|
|
47
47
|
4. Use `intercom_send` for non-blocking updates and handoffs. Include `team` for task messages, especially when multiple teams are shared. Without a shared team, omit `team` for initial ungrouped contact; unrelated memberships do not block contact or silently create teams.
|
|
48
48
|
5. Use `intercom_ask` only when you need the answer before continuing. Assignments, progress/status checkpoints, notifications, and completion reports use `intercom_send`.
|
|
49
|
-
6.
|
|
49
|
+
6. Check `intercom_pending` at natural work boundaries when expecting a response or handling inbound messages, then reply with the original selectors and team. A standalone successful send does not require a pending/identity/status check or a resend. Delivery is not task completion; diagnose uncertain delivery before retrying, and never poll in a tight loop.
|
|
50
50
|
|
|
51
51
|
## Patterns
|
|
52
52
|
|