← Back to Skills Marketplace
qoohsuan

Content Publisher

by Qoohsuan · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ⚠ suspicious
236
Downloads
0
Stars
1
Active Installs
1
Versions
Install in OpenClaw
/install content-publisher
Description
Publish content to Medium, Dev.to, and Hashnode from markdown files. Handles formatting, SEO optimization, scheduling, and cross-posting with canonical URLs....
README (SKILL.md)

Content Publisher

Publish markdown articles to Medium, Dev.to, and Hashnode. Handles SEO, formatting, and canonical URLs for cross-posting.

Supported Platforms

Platform Method Auth
Medium Browser automation Google login
Dev.to API API key in env DEVTO_API_KEY
Hashnode API API key in env HASHNODE_TOKEN

Workflow

1. Prepare content

Ensure article has:

  • Title (H1)
  • Subtitle/description
  • Tags (3-5 relevant tags)
  • Content body (markdown)
  • Optional: cover image URL

2. SEO optimization checklist

Before publishing, verify:

  • Title contains target keyword (under 60 chars)
  • Meta description (under 155 chars)
  • H2/H3 structure with keywords
  • Internal/external links
  • Alt text on images
  • Call-to-action at end

3. Publish to Medium (browser)

1. Navigate to https://medium.com/new-story
2. Paste title and content
3. Click "Publish" → set tags → confirm

4. Publish to Dev.to (API)

curl -X POST https://dev.to/api/articles \
  -H "api-key: $DEVTO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "article": {
      "title": "TITLE",
      "body_markdown": "CONTENT",
      "published": true,
      "tags": ["ai", "productivity"],
      "canonical_url": "MEDIUM_URL"
    }
  }'

5. Publish to Hashnode (GraphQL)

curl -X POST https://gql.hashnode.com \
  -H "Authorization: $HASHNODE_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "query": "mutation { publishPost(input: { title: \"TITLE\", contentMarkdown: \"CONTENT\", publicationId: \"PUB_ID\", tags: [{slug: \"ai\"}] }) { post { url } } }"
  }'

Cross-posting strategy

  1. First: Publish on Medium (or your primary platform)
  2. Wait 24-48h: Let search engines index the original
  3. Cross-post: Use canonical_url pointing to the original
  4. Why: Avoids duplicate content penalties in SEO

Publication submission (Medium)

To get more reach, submit to Publications:

  1. Find publication's "Write for us" page
  2. Follow their submission guidelines
  3. Submit via Medium's story settings → "Add to publication"

High-traffic AI Publications

  • Towards AI (AI/ML focused)
  • Better Programming (dev tools)
  • The Startup (business/tech)
  • Geek Culture (tech general)
  • Level Up Coding (programming)

Batch publishing

For multiple articles, process sequentially with delays:

  • Medium: max 2 articles per 24 hours
  • Dev.to: no strict limit, but space them 1+ hours apart
  • Hashnode: no strict limit
Usage Guidance
Before installing, ask the publisher to: (1) declare the exact environment variables the skill needs (DEVTO_API_KEY, HASHNODE_TOKEN, and any Google/OAuth tokens) in the registry metadata; (2) explain how markdown files are provided (file paths, upload, or direct content) and whether the agent will read local files; (3) avoid asking you to share Google credentials — prefer OAuth flows or personal account manual login; (4) document where publication IDs and publication-specific settings come from; (5) clarify whether the agent will act autonomously or require explicit user confirmation for each publish action. If you plan to use this, do not store long-lived tokens in plaintext, limit token scopes, and consider running publishing actions manually (or after an explicit confirmation) until the authentication and file-access behaviors are fully specified.
Capability Analysis
Type: OpenClaw Skill Name: content-publisher Version: 1.0.0 The skill bundle provides legitimate instructions and API templates for publishing markdown content to Medium, Dev.to, and Hashnode. It uses standard environment variables (DEVTO_API_KEY, HASHNODE_TOKEN) for authentication and targets official API endpoints (dev.to/api and gql.hashnode.com). No malicious behavior, data exfiltration, or prompt injection attempts were identified in SKILL.md or _meta.json.
Capability Assessment
Purpose & Capability
The description says 'publish from markdown files' to Medium/Dev.to/Hashnode, which matches the declared platforms. However the skill metadata declares no required environment variables or credentials, while the SKILL.md explicitly expects DEVTO_API_KEY, HASHNODE_TOKEN, and a Google login for Medium browser automation. Also the SKILL.md does not explain how the agent should read local markdown files (no file paths, no input variable), so the requested capabilities don't align with the declared requirements.
Instruction Scope
Instructions reference running curl with $DEVTO_API_KEY and $HASHNODE_TOKEN and using browser automation + Google login for Medium. They instruct manual UI actions (navigate, paste, click) but do not specify how the agent obtains article content (file reads, path, or provided payload), nor how to perform or authenticate browser automation safely. The instructions thus ask the agent to use credentials and perform interactive automation without describing auth flows or limits.
Install Mechanism
No install spec and no code files — the skill is instruction-only, so nothing is written to disk during install. This reduces install-time risk.
Credentials
Although the registry lists no required env vars, the SKILL.md requires at least DEVTO_API_KEY and HASHNODE_TOKEN and implies Google account access for Medium. Those credentials are proportionate to the claimed platforms, but it is inconsistent and risky that they are not declared in the metadata. The skill gives no guidance on scope, storage, or least-privilege usage for these secrets.
Persistence & Privilege
always is false (normal) and autonomous invocation is allowed (default). Autonomous invocation combined with the skill's need for undeclared credentials and browser automation raises risk if the agent acts without clear user confirmation, but persistence/privilege flags themselves are not elevated.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install content-publisher
  3. After installation, invoke the skill by name or use /content-publisher
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
Initial release — publish articles to Medium, Dev.to, Hashnode with SEO optimization and cross-posting support.
Metadata
Slug content-publisher
Version 1.0.0
License MIT-0
All-time Installs 1
Active Installs 1
Total Versions 1
Frequently Asked Questions

What is Content Publisher?

Publish content to Medium, Dev.to, and Hashnode from markdown files. Handles formatting, SEO optimization, scheduling, and cross-posting with canonical URLs.... It is an AI Agent Skill for Claude Code / OpenClaw, with 236 downloads so far.

How do I install Content Publisher?

Run "/install content-publisher" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Content Publisher free?

Yes, Content Publisher is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does Content Publisher support?

Content Publisher is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Content Publisher?

It is built and maintained by Qoohsuan (@qoohsuan); the current version is v1.0.0.

💬 Comments