Install
openclaw skills install youmind-article-dispatchDispatch 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.
openclaw skills install youmind-article-dispatchDistribute 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.
⚠️ 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.
✅ Content Dispatch Hub installed!
Quick setup — which platforms do you use?
- Dev.to 2. Hashnode 3. WordPress 4. Tumblr 5. Ghost
- Beehiiv 7. Kit 8. X/Twitter 9. WeChat (公众号) 10. Qiita
(list numbers, e.g. "1, 5, 8")
After user selects:
~/.youmind/dispatch-roster.yaml → active_platformsvalidateDo 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):
📝 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.
~/.youmind/author-profile.yamlPath 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:
author-profile.yaml fields| Approach | First article quality | User friction |
|---|---|---|
| ❌ No profiling | Generic, platform-default | Zero (but bad output) |
| ❌ Separate 5-question form | Better, but profile ≠ real usage | High (feels like homework) |
| ✅ Path A: KB bootstrap | Excellent — based on real writing | Near-zero (confirm/adjust) |
| ✅ Path B: 3 inline questions | Good — targeted baseline | Low (embedded in first dispatch) |
"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
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
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"
User wants maximum reach → dispatch to all installed platform skills.
"Publish everywhere about the future of AI coding"
"全平台发布:AI 编程的未来"
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.
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.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.~/.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.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.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 | Skill | Audience | Best For |
|---|---|---|---|
| Dev.to | youmind-devto-article | Developers, OSS contributors | Technical tutorials, tool reviews, dev experience |
| Hashnode | youmind-hashnode-article | Dev bloggers, tech writers | In-depth technical blogs, series, developer stories |
| WordPress | youmind-wordpress-article | General audiences | Long-form articles, SEO-optimized content |
| Tumblr | youmind-tumblr-article | Blog followers, creator audiences | Voice-driven essays, build logs, creator notes |
| Ghost | youmind-ghost-article | Publishers, newsletter writers | Editorial content, premium publications |
| Beehiiv | youmind-beehiiv-article | Newsletter operators, creator teams | Growth updates, newsletter essays, operator notes |
| Kit | youmind-kit-article | Creators, audience builders | Broadcasts, creator updates, public newsletter feed posts |
| X/Twitter | youmind-x-article | General, viral audiences | Hot takes, threads, breaking news commentary |
youmind-wechat-article | Chinese audiences | Styled long-form articles, official account content | |
| Qiita | youmind-qiita-article | Japanese developers | Technical 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.
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 voiceyoumind-hashnode-article: deeper developer-blog storytelling, series-friendly, canonical-aware cross-postingyoumind-wordpress-article: HTML CMS publishing, taxonomy/excerpt aware, company-blog friendlyyoumind-tumblr-article: voice-driven creator posting, one title plus one clean rich-text bodyyoumind-ghost-article: editorial publication tone, excerpt/tag aware, newsletter-style HTMLyoumind-beehiiv-article: newsletter-first writing, subject/preview/web-email surfaces matteryoumind-kit-article: creator broadcast format, inbox/feed readability, compact CTA structureyoumind-x-article: concise hooks, thread splitting, sparse hashtags, native social adaptationyoumind-wechat-article: WeChat-native rich formatting, draft-box publishing, built-in direct-send for ready articlesyoumind-qiita-article: Japanese developer Markdown, environment/setup context, note-box friendly~/.youmind/dispatch-roster.yaml for the user's active platform listactive_platforms from roster2a — 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.
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:
Gather results from all platform dispatches:
| Field | Description |
|---|---|
| platform | Platform name |
| status | published / draft / failed / skipped |
| url | URL of published content (if available) |
| result_links | Best clickable links for post page / dashboard / stats entry |
| title | Final title used |
| error | Error message (if failed) |
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.
| Rule | Description |
|---|---|
| Isolate failures | One platform failing MUST NOT stop other platforms. Report partial results. |
| Progress updates | After each platform completes, show a brief status update to the user. |
| Missing skills | If a requested platform skill is not installed, skip it with a clear message. |
| Config missing | If a platform skill's config is not set up, skip it and suggest setup instructions. |
| Fallback to draft | When in doubt, create as draft rather than publishing directly. |
| File | Purpose |
|---|---|
references/platform-registry.md | Detailed platform capabilities, audience profiles, and constraints |
references/dispatch-protocol.md | Step-by-step dispatch workflow with examples |
references/content-brief-format.md | Standardized content brief format specification (v2: includes resolved author profile) |
references/author-profile-spec.md | Author profile format, cold-start guide, evolution strategy |
references/content-adaptation-matrix.md | How author DNA × platform DNA merge (priority rules, merge algorithm) |
references/profile-learning.md | How author DNA accumulates from usage (5 learning sources, diff analysis, cadence) |
shared/YOUMIND_HOME.md | User-home directory convention (~/.youmind/ — shared across ALL YouMind skills) |
shared/DISPATCH_CONTRACT.md | Optional interop protocol between this hub and platform skills (v1.0) |
skills/youmind-{platform}-article/dispatch-capabilities.yaml | Per-platform capability manifest (dispatch reads dynamically) |
author-profile.example.yaml | Example author profile — copy to ~/.youmind/author-profile.yaml and customize |