I think it’s Vibe Coding. I don’t even know WTF Vibe Coding is honestly. This is just, coding with AI, some more. I will fully admit that while I am skeptical of AI in general, i do use it. I guess I am mildly hypocritical like that,.
I’m not going through every step of code here, though I will post the finished script. What I set out to do, was to build an automation tool for posting to social media. I will probably work on making some better input tools, but for now, it works fine for posting, and could be run on a cronjob.
I did have to manually modify the code in places, which I will touch on. Otherwise, it’s all coded with Claud.ai, over several iterations.
I started out with BlueSky. The idea being, I can create a file, topost.txt, and then have a script I can run on a schedule, that will pull posts from topost.txt. The file has the following formatting, as an example.
https://linkOne.com | A comment on Link One
https://linkTwo.com | A comment on Link Two
https://linkThree.com | A comment on Link Three
It pulls the top line, and posts it, as a link, with the added commentary. I asked Claude to do this and it worked perfectly. Except that it wasn’t creating “Pretty image links”. So I asked Claude to modify that, and it did, now it would post the links, with a nice embedded image.
Step two here, what if I want to also add some text posts in to be scheduled. I probably won’t do this, because I can easily just, post text on my own, and usually I would want to just post texts on my own, but it’s a good functionality to add. I asked Claude to do this, and it complied, no problem.
For the sake of an example, the input file now looks like this.
https://linkOne.com | A comment on Link One
I'm eating a sandwich!
https://linkTwo.com | A comment on Link Two
Look ma, no hands!
https://linkThree.com | A comment on Link Three
Maybe the main benefit here is that I could potentially just, post entirely from the CLI by editing the input file if I wanted to. Heck, there is probably some clever Linux nonsense I could do so that at any given moment I could type out something like “I had a funny thought >> thingstopost” and it would take that and dump it to the topost file.
Note to self, look into that.
At this point, I decided it would be fun if it could cross post to BlueSky and Mastodon at once, so I asked Claude to do this for me as well. This is where things got a little wonky. It did it, but it removed the entire function that created BlueSky image posts for some reason.
I just pulled it from a previous version and dropped it back in, and everything worked just fine.
I then went back to Claude and pasted my fixed code, asking it to make that the new baseline.
It then threw out an error about the chat being too long. So I started a new chat, with the script, and asked it to use that as the baseline.
The last feature I added, one I have wanted to build myself for a while back when Twitter existed, is to also allow it to post random meme images. I asked it to add functionality to pull an image from a folder called images, and post it, with commentary.
Example input
https://linkOne.com | A comment on Link One
I'm eating a sandwich!
meme.jpg | This meme is funny!
https://linkTwo.com | A comment on Link Two
Look ma, no hands!
cats.gif | Look at these adorable cats!
And it… once again, removed a random function entirely, this time the one that would input the first line of topost.txt. Which I only noticed because it left the function definition, but removed all the text, and I was getting an indentation error.

I manually corrected this, pulling an old version, and everything worked, perfectly. It’s pretty slick. Now I just need to work on a workflow to feed input to it, and probably just set up a separate account so I’m not polluting my regular accounts with nonsense.
Anyway, the full script with setup instructions can be found on Github.