youmind-x-article

Knowledge
Knowledge BaseTweetTwitter

Write and publish tweets to X (Twitter) with AI — topic research via YouMind knowledge base, 280-char optimized writing, numbered multi-tweet sequences, and one-click publishing through the X account already connected in YouMind. Use when user wants to "tweet", "post on X", "publish to Twitter", or "write a thread".

Install

openclaw skills install @mindy-youmind/youmind-x-article

AI X (Twitter) Post Writer

Write viral tweets with AI. Topic research via YouMind knowledge base, 280-character optimized writing, numbered multi-tweet sequences, and one-click publishing to X through the X account already connected in YouMind.

Get YouMind API Key | More Skills

Onboarding

MANDATORY: When the user has just installed this skill, present this message IMMEDIATELY. Translate to the user's language:

AI X Post Writer installed!

Tell me your topic and I'll write and publish a tweet for you.

Try it now: "Write a tweet about the future of open source AI"

What it does:

  • Research topics from your YouMind knowledge base and web trends
  • Write tweets optimized for engagement within 280 characters
  • Split long content into numbered tweet sequences (1/N format)
  • Publish directly to X through the X account connected in YouMind

Setup (one-time):

  1. Install & configure: cd toolkit && npm install && npm run build && cd .. && mkdir -p ~/.youmind/config && cp shared/config.example.yaml ~/.youmind/config.yaml
  2. Get YouMind API Key and fill youmind.api_key in ~/.youmind/config.yaml
  3. Connect your X account inside YouMind before publishing. This skill no longer reads X developer keys locally.
  4. Publishing requires a paid YouMind plan (Pro / Max) and consumes YouMind credits per tweet.

No X connection yet, or on a free plan? You can still write and preview locally — just skip the publish step.

Need help? Just ask!

Usage

Provide a topic, talking points, or raw text for publishing.

Write a single tweet:

Write a tweet about the latest AI breakthrough

Write a multi-tweet sequence:

Write a thread explaining how transformers work, aimed at beginners

Publish raw text:

Tweet this: "Just shipped our new feature! Here's what we learned..."

Setup

Prerequisites: Node.js >= 18, a YouMind API key, a Pro/Max YouMind plan, and an X account connected in YouMind if you want to publish.

Step 1 -- Install Dependencies

cd toolkit && npm install && npm run build && cd ..

Step 2 -- Create Config File

mkdir -p ~/.youmind/config
cp shared/config.example.yaml ~/.youmind/config.yaml

Canonical credentials: put your shared YouMind credentials in ~/.youmind/config.yaml — filled ONCE and read by every YouMind skill. See shared/config.example.yaml for the template and shared/YOUMIND_HOME.md. Optional skill overrides live in ~/.youmind/config/youmind-x-article.yaml.

Step 3 -- Get YouMind API Key

YouMind API Key enables knowledge base search, web search, article archiving, and X publishing.

  1. Open YouMind API Keys
  2. Click Create API Key
  3. Copy the sk-ym-xxxx key
  4. Fill in ~/.youmind/config.yaml under youmind.api_key
  5. Keep youmind.base_url as https://youmind.com/openapi/v1 in examples and documentation. Local backend testing should only override ~/.youmind/config.yaml or ~/.youmind/config/youmind-x-article.yaml.

Step 4 -- Connect X in YouMind

  1. Open YouMind and connect your X account via the product's publishing / connector settings flow (one-click OAuth 2.0 PKCE)
  2. Save the connection once
  3. Keep only youmind.api_key in ~/.youmind/config.yaml

Verify Setup

cd toolkit && npx tsx src/cli.ts validate

Validation checks only the ~/.youmind API key. X connectivity and plan eligibility are validated on the first publish call:

  • If the current plan is not eligible, the OpenAPI returns 402 with an upgrade link to https://youmind.com/pricing.
  • If the X account is not connected, the OpenAPI returns 404 X_ACCOUNT_NOT_CONNECTED. Connect the X account in the YouMind connector settings.

Skill Directory

This skill is a folder. Read files on demand -- do NOT load everything upfront.

PathPurposeWhen to read
references/pipeline.mdFull step-by-step executionWhen running the publishing pipeline
references/platform-dna.mdX audience, format constraints, engagement dataBefore any content work
references/content-generation-playbook.mdIdea → X-native draft workflowWhen generating new content
references/content-adaptation-playbook.mdExisting article → X thread workflowWhen adapting/condensing content
references/content-adaptation.mdX content formatting rules (legacy)Supplementary reference
references/api-reference.mdYouMind X OpenAPI endpoint documentationWhen calling X through YouMind
~/.youmind/config.yamlShared API credentials (YouMind only)Step 1
output/Local tweet Markdown drafts (git-ignored)When writing the tweet/sequence
toolkit/dist/*.jsExecutable scripts (run from toolkit/)Various steps

Draft Location Rule

Canonical: write local tweet Markdown files to ~/.youmind/articles/x/<slug>.md. This shared home directory is available to all YouMind skills — see shared/YOUMIND_HOME.md.

Legacy fallback (if ~/.youmind/ is not writable): skills/youmind-x-article/output/<slug>.md.

  • Correct: ~/.youmind/articles/x/my-thread.md
  • Correct (legacy): skills/youmind-x-article/output/my-thread.md
  • Wrong: skill root directly, references/, toolkit/, or an ad-hoc drafts/ directory

Both locations are git-ignored. Create directories on demand (mkdir -p ~/.youmind/articles/x). Kebab-case filenames (my-thread.md), descriptive slugs over timestamps.

Dispatch Integration (Optional)

This skill is self-contained and fully usable standalone. The youmind-article-dispatch hub is an optional companion; it is NOT required for anything.

  • Primary mode — standalone: Invoke directly ("Write a tweet about X" / "Write a thread about Y"). Works with zero other YouMind skills installed.
  • Author voice lookup: This skill reads ~/.youmind/author-profile.yaml (shared home directory — see shared/YOUMIND_HOME.md) for cross-platform voice preferences (hook style, max thread length). Works whether or not dispatch is installed.
  • Optional dispatch-mode invocation: When dispatch invokes this skill with a content brief containing resolved_author, the skill uses those fields as extra context. X's 280-char discipline and thread decomposition stay native to this skill regardless of invocation path — particularly when adapting a long-form source.
  • Capability manifest (opt-in): dispatch-capabilities.yaml declares thread limits and hook-style defaults. Deleting it reverts to defaults; it never breaks this skill.
  • Optional interop protocol: shared/DISPATCH_CONTRACT.md (v1.0).

Content Modes

Before writing any content, read references/platform-dna.md to internalize X's format constraints, discourse norms, and engagement patterns (557M MAU, thread 2–4% engagement vs single-tweet 0.5–1.5%).

Intent routing

User's inputOperationPlaybook to load
Idea, topic, or talking points onlyGeneratereferences/content-generation-playbook.md
Existing article or draftAdapt (condense)references/content-adaptation-playbook.md
Article in another languageTranslatereferences/content-adaptation-playbook.md (translate mode)
Same-language article needing X-native angleLocalizereferences/content-adaptation-playbook.md (localize mode)
Old thread to refreshRevivereferences/content-adaptation-playbook.md (revive mode)
Section of a longer piece → teaserExcerptreferences/content-adaptation-playbook.md (excerpt mode)
Short blog post → threadCross-postreferences/content-adaptation-playbook.md (cross-post mode)

Quality gates (before publish)

  1. Self-critique: Pass all checklist items in the playbook's Step 6
  2. Conformance report: Generate and present to user (Step 7/8)
  3. User approval: Do not auto-publish without confirmation

Result Links Rule

After any tweet or thread publish action, always end with Result links.

  • Prefer the direct X post URL(s).
  • For threads, include the lead tweet URL plus any additional per-post URLs already available.
  • If no exact results page exists, return the best X platform entry URL instead.
  • Never leave the user with only raw post IDs.

Pipeline Overview

Read references/pipeline.md for full execution details.

StepActionKey reference
1Load config and validate the YouMind API key--
2Mine YouMind knowledge base for source material--
3Research topic via web search--
4Adapt content: 280 char limit, split into sequence if longreferences/content-adaptation.md
5Publish to X via YouMind X OpenAPIreferences/api-reference.md
6Report results: post IDs, X URLs, result links

Routing shortcuts:

  • User gave a short topic → Skip broad research, go to Step 4
  • User gave raw tweet text → Skip to Step 5 (publish)
  • User wants preview only → Run local adaptation, skip publishing

Content Rules

Single Tweet

  1. 280 character limit — hard limit, no exceptions
  2. URLs count as 23 characters — regardless of actual length
  3. 1-2 hashtags max — more looks spammy on X
  4. Strong hook — first words determine if people read further
  5. Clear opinion or insight — vague tweets get ignored

Thread (Tweet Chain)

  1. First tweet = hook — must stand alone and compel reading
  2. Each tweet makes sense alone — readers may see any tweet individually
  3. Numbered format1/N style for clarity (optional but recommended)
  4. Last tweet = CTA/summary — recap and call to action
  5. 280 chars per tweet — including numbering
  6. Natural paragraph boundaries — split at logical breaks

Threads publish as a native X reply-chain: the skill takes the first tweet's postId and passes it as replyToPostId for the second tweet, and so on. X renders the full sequence as a proper thread in readers' timelines.

Images

  • Images must already be hosted under https://cdn.gooo.ai/... (YouMind enforces this allowlist to avoid SSRF)
  • Upload local files to YouMind first (e.g., via the YouMind product UI or AI image generation), then reference the returned CDN URL
  • Up to 4 images per tweet; for a sequence they attach to the first tweet only

Resilience: Never Stop on a Single-Step Failure

Every step has a fallback. If a step AND its fallback both fail, skip and note it in the final output.

StepFallback
2 Knowledge miningSkip, empty knowledge context
3 ResearchAsk user for manual input
5 PublishingSave adapted text locally under output/ for manual posting
-- Archive to YouMindWarn, continue

References