
Map your crews
Who's in which friend group, and who links them.
What it reaches for
- Handles personal data
One chore down.Three steps
- 1Copy the prompt and paste it into a new Muse chat.
- 2Tell Muse what you need, in your own words.
- 3Answer its questions. It follows the prompt from there.
Last verified: September 2026. Most people can name their friend groups, but not all of them, and not who sits in two at once. This skill reads the user's own Instagram activity and draws that map: the groups, who's in each, who connects them, and which ones have drifted.
Why this skill exists
Friend groups are useful to see clearly. They decide who to invite to a birthday without leaving someone out, who could introduce you to whom, and which friendships are fading because the group chat died, not because anyone chose it. Instagram already holds most of the evidence, spread across group chats, tags, and follows. Nobody lays it side by side.
Step 1: Ask what they want out of it
One short message, only what's missing:
- What it's for: just curious, planning an event, working out who to reconnect with, or something else. This decides what the summary focuses on.
- Any groups they already know: "college friends", "work people", "climbing crew". Named groups make the map far more accurate, since you can check your clusters against them.
- Who to leave out: exes, family, coworkers, or specific accounts they don't want in the analysis
If they just say "go", skip the questions and ask for names at the end instead.
Step 2: Get the data
In order of preference:
- The connected Instagram account, if the agent has access
- The user's Instagram data download (Settings → Accounts Center → Your information and permissions → Download your information, JSON). Ask for followers and following, messages, their own posts and stories, and comments. Messages are the most useful part and the biggest; if the file is too large, followers and following plus their posts is a fine start.
- Screenshots of group chats and tagged posts, for a quick version
Say plainly what you can and can't see. A data download covers the user's own activity: their chats, their posts, who they tag, who they follow. It doesn't show how their friends interact with each other elsewhere, so the map is the user's view of their social life, not a full picture.
Step 3: Collect the signals
Only use accounts the user has a real connection with: mutual follows, people they chat with, people they tag or are tagged with. Skip brands, celebrities, and one-way follows.
Weigh these, strongest first:
- Group chats: people in the same group chat are almost always one group. Several chats with overlapping members are usually the same group; a chat with one different member suggests a subgroup or a plus-one.
- Tagged together: people tagged in the same post or story, especially more than once
- Shared places and events: posts from the same school, workplace, gym, team, city, or trip
- Mutual follows among them, if you can see who follows whom. A set of people who all follow each other is a strong cluster.
- Bios: the same school, company, team, or scene named in several bios
- The user's own labels from step 1, which override anything the data suggests
Note when each signal happened. A chat that was busy two years ago and silent now tells a different story from one that's active this week.
Step 4: Build the groups
- Put people who share several strong signals into one group. One shared tag isn't enough on its own.
- Name each group by what connects it: "Michigan roommates", "Tuesday run club", "2023 Lisbon trip", "old job at Acme". Use the user's own names where they gave them.
- People can be in more than one group. Don't force anyone into a single group.
- Keep it to groups of 3 or more. Close one-on-one friends go in their own short list rather than a group of two.
- If a group has only thin evidence, keep it but mark it as a guess.
Output format
Start with a one-line overview: how many groups, and how many people are in at least one.
Then for each group, biggest or most active first:
- Name, and one line on what ties it together
- Members: @handle and first name, with the core members first
- Evidence: 2 or 3 concrete signals, e.g. "all in the 'Sunday league' chat, tagged together in 6 posts since March"
- Status: active, cooling (less contact than before), or dormant (no contact in about a year), with the date of the last sign of life
- Confidence: high, medium, or low
After the groups:
- Connectors: people who appear in two or more groups. They're who to ask for an introduction, and who will bring people together at a mixed event.
- Close one-on-ones: people the user talks to often who don't fit a group
- Drifted: groups or friends that used to be active and aren't anymore, if the user seems interested in reconnecting. Frame it as an opportunity, not a judgment.
End by offering to rename or merge groups, draft a guest list from a mix of groups, or write a message to restart a quiet group chat.
Extras, if they want them
- Guest list: for an event, suggest a mix that keeps each group with at least one or two people they know, and flag anyone who'd be the only person from their group.
- Reconnect: for a dormant group, draft a low-pressure message for the old group chat. Mentioning a specific shared memory works better than "we should catch up".
- Off-limits list: for someone also using
follower-matchmaker, the groups make a quick list of friends and friends-of-friends to leave out. - Overlap view: if they want a picture, describe it as a simple list of groups with the connectors named under each, rather than a diagram that implies more precision than the data has.
Rules
- The user's data, for the user. Don't post, share, or save the map or anything about the people in it beyond this conversation unless the user asks.
- Describe groups, not people. Say who's in a group and why. Don't rank friends, rate how good a friend someone is, or guess at relationships, feelings, conflicts, or who likes whom.
- Don't read more than you need from chats. Use who's in a chat and when it was active. Don't quote or summarize what people said in private messages unless the user asks about a specific chat.
- Public and shared info only. Don't look up friends' other accounts, addresses, workplaces, or anything outside what the user's own Instagram shows.
- The user sends every message. Draft messages, but never post, message, follow, or unfollow anyone unless they explicitly ask for that exact action, and confirm it first.
- Be honest about uncertainty. Instagram is a partial record. Say when a group is a guess, and remind the user that people who don't use Instagram much won't show up at all.
--- name: friend-group-analyzer description: Map someone's friend groups from their own Instagram, using group chats, who they tag and get tagged with, mutual follows, and shared places, then name each group, list who's in it, and point out the people who connect groups and the groups that have gone quiet. Use this whenever someone asks to "find my friend groups", "map my friends", "who are my circles", "which friends know each other", wants to plan who to invite to something, or is curious how their social life breaks down, even if they don't say "friend group". --- # Friend Group Analyzer Last verified: September 2026. Most people can name their friend groups, but not all of them, and not who sits in two at once. This skill reads the user's own Instagram activity and draws that map: the groups, who's in each, who connects them, and which ones have drifted. ## Why this skill exists Friend groups are useful to see clearly. They decide who to invite to a birthday without leaving someone out, who could introduce you to whom, and which friendships are fading because the group chat died, not because anyone chose it. Instagram already holds most of the evidence, spread across group chats, tags, and follows. Nobody lays it side by side. ## Step 1: Ask what they want out of it One short message, only what's missing: - **What it's for**: just curious, planning an event, working out who to reconnect with, or something else. This decides what the summary focuses on. - **Any groups they already know**: "college friends", "work people", "climbing crew". Named groups make the map far more accurate, since you can check your clusters against them. - **Who to leave out**: exes, family, coworkers, or specific accounts they don't want in the analysis If they just say "go", skip the questions and ask for names at the end instead. ## Step 2: Get the data In order of preference: 1. **The connected Instagram account**, if the agent has access 2. **The user's Instagram data download** (Settings → Accounts Center → Your information and permissions → Download your information, JSON). Ask for followers and following, messages, their own posts and stories, and comments. Messages are the most useful part and the biggest; if the file is too large, followers and following plus their posts is a fine start. 3. **Screenshots** of group chats and tagged posts, for a quick version Say plainly what you can and can't see. A data download covers the user's own activity: their chats, their posts, who they tag, who they follow. It doesn't show how their friends interact with each other elsewhere, so the map is the user's view of their social life, not a full picture. ## Step 3: Collect the signals Only use accounts the user has a real connection with: mutual follows, people they chat with, people they tag or are tagged with. Skip brands, celebrities, and one-way follows. Weigh these, strongest first: 1. **Group chats**: people in the same group chat are almost always one group. Several chats with overlapping members are usually the same group; a chat with one different member suggests a subgroup or a plus-one. 2. **Tagged together**: people tagged in the same post or story, especially more than once 3. **Shared places and events**: posts from the same school, workplace, gym, team, city, or trip 4. **Mutual follows among them**, if you can see who follows whom. A set of people who all follow each other is a strong cluster. 5. **Bios**: the same school, company, team, or scene named in several bios 6. **The user's own labels** from step 1, which override anything the data suggests Note when each signal happened. A chat that was busy two years ago and silent now tells a different story from one that's active this week. ## Step 4: Build the groups - Put people who share several strong signals into one group. One shared tag isn't enough on its own. - **Name each group** by what connects it: "Michigan roommates", "Tuesday run club", "2023 Lisbon trip", "old job at Acme". Use the user's own names where they gave them. - People can be in more than one group. Don't force anyone into a single group. - Keep it to groups of 3 or more. Close one-on-one friends go in their own short list rather than a group of two. - If a group has only thin evidence, keep it but mark it as a guess. ## Output format Start with a one-line overview: how many groups, and how many people are in at least one. Then for each group, biggest or most active first: 1. **Name**, and one line on what ties it together 2. **Members**: @handle and first name, with the core members first 3. **Evidence**: 2 or 3 concrete signals, e.g. "all in the 'Sunday league' chat, tagged together in 6 posts since March" 4. **Status**: active, cooling (less contact than before), or dormant (no contact in about a year), with the date of the last sign of life 5. **Confidence**: high, medium, or low After the groups: - **Connectors**: people who appear in two or more groups. They're who to ask for an introduction, and who will bring people together at a mixed event. - **Close one-on-ones**: people the user talks to often who don't fit a group - **Drifted**: groups or friends that used to be active and aren't anymore, if the user seems interested in reconnecting. Frame it as an opportunity, not a judgment. End by offering to rename or merge groups, draft a guest list from a mix of groups, or write a message to restart a quiet group chat. ## Extras, if they want them - **Guest list**: for an event, suggest a mix that keeps each group with at least one or two people they know, and flag anyone who'd be the only person from their group. - **Reconnect**: for a dormant group, draft a low-pressure message for the old group chat. Mentioning a specific shared memory works better than "we should catch up". - **Off-limits list**: for someone also using `follower-matchmaker`, the groups make a quick list of friends and friends-of-friends to leave out. - **Overlap view**: if they want a picture, describe it as a simple list of groups with the connectors named under each, rather than a diagram that implies more precision than the data has. ## Rules - **The user's data, for the user.** Don't post, share, or save the map or anything about the people in it beyond this conversation unless the user asks. - **Describe groups, not people.** Say who's in a group and why. Don't rank friends, rate how good a friend someone is, or guess at relationships, feelings, conflicts, or who likes whom. - **Don't read more than you need from chats.** Use who's in a chat and when it was active. Don't quote or summarize what people said in private messages unless the user asks about a specific chat. - **Public and shared info only.** Don't look up friends' other accounts, addresses, workplaces, or anything outside what the user's own Instagram shows. - **The user sends every message.** Draft messages, but never post, message, follow, or unfollow anyone unless they explicitly ask for that exact action, and confirm it first. - **Be honest about uncertainty.** Instagram is a partial record. Say when a group is a guess, and remind the user that people who don't use Instagram much won't show up at all.