youmind-article-dispatch

Dev Tools

Dispatch content to multiple platforms from a single topic — Dev.to, Hashnode, WordPress, Tumblr, Ghost, Beehiiv, Kit, X/Twitter, WeChat, Qiita. Each platform skill adapts content independently for its audience and format. Pure orchestration, no publishing logic. Integrates YouMind knowledge base for topic research and content material mining. Use when user wants to "publish everywhere", "cross-post", "multi-platform publish", "dispatch article", "post to all platforms", "distribute content". Do NOT trigger for: single-platform requests (route to specific skill), non-content tasks.

Install

openclaw skills install youmind-article-dispatch

Content Dispatch Hub — One Topic, Every Platform

Distribute your content to multiple platforms from a single topic. Each platform skill independently adapts content for its target audience — developers on Dev.to, newsletter readers on Ghost, and more.

Get YouMind API Key → · More Skills →

Onboarding

⚠️ MANDATORY: When the user has just installed this skill, run the onboarding flow IMMEDIATELY. Translate to the user's language.

The onboarding flow sets up TWO things in ONE conversation: platform roster (where to publish) and author DNA (how to write). These are NOT separate steps — they happen together during the first dispatch.

Phase 1: Platform roster (30 seconds)

✅ Content Dispatch Hub installed!

Quick setup — which platforms do you use?

  1. Dev.to 2. Hashnode 3. WordPress 4. Tumblr 5. Ghost
  2. Beehiiv 7. Kit 8. X/Twitter 9. WeChat (公众号) 10. Qiita

(list numbers, e.g. "1, 5, 8")

After user selects:

  1. Save to ~/.youmind/dispatch-roster.yamlactive_platforms
  2. For each selected, check skill installed + YouMind connection via validate
  3. Report status table (✅ connected / ❌ → setup link)

Phase 2: Author DNA bootstrap (integrated into first dispatch)

Do NOT ask the user to fill a profile form. Instead, bootstrap the author profile from one of two paths:

Path A — User has articles in YouMind KB (preferred):

  1. Call YouMind search API to fetch the user's recent 10–15 articles
  2. Analyze across articles: avg paragraph length, code density, language distribution, opening patterns, depth level, typical word count, tone markers
  3. Propose a profile:

📝 I analyzed your recent articles. Here's what I see:

  • Voice: Conversational-technical, first-person practitioner
  • Audience: Mid-level developers (you assume REST/Git knowledge)
  • Code density: High (avg 4 code blocks per article)
  • Depth: Practitioner-level (how-to with real gotchas, not beginner intros)
  • Languages: English primary, Chinese secondary
  • Signature moves: You always lead with the problem, include a gotchas section, and end with working code

Sound right? I'll use this as your baseline across all platforms. You can adjust anytime.

  1. User confirms/adjusts → save to ~/.youmind/author-profile.yaml
  2. Immediately proceed to first dispatch with the profile active

Path B — New user, no articles (cold start): Embed 3 targeted questions INTO the first dispatch request, not as a separate quiz:

You said: "帮我写一篇关于 AI agents 的文章发到 Dev.to 和 X"

Great! Since this is your first dispatch, 3 quick questions so I write in YOUR voice:

1. 这篇文章的风格? (a) 代码先行,先看效果再讲原理 (b) 故事驱动,用经历带出技术点 (c) 数据说话,benchmark 和对比为主 (d) 手把手教学,假设读者是入门者

2. 你的读者是谁? (a) 做产品的开发者 (b) 正在学习的学生/新人 (c) 做技术决策的 TL/架构师 (d) 泛科技读者

3. 你的内容里绝对不要出现什么? (自由回答 — 例如"不要营销话术"、"不要 AI 味"、"不要太长")

After user answers:

  1. Map answers to author-profile.yaml fields
  2. Save profile
  3. Immediately continue the dispatch — no second round-trip. The first article is generated WITH the profile already active.
  4. After publishing, confirm: "Saved as your writing profile. Next time just say '帮我分发', I know your style."

Why this matters

ApproachFirst article qualityUser friction
❌ No profilingGeneric, platform-defaultZero (but bad output)
❌ Separate 5-question formBetter, but profile ≠ real usageHigh (feels like homework)
✅ Path A: KB bootstrapExcellent — based on real writingNear-zero (confirm/adjust)
✅ Path B: 3 inline questionsGood — targeted baselineLow (embedded in first dispatch)

Roster + Profile updates after onboarding

"Add Ghost to my platforms" → update ~/.youmind/dispatch-roster.yaml "Remove X/Twitter" → update roster "I want to write more beginner content" → update ~/.youmind/author-profile.yaml "Analyze my recent articles again" → re-run Path A bootstrap

Usage Modes

Mode 1: Single Platform Routing

User specifies one platform → dispatch directly invokes the corresponding platform skill.

"Write about AI agents for Dev.to"         → invoke youmind-devto-article
"Write a weekly issue for Beehiiv"         → invoke youmind-beehiiv-article
"Write a Tumblr post about indie hacking"  → invoke youmind-tumblr-article
"Draft a public creator post for Kit"      → invoke youmind-kit-article
"Post a thread about startup culture on X" → invoke youmind-x-article
"发布一篇技术文章到 WordPress"                → invoke youmind-wordpress-article

Mode 2: Multi-Platform Dispatch

User specifies multiple platforms → dispatch invokes each platform skill sequentially with the same topic.

"Write about AI agents and publish to Dev.to, Beehiiv, and Kit"
"把这个话题发布到 Dev.to 和 Hashnode"

Mode 3: All-Platform Broadcast

User wants maximum reach → dispatch to all installed platform skills.

"Publish everywhere about the future of AI coding"
"全平台发布:AI 编程的未来"

Platform Skills Are Independent

Each youmind-{platform}-article skill is independently installed, independently published, and fully self-contained. They work without this dispatch hub. Dispatch is an optional orchestration layer — not a dependency, not a framework that platform skills must fit into.

How dispatch connects to platform skills (when both are installed)

  • Discovery, not coupling. Dispatch scans for installed youmind-*-article skills at runtime. It optionally reads a small dispatch-capabilities.yaml at each skill's root to learn what operations that skill supports (generate, adapt, condense, translate, etc.) and its hard limits. If a platform skill does not ship this file, dispatch falls back to sensible defaults and still invokes it normally.
  • Brief is an optional extra, not a requirement. When dispatch invokes a platform skill, it passes a content brief (topic, angle, keywords, optional resolved_author block). Platform skills that understand these fields use them as richer context; skills that don't simply ignore the extras and work as usual.
  • Author profile lives in the user's home directory, not in this skill. Both this hub and platform skills read ~/.youmind/author-profile.yaml — the canonical shared location defined in shared/YOUMIND_HOME.md. Uninstalling dispatch does not remove the profile; platform skills continue to work standalone with full DNA support.
  • Results flow back as a standardized shape (status, URL, result_links, title, conformance_report) so dispatch can aggregate multi-platform runs. Each platform skill publishes this same result shape regardless of whether dispatch is present — it's a clean output API, not a contract with dispatch.

Zero coupling obligations for platform skills

  • Platform skills do NOT import from dispatch.
  • Platform skills do NOT require dispatch to be installed.
  • Platform skills do NOT break if dispatch is uninstalled.
  • Platform skills do NOT need to be updated when dispatch changes.
  • dispatch-capabilities.yaml is opt-in metadata that lets dispatch route more intelligently. Removing it reverts to defaults; it never breaks the platform skill.

The optional integration protocol is documented at shared/DISPATCH_CONTRACT.md (v1.0). Platform skills that want richer dispatch integration may follow it; those that don't, don't.

Platform Registry

PlatformSkillAudienceBest For
Dev.toyoumind-devto-articleDevelopers, OSS contributorsTechnical tutorials, tool reviews, dev experience
Hashnodeyoumind-hashnode-articleDev bloggers, tech writersIn-depth technical blogs, series, developer stories
WordPressyoumind-wordpress-articleGeneral audiencesLong-form articles, SEO-optimized content
Tumblryoumind-tumblr-articleBlog followers, creator audiencesVoice-driven essays, build logs, creator notes
Ghostyoumind-ghost-articlePublishers, newsletter writersEditorial content, premium publications
Beehiivyoumind-beehiiv-articleNewsletter operators, creator teamsGrowth updates, newsletter essays, operator notes
Kityoumind-kit-articleCreators, audience buildersBroadcasts, creator updates, public newsletter feed posts
X/Twitteryoumind-x-articleGeneral, viral audiencesHot takes, threads, breaking news commentary
WeChatyoumind-wechat-articleChinese audiencesStyled long-form articles, official account content
Qiitayoumind-qiita-articleJapanese developersTechnical articles, tutorials, knowledge sharing

Auth: All platforms use YouMind OpenAPI. You need only a youmind.api_key — platform credentials are stored encrypted in YouMind Connector Settings. No local platform keys.

Note: Each platform skill must be installed separately. Dispatch checks your roster (dispatch-roster.yaml) on each run.

Quick Skill Hints

Use these as lightweight routing clues before you open the full platform skill:

  • youmind-devto-article: code-first Markdown posts, TL;DR, practical developer tutorial voice
  • youmind-hashnode-article: deeper developer-blog storytelling, series-friendly, canonical-aware cross-posting
  • youmind-wordpress-article: HTML CMS publishing, taxonomy/excerpt aware, company-blog friendly
  • youmind-tumblr-article: voice-driven creator posting, one title plus one clean rich-text body
  • youmind-ghost-article: editorial publication tone, excerpt/tag aware, newsletter-style HTML
  • youmind-beehiiv-article: newsletter-first writing, subject/preview/web-email surfaces matter
  • youmind-kit-article: creator broadcast format, inbox/feed readability, compact CTA structure
  • youmind-x-article: concise hooks, thread splitting, sparse hashtags, native social adaptation
  • youmind-wechat-article: WeChat-native rich formatting, draft-box publishing, built-in direct-send for ready articles
  • youmind-qiita-article: Japanese developer Markdown, environment/setup context, note-box friendly

Dispatch Pipeline

Step 1: Parse Request + Load Roster

  • Extract topic/brief from user input
  • Load ~/.youmind/dispatch-roster.yaml for the user's active platform list
  • Resolve target platforms:
    • User says "帮我分发" / "publish everywhere" → use active_platforms from roster
    • User specifies platforms explicitly → use those (even if not in roster)
    • No roster exists → ask user which platforms (triggers onboarding)
  • For each target platform: verify skill installed + connection status from roster
  • Skip platforms that are not installed or not connected (with clear message + setup link)

Step 2: Load Author Profile + Generate Content Brief

2a — Load author profile (if exists): Read ~/.youmind/author-profile.yaml (canonical shared location — see shared/YOUMIND_HOME.md). This file captures the user's cross-platform writing DNA — voice, audience, content preferences, and per-platform overrides. See references/author-profile-spec.md for format. Fallback: if the ~/.youmind/ path is missing but skills/youmind-article-dispatch/author-profile.yaml exists (legacy), offer to migrate.

If no profile exists → skip this step; dispatch works without it (just less personalized). After the first successful dispatch, offer to help the user build one.

2b — Generate content brief (see references/content-brief-format.md):

topic: "The core topic sentence"
angle: "The specific angle or atomic insight"
keywords: ["keyword1", "keyword2", "keyword3"]
language: "en"        # or zh, ja, etc.
source_material: []   # from YouMind knowledge mining (if available)
resolved_author: {}   # per-platform resolved profile (computed in Step 3)
constraints: {}       # any user-specified constraints

YouMind knowledge mining: If the user has a YouMind API key configured in any platform skill's config, run mine-topics ONCE and include the results in the brief. This avoids redundant YouMind calls across platform skills.

2c — Resolve author profile per platform: For EACH target platform, merge the author profile with that platform's DNA using the rules in references/content-adaptation-matrix.md. This produces a resolved per-platform profile — NOT the raw author file. Each platform skill receives only the resolved, relevant fields for its platform. This prevents raw-profile leakage and irrelevant context bleed.

If a depth mismatch is detected (e.g., author targets "expert" but platform audience is "general"), the merge triggers a mandatory outline adaptation step — not just a warning. See matrix Priority 5.

Step 3: Dispatch to Platform Skills

For each target platform, invoke the platform skill with the content brief as context.

Sequential mode (default): Run each platform skill one at a time. The agent reads each skill's SKILL.md and follows its pipeline, passing the content brief as the initial topic/context.

Parallel mode (if subagents available): Spawn one subagent per platform. Each subagent independently runs its platform skill's full pipeline. Use this when the agent platform supports parallel subagents.

MANDATORY: Pass the content brief to each platform skill. When invoking a platform skill, include:

  1. The topic and angle from the brief
  2. Any YouMind knowledge context already mined
  3. The instruction to adapt content for that specific platform's audience

Step 4: Collect Results

Gather results from all platform dispatches:

FieldDescription
platformPlatform name
statuspublished / draft / failed / skipped
urlURL of published content (if available)
result_linksBest clickable links for post page / dashboard / stats entry
titleFinal title used
errorError message (if failed)

Step 5: Summary Report

Present a summary table to the user:

## Dispatch Results

| Platform | Status | Title | URL |
|----------|--------|-------|-----|
| Dev.to | ✅ Published | "AI Agents: A Practical Guide" | https://dev.to/... |
| Ghost | ✅ Published | "Why AI Agents Matter for..." | https://newsletter.example.com/... |
| X/Twitter | ✅ Thread posted | "🧵 AI Agents are changing..." | https://x.com/... |

After the table, add a compact Result links section for each platform so the user can click straight into the post page, dashboard, or stats entry point. If a platform has no direct analytics URL, include the best platform entry URL instead.

Resilience Rules

RuleDescription
Isolate failuresOne platform failing MUST NOT stop other platforms. Report partial results.
Progress updatesAfter each platform completes, show a brief status update to the user.
Missing skillsIf a requested platform skill is not installed, skip it with a clear message.
Config missingIf a platform skill's config is not set up, skip it and suggest setup instructions.
Fallback to draftWhen in doubt, create as draft rather than publishing directly.

References

FilePurpose
references/platform-registry.mdDetailed platform capabilities, audience profiles, and constraints
references/dispatch-protocol.mdStep-by-step dispatch workflow with examples
references/content-brief-format.mdStandardized content brief format specification (v2: includes resolved author profile)
references/author-profile-spec.mdAuthor profile format, cold-start guide, evolution strategy
references/content-adaptation-matrix.mdHow author DNA × platform DNA merge (priority rules, merge algorithm)
references/profile-learning.mdHow author DNA accumulates from usage (5 learning sources, diff analysis, cadence)
shared/YOUMIND_HOME.mdUser-home directory convention (~/.youmind/ — shared across ALL YouMind skills)
shared/DISPATCH_CONTRACT.mdOptional interop protocol between this hub and platform skills (v1.0)
skills/youmind-{platform}-article/dispatch-capabilities.yamlPer-platform capability manifest (dispatch reads dynamically)
author-profile.example.yamlExample author profile — copy to ~/.youmind/author-profile.yaml and customize