AGENT SKILL

devto-publish

Use this skill when you need to publish articles to Dev.to via their API, format markdown content for Dev.to, or manage blog posts programmatically.

适用职业内容创作者
使用场景写作与文案
License 许可
MIT
所属仓库
javimosch/supercli
最近更新
2026-11-02
Stars
★ 57
Forks
5

01 前言 Front Matter

name
devto-publish
description
Use this skill when you need to publish articles to Dev.to via their API, format markdown content for Dev.to, or manage blog posts programmatically.

03 SKILL.md 正文

Dev.to Publish Plugin

Publish articles to Dev.to (https://dev.to) via their REST API. Requires a Dev.to API key for authentication.

Commands

  • devto-publish <resource> <action> — Execute devto-publish commands
  • devto article publish — Publish an article to Dev.to

Setup

  1. Get your Dev.to API key:

  2. Install the plugin:

    sc plugins install ./plugins/devto-publish --on-conflict replace --json
    

Publishing Articles

Basic Publish

sc devto article publish --api-key "your-api-key" --title "My Article Title" --body-markdown "# Content here" --tags "javascript,nodejs"

Publish with Draft Mode

Save as draft instead of publishing immediately:

sc devto article publish --api-key "your-api-key" --title "Draft Article" --body-markdown "# Content" --published false --tags "webdev"

Publish from File

Publish an existing markdown file:

sc devto article publish --api-key "your-api-key" --title "Article from File" --body-markdown "$(cat my-article.md)" --tags "tutorial"

Input Parameters

Parameter Type Required Description
api_key string Yes Dev.to API key from https://dev.to/settings/account
title string Yes Article title
body_markdown string Yes Article content in Markdown format
published boolean No true to publish immediately, false to save as draft (default: true)
tags string No Comma-separated tags (max 4) for categorization

Response

The command returns the published article object including:

  • id: Article ID
  • url: Published article URL (e.g., https://dev.to/username/article-slug)
  • slug: URL-friendly identifier
  • published_timestamp: When it was published
  • reading_time_minutes: Estimated reading time

Agent Usage Pattern

When writing an article for a user:

  1. Draft the content in Markdown format
  2. Choose appropriate tags (max 4) relevant to the content
  3. Publish using the command:
    sc devto article publish --api-key "your-api-key" --title "Article Title" --body-markdown "<markdown content>" --tags "tag1,tag2,tag3,tag4"
    
  4. Verify by checking the returned URL

Best Practices

  • Tag selection: Use relevant, popular tags to increase visibility
  • Title quality: Make titles descriptive and engaging
  • Markdown formatting: Use proper Markdown syntax for code blocks, links, images
  • Content length: Dev.to recommends articles between 3-15 minutes reading time
  • Preview: Use --published false to save as draft first, then publish after review

Example: Publishing Technical Article

sc devto article publish \
  --api-key "your-api-key" \
  --title "How to Build a REST API with Node.js" \
  --body-markdown '# Introduction\n\nThis article shows how to build a REST API...\n\n```javascript\nconst express = require("express");\nconst app = express();\n```\n\n## Conclusion\n\n...' \
  --tags "javascript,nodejs,api,webdev"

Critical Caveats and Pitfalls

API Key Security

  • NEVER commit API keys to git - they grant full access to your Dev.to account
  • Treat API keys as secrets - rotate if compromised
  • Store in environment variables or secret management systems
  • Do not share in public repositories or issue comments

Common Publishing Pitfalls

1. Markdown escaping issues

  • When passing markdown via command line, escape special characters properly
  • Use single quotes for shell: --body-markdown '# Title\n\nContent'
  • For complex markdown, write to a file first: --body-markdown "$(cat article.md)"

2. Tag format errors

  • Tags must be comma-separated string, not array: --tags "javascript,nodejs"
  • Dev.to rejects arrays or space-separated tags
  • Maximum 4 tags - excess tags are ignored or cause errors

3. Title duplication

  • Dev.to prevents duplicate titles within 5 minutes
  • If you get this error, wait 5 minutes or modify the title slightly
  • Add unique qualifiers: "How to Build X (2026 Edition)"

4. Content length limits

  • Dev.to doesn't enforce strict character limits, but very long articles (>15 min read time) may have poor engagement
  • Consider splitting very long content into series
  • Use code blocks judiciously - they count toward reading time

5. Image handling

  • Dev.to supports image uploads via web interface
  • External image links work but may break over time
  • For production articles, upload images through Dev.to dashboard first

6. Code block formatting

  • Use triple backticks with language: javascript` or python`
  • Ensure proper indentation in code blocks
  • Dev.to's markdown parser is strict about code block syntax

7. Draft vs Published confusion

  • Default is --published true - article goes live immediately
  • Use --published false for drafts to preview before publishing
  • Drafts are visible only to you in dashboard

8. Rate limiting

  • Dev.to may rate limit rapid successive publishes
  • If you get 429 errors, wait 60 seconds before retrying
  • Space out bulk publishes by at least 30 seconds

9. Character encoding

  • Ensure UTF-8 encoding for special characters
  • Non-ASCII characters may display incorrectly if not properly encoded
  • Test special characters in draft mode first

10. URL and link validation

  • Test all links before publishing
  • Broken links hurt article credibility
  • Use descriptive anchor text, not "click here"

Troubleshooting

Error: "unauthorized" or 401

Error: "Tag list exceed the maximum of 4 tags"

  • Dev.to limits to 4 tags per article
  • Use comma-separated string: --tags "tag1,tag2,tag3,tag4"

Error: "Title has already been used in the last five minutes"

  • Dev.to prevents duplicate titles within 5 minutes
  • Wait 5 minutes or modify title slightly

Error: 429 Too Many Requests

  • Rate limit exceeded - wait 60 seconds before retrying
  • Space out publishes to avoid hitting limits

Error: 400 Bad Request

  • Check JSON formatting in body_markdown
  • Ensure no unescaped quotes in markdown
  • Validate tag format (comma-separated string)

Dev.to API Limits

  • 4 tags maximum per article
  • Title must be unique within 5 minutes
  • Rate limits may apply for rapid publishing
  • API key grants full access to your Dev.to account
  • No hard character limit, but very long articles discouraged

Related Commands

04 同仓库更多 Skills