원클릭으로
compare-contacts
Compare your messaging patterns with two or more contacts side by side — volume, frequency, reactions, and trajectory.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Compare your messaging patterns with two or more contacts side by side — volume, frequency, reactions, and trajectory.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Use the imessage-analysis MCP server to answer questions about the user's iMessage history.
Compare your messaging activity between two time periods — volume, contacts, and trends side by side.
Analyse your group chat activity — most active groups, top talkers per group, and activity over time.
Check whether imessage-analysis is installed and the MCP server is registered, and fix anything that's missing.
Show the current status of the iMessage analysis dataset — last sync time, total messages, and whether it's up to date.
Summarise your most recent message exchanges — who you've been talking to, what topics came up, and the overall tone of recent activity.
| name | compare-contacts |
| description | Compare your messaging patterns with two or more contacts side by side — volume, frequency, reactions, and trajectory. |
Compare your relationship with two or more people across key dimensions.
search_contacts({ query: "<name 1>" })
search_contacts({ query: "<name 2>" })
Confirm names with the user if ambiguous.
For each contact NAME_A and NAME_B, run contact_stats and the sent/received breakdown:
SELECT
name,
COUNT(*) AS total,
SUM(CASE WHEN is_from_me = 1 THEN 1 ELSE 0 END) AS sent,
SUM(CASE WHEN is_from_me = 0 THEN 1 ELSE 0 END) AS received,
MIN(CAST(date AS VARCHAR)) AS first_message,
MAX(CAST(date AS VARCHAR)) AS last_message,
COUNT(DISTINCT CAST(date AS VARCHAR)) AS active_days
FROM messages
WHERE name IN ('NAME_A', 'NAME_B')
GROUP BY name
ORDER BY total DESC
-- Year-by-year comparison
SELECT year, name, COUNT(*) AS n
FROM messages
WHERE name IN ('NAME_A', 'NAME_B')
GROUP BY year, name
ORDER BY year, name
-- Most active reaction per contact
SELECT name, reaction, COUNT(*) AS n
FROM messages
WHERE name IN ('NAME_A', 'NAME_B') AND reaction != 'no-reaction'
GROUP BY name, reaction
ORDER BY name, n DESC
Lead with the clearest contrast — usually total volume or trajectory. Then cover:
End with the most interesting observation — a sentence that captures what the comparison actually means.