AD
Boost Your Brand on BlueSky—Exclusive banner space to amplify your reach within the BlueSky community.
BSkyInfo LogoBskyInfo
All ToolsCategoriesCollectionsFeed DirectoryLabeler DirectoryArticlesGuidesGlossaryBluesky SDKsSponsor
Submit
All ToolsCategoriesCollectionsFeed DirectoryLabeler DirectoryGuidesGlossaryArticlesBluesky SDKsSponsorSubmit
  1. SDKs
  2. /Python
  3. /skeeter-deleter
Gorcenski

skeeter-deleter

A Python SDK for Bluesky and AT Protocol by Gorcenski

A script for auto-deleting Bluesky posts

GitHub Stats

65stars
19forks
2contributors
4open issues

Dates

Created:June 23, 2024
Last updated:May 13, 2025

README

The following content is from skeeter-deleter's GitHub repository. All rights reserved by the original author.

skeeter-deleter

A github action for auto-deleting Bluesky posts.

THIS CODE IS VERY DESTRUCTIVE. The maintainer assumes no liability or warranty for its use. Use at your own peril.

What it is

This is a command-line tool that allows a user to download an archive of their Bluesky posts, remove likes, and delete old posts per user-specified criteria, namely age and virality.

Why delete old posts?

Social media is a great tool to connect people, but it can also be a tool to harass and harm people. One of the more insidious social media behaviors is the tendency to dig up old, out-of-context posts and use them to impugn, impeach, harass, molest, or otherwise defame other users. Similarly, posts that go viral tend to attract unwanted attention, which can lead to arguments, harassment, or other unpleasant experiences.

This tool helps purge your profile so this can't happen, while also preserving a private archive of the posts for any future needs.

What if I want to keep some posts?

The tool allows you to create a curated feed of your content. Simply "like" your own post and it will be marked for preservation. Beware: if you unlike the post, it may be deleted if you run this script again.

How does it work?

The tool works as follows:

  1. it downloads a CAR archive and all embedded media and stores it to an archive folder locally
  2. it reads your account's likes feed and gathers likes of a certain configurable age
  3. it reads your account's posts, replies, and reposts and gathers all such items of a certain configurable age or popularity, as measured by the number of reblogs
  4. it unlikes posts
  5. it deletes posts

Installation

Clone this repository and install the python libraries from requirements.txt using your preferred python package management solution. Note: you will need to install libmagic. Please see the instructions on the python-magic pypi page.

You'll need to set environment variables, BLUESKY_USERNAME and BLUESKY_PASSWORD in your OS. Unfortunately, Bluesky does not currently support a more secure AuthN solution such as OAuth at this time.

Running

Activate your environment.

Run the command with

python skeeter-deleter.py

with the following command line options:

  • -l, --max-reposts: the upper limit of reposts a post can have before it is deleted. This is to prevent post virality by deleting posts once they've grown too popular. Set this to 0 or ignore the flag if you don't want to use this feature. Note: at least either -s or -l (or both) must be set to delete posts, replies, reblogs, or likes.

  • -s, --stale-limit: the upper limit of the age in days a post can be. This is to prevent people digging up old posts. Set this to 0 or ignore the flag if you don't want to use this feature. Note: at least either -s or -l (or both) must be set to delete posts, replies, reblogs, or likes.

  • -d, --domains-to-protect: a comma-separated list of domain names to preserve, for example you can configure the tool to not delete links to your blog or your favorite sites. Optional.

  • -c, --fixed-likes-cursor: the cursor ID for the maximum lookback for likes. Due to the ATProto design, fetching likes can take a long time, as the cursor still pages even if there are no old likes to be found. If you have run this tool at least once before, it is recommended to set this to a cursor in the recent past. This can be obtained by running -v or -vv and copying the cursor output

  • -v, --verbose: emit more information about progress, useful for initial runs where many posts will be archived and deleted

  • -vv, --very-verbose: emit granular information about each post. Not recommended.

  • -y, --yes: automatically answer yes to all warnings about deleting posts, necessary for use in automation.

Automating

This could be run in a docker container in a Github action, in a cloud function, or in any other scheduled environment.

Future Roadmap

A few features are planned:

  • Cloud archiving
  • Github action wrapper
  • AWS Lambda, Azure Function, etc bindings
  • Storing archives as JSON or other usable formats

Related SDKs

dannguyendancow-bluesky-fun-api-tool

Just having fun with python and Bluesky's AT Protocol. Trying to build a simple CLI and enough of SDK to easily explore and collect my own Bluesky data

1•Python
TahomaSoftSaxeBlueskyPython

A small python library to post basic text and media to bsky.app via atproto's xrpc API.

1•Python
Zetaphorbsky-altometer

A site that measures the current percentage of Bluesky posts missing alt text

7•Python
snarfedbridgy-fed

🌉 A bridge between decentralized social networks

1002•Python
snarfedgranary

💬 The social web translator

485•Python
DavidBuchanan314millipds

A from-scratch atproto PDS implementation in Python

131•Python

Resources

GitHub Repository

License

MIT

Author

Gorcenski
Gorcenski

Activity

Last commit: May 13, 2025
Commit frequency: Unknown

Our Sponsors

Your Brand Here!

50K+ engaged viewers every month

Limited spots available!

📧 Contact us via email🦋 Contact us on Bluesky
BSkyInfo LogoBskyInfo

The Most Comprehensive Bluesky Tools Directory

Stay updated with the latest Bluesky tools and ecosystem news 🦋

Bluesky butterfly logo
Quick LinksSubmit a ToolSponsorAboutLegal Information
ToolsFeed DirectoryLabeler DirectorySchedulingAnalyticsAll ToolsCategoriesCollectionsTags
ResourcesArticlesBluesky GuidesBluesky GlossaryBluesky SDKsBluesky ResourcesSkyRaffleMeida Coverage
Our ProductsRaffleBlueAiTeach ToolsLaiewAI affiliate listFirsto

This website may contain affiliate links

© 2025 BskyInfo. All rights reserved.