clean-satellite-at-transition
Installation
SKILL.md
Clean up satellites at the transition
Some rows exist only because of a state on another row: notifications for a followed creator, a new-release tracking row for a subscription, draft rows for an open editor. When that state ends, those rows have no reason to exist — and nothing in the schema knows that.
Do the delete where the state changes:
// adapted
override suspend fun updateFollowedStatus(artistId: String, followedStatus: Int) {
localDataSource.updateFollowed(followedStatus, artistId)
if (followedStatus == 0) {
localDataSource.deleteNotificationsByArtistId(artistId)
localDataSource.deleteReleaseTrackingRow(artistId)
}
}