원클릭으로
group-chats
Analyse your group chat activity — most active groups, top talkers per group, and activity over time.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Analyse your group chat activity — most active groups, top talkers per group, and activity over time.
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.
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.
Sync your iMessage history — builds the dataset on first run, updates incrementally after that. Use this to make sure your data is current before analysing.
| name | group-chats |
| description | Analyse your group chat activity — most active groups, top talkers per group, and activity over time. |
Explore your group messaging activity: which groups are most active, who dominates each chat, and how group messaging trends over time.
status()
Sync if stale (last sync more than 6 hours ago).
SELECT
chat_id,
chat_members_contact_info,
COUNT(*) AS total_messages,
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,
chat_size
FROM messages
WHERE chat_size > 1
GROUP BY chat_id, chat_members_contact_info, chat_size
ORDER BY total_messages DESC
LIMIT 10
This gives you the top 10 group chats. Use chat_id and chat_members_contact_info to identify each group — iMessage doesn't always surface a group name.
To find who sends the most messages in a specific group chat (replace CHAT_ID with the value from step 2):
SELECT
name,
contact_info,
COUNT(*) AS messages,
ROUND(100.0 * COUNT(*) / SUM(COUNT(*)) OVER (), 1) AS pct_of_chat
FROM messages
WHERE chat_id = CHAT_ID
AND is_from_me = 0
AND (name IS NOT NULL OR contact_info IS NOT NULL)
GROUP BY name, contact_info
ORDER BY messages DESC
LIMIT 15
Run this for each top group to understand who drives each conversation. If the user asks about a specific group by name or participant, use search_contacts first to resolve the contact identifier, then cross-reference with chat_members_contact_info.
How much you contribute vs. receive across all group chats:
SELECT
chat_id,
chat_size,
COUNT(*) AS total_messages,
SUM(CASE WHEN is_from_me = 1 THEN 1 ELSE 0 END) AS i_sent,
ROUND(100.0 * SUM(CASE WHEN is_from_me = 1 THEN 1 ELSE 0 END) / COUNT(*), 1) AS pct_i_sent
FROM messages
WHERE chat_size > 1
GROUP BY chat_id, chat_size
ORDER BY total_messages DESC
LIMIT 10
A low pct_i_sent means you're mostly a reader; high means you're a driver.
How group messaging volume has changed month-by-month:
SELECT
year,
month,
COUNT(*) AS messages,
COUNT(DISTINCT chat_id) AS active_groups
FROM messages
WHERE chat_size > 1
GROUP BY year, month
ORDER BY year, month
For a single group's activity over time (replace CHAT_ID):
SELECT
CAST(date AS VARCHAR) AS day,
COUNT(*) AS messages
FROM messages
WHERE chat_id = CHAT_ID
GROUP BY date
ORDER BY date
Quick summary to anchor the narrative:
SELECT
CASE WHEN chat_size > 1 THEN 'group' ELSE 'direct' END AS type,
COUNT(*) AS messages,
ROUND(100.0 * COUNT(*) / SUM(COUNT(*)) OVER (), 1) AS pct
FROM messages
GROUP BY type
ORDER BY messages DESC
Lead with the top group by volume and how it compares to the others. Then cover:
If the user asked about a specific group, focus entirely on that group: participant breakdown, your contribution, activity trend, and the most recent activity.
End by offering to drill into a specific group or compare it with a 1-on-1 relationship.