agentsclimarketplace

X publisher clean profile

Skill nick905846753-crypto/x-publisher-clean-profile/skills/x-publisher-clean-profile

Publish drafts or posts to X/Twitter through a dedicated clean Chrome profile that loads only Kimi WebBridge and avoids interference from the user's normal Chrome extensions. Use when the user asks an AI agent to post to X, Twitter, or x.com; test an X publishing workflow; automate X posting with an already logged-in browser session; or work around extension conflicts such as "Cannot access a chrome-extension:// URL of different extension". Requires local Kimi WebBridge, Google Chrome, and an X login in the clean publishing profile.From its SKILL.md

Install
npx -y skills add nick905846753-crypto/x-publisher-clean-profile --skill x-publisher-clean-profile

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its file declares

Copied from the file, not written here

The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.

SKILL.md

4.5 KB, 954 tokens by cl100k_base, as published. Nobody here has run it

X Publisher Clean Profile

What This Skill Provides

Use a separate Chrome profile for X publishing so the user's normal Chrome extensions do not affect browser automation. The workflow starts a clean Chrome window with Kimi WebBridge loaded, then uses Chrome's local debugging port to create a fresh X tab, fill the composer, and optionally click Post.

The bundled posting script is conservative:

  • Draft mode is the default. It fills the composer but does not publish.
  • Live posting requires --send.
  • Before drafting or sending, it closes old X tabs in the clean profile and opens a fresh X home tab to avoid stale drafts or overlays.

Skill Directory

Use the folder containing this SKILL.md as SKILL_DIR. Some agents expose it as ${CLAUDE_SKILL_DIR} or ${CODEX_SKILL_DIR}. If neither exists, resolve the absolute path to this skill folder manually.

SKILL_DIR="${CLAUDE_SKILL_DIR:-${CODEX_SKILL_DIR:-/absolute/path/to/x-publisher-clean-profile}}"

First-Run Setup

  1. Start the clean publishing browser:
bash "$SKILL_DIR/scripts/start-x-publisher.sh"
  1. If X is not logged in inside that new Chrome window, ask the user to log in once there. The clean profile is stored at ~/.kimi-webbridge/chrome-profile-x, so the session should persist for future runs.

  2. Do not disable, edit, or mutate the user's main Chrome extensions. This skill avoids them by using a separate Chrome profile.

Draft A Post

Use draft mode first when testing a new environment or when the user has not explicitly confirmed live posting:

node "$SKILL_DIR/scripts/x-publisher-post.mjs" --text "Testing the X publishing workflow."

For longer content, write the post text to a file and pass the file:

node "$SKILL_DIR/scripts/x-publisher-post.mjs" --file /absolute/path/to/post.txt

Expected success response:

{"ok":true,"mode":"draft","chars":42}

Publish A Post

Only publish when the user explicitly asks to send/post/publish, or after showing the draft text and receiving confirmation.

node "$SKILL_DIR/scripts/x-publisher-post.mjs" --send --text "Post text here"

For file-based posting:

node "$SKILL_DIR/scripts/x-publisher-post.mjs" --send --file /absolute/path/to/post.txt

Expected success response:

{"ok":true,"mode":"sent","chars":42}

After sending, verify on the user's profile when practical by opening the profile in the clean browser profile or by using the same debugging port.

Configuration

The scripts use these defaults:

  • Clean Chrome profile: ~/.kimi-webbridge/chrome-profile-x
  • Kimi extension: ~/.kimi-webbridge/extension-download
  • Kimi binary: ~/.kimi-webbridge/bin/kimi-webbridge
  • Chrome app: Google Chrome
  • Debug port: 9223

Override with environment variables when needed:

X_PUBLISHER_PROFILE_DIR=/path/to/profile \
KIMI_WEBBRIDGE_EXTENSION_DIR=/path/to/kimi/extension \
KIMI_WEBBRIDGE_BIN=/path/to/kimi-webbridge \
CHROME_APP="Google Chrome" \
X_PUBLISHER_DEBUG_PORT=9224 \
bash "$SKILL_DIR/scripts/start-x-publisher.sh"

If the port is changed when starting the browser, pass the same port to the posting script:

node "$SKILL_DIR/scripts/x-publisher-post.mjs" --port=9224 --text "Draft text"

Troubleshooting

If the posting script prints LOGIN_REQUIRED, ask the user to log into X once inside the clean publishing Chrome window, then rerun the same command.

If the script times out or cannot find the composer, rerun:

bash "$SKILL_DIR/scripts/start-x-publisher.sh"

Then retry the draft command. The posting script closes stale X tabs before starting, so this usually clears old overlays or drafts.

If Kimi WebBridge is missing, install it first using the official installer:

curl -fsSL https://kimi-web-img.moonshot.cn/webbridge/install.sh | bash

If the user's normal Chrome has extension conflicts, do not attempt to toggle those extensions. Use this clean profile workflow instead.

What ships with it: 3 files

11.2 KB alongside SKILL.md, 2 of them executable

agents/

scripts/

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.