Raw Social Media Automation App
git clone https://github.com/rickdane/Node-Js-Social-Media-Automation-App.gitNode-Js-Social-Media-Automation-App is a raw social media automation application built with Node.js. This skill enables automated management of social media tasks and interactions. It falls under the marketing category and is maintained by rickdane. The application provides foundational automation capabilities for social media workflows.
[{"step":1,"action":"Set up your development environment. Install Node.js (v18+), npm, and the required libraries (`twitter-api-v2`, `csv-parser`, `winston` for logging).","tip":"Use `npm init -y` to create a `package.json` file, then install dependencies with `npm install twitter-api-v2 csv-parser winston`."},{"step":2,"action":"Configure your Twitter API credentials. Create a Twitter Developer account, generate API keys, and add them to a `.env` file as `TWITTER_API_KEY`, `TWITTER_API_SECRET`, `TWITTER_ACCESS_TOKEN`, and `TWITTER_ACCESS_TOKEN_SECRET`.","tip":"Never commit your `.env` file to version control. Add it to your `.gitignore`."},{"step":3,"action":"Prepare your tweet pool. Create a `tweets.csv` file with columns `tweet_text` and `scheduled_time` (in ISO format, e.g., `2023-11-15T09:00:00Z`). Example:\n```csv\ntweet_text,scheduled_time\n\"Check out our new blog post! #marketing\",\"2023-11-15T09:00:00Z\"\n\"Join our webinar tomorrow! #webinar\",\"2023-11-15T10:00:00Z\"\n```","tip":"Use a tool like Excel or Google Sheets to format your tweets, then export as CSV."},{"step":4,"action":"Run the app. Execute `node app.js` to start the scheduler. The app will read the `tweets.csv` file, queue the tweets, and post them at their scheduled times.","tip":"Use `nodemon` for development to automatically restart the app when changes are made. Install it with `npm install -g nodemon` and run with `nodemon app.js`."},{"step":5,"action":"Monitor the logs. Check `automation.log` to verify that tweets are posting correctly and to troubleshoot any errors.","tip":"Set up log rotation to prevent the log file from growing too large. Use `winston-daily-rotate-file` for this purpose."}]
Automate posting schedules across social media platforms
Streamline repetitive social media management tasks
Schedule and manage content distribution
Automate social media engagement workflows
No install command available. Check the GitHub repository for manual installation instructions.
git clone https://github.com/rickdane/Node-Js-Social-Media-Automation-AppCopy the install command above and run it in your terminal.
Launch Claude Code, Cursor, or your preferred AI coding agent.
Use the prompt template or examples below to test the skill.
Adapt the skill to your specific use case and workflow.
Create a Node.js social media automation app that automates [SPECIFIC_TASK] for [PLATFORM] using [TOOLS/LIBRARIES]. The app should include features like [FEATURE_1], [FEATURE_2], and [FEATURE_3]. Ensure it handles [ERROR_HANDLING_SCENARIO] and logs actions to [LOGGING_METHOD]. Deploy the app using [DEPLOYMENT_METHOD].
Here’s a Node.js social media automation app that schedules and posts tweets to Twitter (X) using the Twitter API v2 and the `twitter-api-v2` library. The app includes features like bulk scheduling, content rotation, and error handling for rate limits. It logs all actions to a file (`automation.log`) and deploys via Docker on AWS EC2. **Key Features:** 1. **Bulk Scheduling:** Users can upload a CSV file with tweets and scheduled times. The app parses the file and queues the tweets for posting. 2. **Content Rotation:** The app supports a pool of tweets and rotates them randomly to avoid repetition. For example, if the pool contains 5 tweets, the app will post one randomly each time. 3. **Rate Limit Handling:** The app checks Twitter’s rate limits before posting and retries failed requests with exponential backoff. If a tweet fails to post after 3 attempts, it logs the error and moves to the next tweet. 4. **Logging:** All actions (successful posts, failures, rate limit hits) are logged to `automation.log` with timestamps. **Code Structure:** - `app.js`: Main entry point that initializes the app, loads the tweet pool, and starts the scheduler. - `scheduler.js`: Handles the scheduling logic, including parsing the CSV, managing the queue, and posting tweets. - `twitterClient.js`: Wrapper for the `twitter-api-v2` library, handling API calls, rate limits, and error handling. - `logger.js`: Utility for logging actions to a file. **Example Workflow:** 1. User uploads `tweets.csv` with columns: `tweet_text`, `scheduled_time`. 2. The app parses the file and queues the tweets for posting at their scheduled times. 3. At 9:00 AM, the app selects a random tweet from the pool and posts it to Twitter. 4. If Twitter’s rate limit is hit, the app waits 15 minutes (exponential backoff) and retries. 5. All actions are logged to `automation.log`. **Sample `automation.log` Entry:** ``` [2023-11-15 09:00:00] INFO: Posting tweet "Check out our new blog post! #marketing" to Twitter. [2023-11-15 09:00:05] SUCCESS: Tweet posted successfully. Tweet ID: 123456789. [2023-11-15 09:05:00] INFO: Rate limit hit. Waiting 15 minutes before retrying. [2023-11-15 09:20:00] INFO: Retrying tweet post. [2023-11-15 09:20:05] SUCCESS: Tweet posted successfully. Tweet ID: 123456801. ```
Take a free 3-minute scan and get personalized AI skill recommendations.
Take free scan