grokbot-x skill

Five skills for posting on X via the official Typefully API: replies go out as drafts and a nightly gate tunes the playbook

  • 77 ★ on the repository
  • Last commit
  • MIT
Skill

Broad access

Why this level

  • Original posts are published to the X account through the API with no extra confirmation
  • The Typefully API key lives in `.env` and grants posting on behalf of the owner
All reasons and checks

yanniskiefer/grokbot-x

Install

Works in

In your terminal, with SkillFoxx CLI

npx skillfoxx add skills/grokbot-x

Detects the agents on your machine, shows the access level and pins the version.

Other ways to install

Access and checks

How we review

Broad accessThe tool can change data, run commands or handle secrets.

  • Original posts are published to the X account through the API with no extra confirmation
  • The Typefully API key lives in `.env` and grants posting on behalf of the owner

This is third-party code. Review the repository files before installing.

What it does

grokbot-x builds a working loop for running an X account from five skills and two Python scripts. The agent finds posts with views far above the author's follower count, writes a reply or a post in the owner's voice and sends the text to Typefully. Original posts go out through the API right away, replies are created as drafts, and they reach X only after a person clicks Publish. The scripts `publish_original.py` and `create_reply_draft.py` run on the Python 3.10 standard library with no dependencies. Every shipped post is logged as one JSON line in a trajectory file. Each night `skillopt/sleep_cycle.py` tests one edit of the main skill on held-out data and keeps it only if the lower bound of the confidence interval is above zero. Other edits land in `rejected_edits.md`. The `x-human-cadence` skill sets the rhythm: at most one original post per hour, replies in small batches, likes and follows only by the owner's own hands. The `x-unslop-humanizer` skills clean drafts of stock phrases.

Who it is for. Founders and marketers of small products who run their X account themselves and want an agent to prepare replies and posts while a person keeps the publishing decision.

Good fit when

  • An X account needs daily attention, and there is no time to hunt for threads to reply to
  • Replies should come out in the brand voice from a filled `BRAND-BIBLE` template
  • You want to log the outcome of every post and see what worked
  • You want playbook edits checked on held-out data instead of gut feeling
  • Publishing must go through the official API with no browser scripting

Not a fit when

  • You want bulk replies or automatic likes and follows: the kit deliberately does not do them
  • There is no Typefully account with an API key
  • You promote somewhere other than X: the skills and scripts are written only for it

Example request

Find two high-reach posts on our product topic and prepare replies as drafts in Typefully.

Limitations

It needs Python 3.10 or newer, a Typefully API key, a social set id and an X handle. The values live in `.env` as `YOUR_TYPEFULLY_API_KEY`, `YOUR_TYPEFULLY_SOCIAL_SET_ID` and `YOUR_HANDLE`. The skills target Grok Bot: the `SKILL.md` files are copied into its skill folder by hand. Without a key nothing is published. The "Made with AI" label is controlled by `X_MADE_WITH_AI` and is off by default. The project is not affiliated with xAI, X or Typefully, and responsibility for posts and platform rules rests with the account owner.

How to disable. Delete the copied `SKILL.md` files from the agent skill folder, revoke the API key in Typefully settings and remove `.env` with the trajectory logs.

FAQ

Does the kit publish replies on its own?

No. Replies are created as Typefully drafts and reach X after a manual Publish click. Original posts are published through the API right away.

Does it use a browser or work around X limits?

No. The README states that browser scripting on x.com, auto-likes and auto-follows are off limits, and only the official Typefully API is used.

How does the nightly SkillOpt gate work?

`skillopt/sleep_cycle.py` tests one edit of the main skill on held-out trajectories and keeps it if the interval lower bound is above zero. The reward is fixed in code, so an edit cannot rewrite it.

Which environment variables are needed?

`YOUR_HANDLE`, `YOUR_TYPEFULLY_API_KEY` and `YOUR_TYPEFULLY_SOCIAL_SET_ID`. Optional: `SKILLOPT_DIR` and `X_MADE_WITH_AI`.

Do I need to install dependencies with pip?

No. The scripts run on the Python 3.10 standard library. `ruff` and `pytest` are needed only for development.

Discussion

No questions or reviews yet.

Skills

The official Typefully skill: an agent drafts, schedules and publishes posts for X, LinkedIn, Threads and Bluesky.

SkillExtended access64Repository stars
Needs a VPN

Four Claude Code skills that take a post for X from gathering material and picking topics to a ready draft

SkillExtended access353Repository stars

A skill for Claude Code and Codex on writing posts and running an X account with six creators' methods and your own data.

SkillMinimal access1.3KRepository stars
Needs a VPN

A social content skill: learns your voice, plans content, writes posts and, after confirmation, publishes through your logged-in Chrome

SkillBroad access856Repository stars

Nine skills for Claude Code and Codex write tweets and threads in your voice, extract hooks and plan a content week.

PluginExtended access177Repository stars

An X (Twitter) research skill: the agent searches posts, reads threads and profiles, and assembles a briefing with source links

SkillExtended access1.2KRepository stars

README in short

The README describes two lanes, publishing and learning, a five-minute quickstart, a file table, environment variables and a list of what the kit refuses to do.

README badge

Original SKILL.md

---
name: X publish
description: >-
  use this whenever publishing or scheduling any X post or reply for the
  operator: official API clients only, a human approves every reply, and
  AI disclosure is the operator's own setting
---
# X publish

Use this whenever shipping any X original OR reply for @YOUR_HANDLE.
Details and curl examples: `docs/PUBLISH.md`.

## Hard ban

NEVER automate x.com in a browser: no compose, no replies, no likes, no
bookmarks, no follows. X's automation rules ban scripting the X website
and ban automated likes and follows; the account can be permanently
suspended. Likes, bookmarks and follows are the operator's own clicks.

## Disclosure

Whether posts carry X's "Made with AI" disclosure is the operator's
choice: `X_MADE_WITH_AI=true` in `.env` turns it on (default off). Use
whatever the operator set; never change it on your own. If X applies a
label itself, that is X's call: leave it, never try to work around it.

## Originals

`python3 scripts/publish_original.py --text "..."` (Typefully API,
`publish_at: "now"`, disclosure from `.env`). Or the operator's own
phone / laptop.

## Replies

1. CREATE a draft: `python3 scripts/create_reply_draft.py --text "..."
   --reply-to URL`. It never sets `publish_at`; X does not allow API
   reply publish.
2. The operator opens the draft's private URL in Typefully, reads it,
   and clicks Publish. That human click is the approval step. Never
   schedule replies.

## Before publish checklist

- Right path for originals vs replies
- Disclosure as the operator set it
- Max 1 original/hour; spaced replies
- Not a throwaway test, not a duplicate of an earlier post

Report a problem