Short answer: a list is a set of accounts you read as their own feed, a starter pack is a set of accounts you follow all at once, and a custom feed is an algorithm that can pull posts from anyone. Lists and starter packs are about who; custom feeds are about what.

They overlap enough to be confusing. All three can be shared as a link, all three can show up in your feeds, and a starter pack is literally built on top of a list. Here's how they differ and when to reach for each one.

Side-by-Side Comparison

Curation listModeration listStarter packCustom feed
What it isA set of accountsA set of accountsUp to 150 accounts plus up to 3 feedsAn algorithm on a feed generator service
Main jobRead those accounts as a feedMute or block everyone on itFollow everyone in one tapShow posts matching a rule
Posts fromOnly list members– (filters, doesn't show)– (adds follows instead)Anyone on the network
OrderingChronological––Whatever the algorithm decides
Changes your follows?NoNoYes, if you follow allNo
Can be pinned as a tab?YesNoIts feeds can beYes
Public?YesYesYesYes (the feed record is)
Who can make one?Anyone, in the appAnyone, in the appAnyone, in the appAnyone, but it needs a running service

Lists: A Feed of Specific People

A curation list is a named set of accounts. Open it and you get a chronological feed of posts from just those accounts. You can pin it as a tab next to Following, and other people can pin it too. Nobody on the list has to be someone you follow, which is the point: a list lets you read a topic without stuffing your main timeline with it.

A moderation list uses the same structure for the opposite purpose. Subscribers choose to mute or block everyone on it, and anyone the owner adds later gets muted or blocked automatically.

On the protocol, both are an app.bsky.graph.list record with a purpose field, plus one app.bsky.graph.listitem record per member, all public in the owner's repo. Our lists tutorial covers creating them.

Use a list when you want to keep up with a defined group of people, completely and in order, without following them.

Starter Packs: Follow a Group in One Tap

A starter pack is a shareable bundle of up to 150 accounts and up to 3 custom feeds. Someone opens the link and can follow everyone in it at once, and save the included feeds. Starter packs were designed for onboarding, so a new user can sign up through one and arrive with a populated timeline. Existing users can use them the same way.

Under the hood, a starter pack is an app.bsky.graph.starterpack record that points at a list holding its members, plus references to the feeds. So it is a list in storage terms. What changes is the behavior: the pack exists to create follows, not to be read as a feed.

That's the key difference from a list. Following a starter pack is a one-time action. The accounts land in your Following feed, mixed in with everyone else. If the creator later adds people to the pack, you don't automatically follow them. A list you've pinned, by contrast, picks up new members as soon as the owner adds them.

Use a starter pack when you want to help people (or yourself) follow a community, and you want those accounts in the main timeline. We've collected good ones for NFL writers and comedy, and our guide on how to make a starter pack walks through building one.

Custom Feeds: An Algorithm, Not a Group

A custom feed is a ranked or filtered set of posts produced by a feed generator: an external service that watches the network and decides what belongs in the feed. The feed is published as an app.bsky.feed.generator record, and when you open it, the AppView asks that service which posts to show.

Because it is code, a custom feed can do things a list can't:

  • Pull posts from anyone, not just a fixed set of accounts
  • Match keywords, hashtags, languages or links
  • Rank by likes or engagement instead of time
  • Personalize per viewer

The trade-off is that you're trusting someone else's code and server. If the service goes down or the builder stops maintaining it, the feed breaks. And you can't easily see why a post is or isn't included. Our custom feeds guide covers finding and building them.

Use a custom feed when the topic is defined by what people post rather than who posts it.

Which One Should You Use?

You want to...Use
Read 40 journalists on one beat without following themCuration list
Help newcomers find your communityStarter pack
Follow everyone in a community in one goStarter pack
See every post with a certain hashtag or keywordCustom feed
See the most-liked posts on a topicCustom feed
Filter out a known group of spam accountsModeration list
Keep a live event's accounts in a separate tabCuration list, pinned

They also combine well. A common pattern: build a curation list of the people in a community, make a starter pack from the same people for newcomers, and include a topic custom feed in the pack.

Common Mix-Ups

  • "I followed a starter pack but don't have a feed for it." Right. A starter pack adds follows; it doesn't create a tab. If you want a separate feed, look for a list with the same people, or make one.
  • "My list feed doesn't look like my Following feed." It isn't meant to. A list feed is built from what its members post themselves, so don't expect it to handle reposts and replies exactly the way Following does.
  • "I subscribed to a list and now I can't see people." That was a moderation list, not a curation list. Unsubscribe to undo it.
  • "Is a custom feed private?" No. The feed record is public, and so are the posts it shows. Only your choice to pin it lives in your private preferences.

Frequently Asked Questions

What is the difference between a Bluesky list and a starter pack?

A curation list is a set of accounts you read as its own chronological feed without following anyone. A starter pack is a shareable bundle of up to 150 accounts and up to 3 feeds that people follow in one tap, adding those accounts to their Following feed.

Is a Bluesky starter pack a list?

Partly. Under the hood a starter pack is an app.bsky.graph.starterpack record that points at a list holding its members. In the app it behaves differently: it is built for following, not for reading as a feed.

What is the difference between a custom feed and a list on Bluesky?

A list feed shows posts only from the accounts on the list, newest first. A custom feed is an algorithm run by a feed generator service and can pull posts from anyone on the network based on keywords, likes, topics or any other rule its builder chooses.

Can a starter pack include custom feeds?

Yes. A starter pack can include up to 3 custom feeds alongside its accounts, so people who use it get the accounts and the feeds together.

Which is best for following a topic on Bluesky?

Use a list if you want a separate, complete timeline of specific accounts. Use a custom feed if the topic is defined by what people post rather than who posts it. Use a starter pack if you want those accounts in your main Following feed.

Lists, Packs and Feeds in Skyscraper

  • Pinned feeds, custom feeds, lists and saved searches all live together in the feed selector
  • Browse, create and read lists, and see at a glance whether each list is pinned (new in 1.7.1)
  • Open starter packs, see who's in them, and follow people one by one or all at once

Download Skyscraper →

Related Reading