dev-to-hashnode – Writing & Content skill for AI agents
When the user wants to publish on Dev.to, Hashnode, or other developer blogging platforms. Trigger phrases include "Dev.to," "Hashnode," "developer blog," "cross-posting," "technical blogging," "canonical URL," or "developer content platform.
Install the dev-to-hashnode skill with one command
Pick the tool you use, copy the command and paste it in your terminal. The skill lands in that tool's skills folder and is ready in your next session.
Claude Code
mkdir -p ~/.claude/skills && curl -fsSL https://skill.dn1nguoi.com/z/dev-to-hashnode-7800e.tgz | tar xz -C ~/.claude/skills
Call it in Claude Code: /dev-to-hashnode – then describe the task you want done.
Codex
mkdir -p ~/.codex/skills && curl -fsSL https://skill.dn1nguoi.com/z/dev-to-hashnode-7800e.tgz | tar xz -C ~/.codex/skills
Call it in Codex: $dev-to-hashnode – then describe the task you want done.
Hermes Agent
mkdir -p ~/.hermes/skills && curl -fsSL https://skill.dn1nguoi.com/z/dev-to-hashnode-7800e.tgz | tar xz -C ~/.hermes/skills
Call it in Hermes Agent: /dev-to-hashnode – then describe the task you want done.
DeepSeek
mkdir -p ~/.deepcode/skills && curl -fsSL https://skill.dn1nguoi.com/z/dev-to-hashnode-7800e.tgz | tar xz -C ~/.deepcode/skills
Call it in DeepSeek: /dev-to-hashnode – then describe the task you want done.
SKILL.md content
Dev.to & Hashnode Publishing
When to Use
Use this skill when you need when the user wants to publish on Dev.to, Hashnode, or other developer blogging platforms. Trigger phrases include "Dev.to," "Hashnode," "developer blog," "cross-posting," "technical blogging," "canonical URL," or "developer content platform.".
Developer blogging platforms offer built-in audiences of hundreds of thousands of developers. This skill covers cross-posting strategy, platform-specific optimization, and building followers on Dev.to and Hashnode.
---
Before You Start
1. Read .agents/developer-audience-context.md if it exists
2. Decide your canonical URL strategy (important for SEO)
3. Create accounts on both platforms to reserve your username
4. Understand: These platforms reward consistency and engagement
---
Platform Comparison
Dev.to vs Hashnode
| Feature | Dev.to | Hashnode |
|---------|--------|----------|
| Monthly visitors | Unverified; check current analytics | Unverified; check current analytics |
| Custom domain | No (subdomain only) | Yes (free) |
| Canonical URL support | Yes | Yes |
| SEO benefits | High domain authority | Your domain gets SEO |
| Monetization | No native | Sponsors, newsletter |
| Newsletter | No | Built-in |
| Series support | Yes | Yes |
| Code highlighting | Excellent | Excellent |
| Community features | Strong (reactions, comments) | Growing |
| Audience | Broader, more beginners | More senior, focused |
When to Use Each
| Use Dev.to when | Use Hashnode when |
|-----------------|-------------------|
| Maximum reach is priority | Building your own brand |
| Targeting beginners/mid-level | Want custom domain SEO |
| Community engagement matters | Building email list |
| Quick validation of content | Long-term content strategy |
| Don't have your own blog | Supplementing your main blog |
---
Cross-Posting Strategy
The Canonical URL Decision
| Strategy | Pros | Cons |
|----------|------|------|
| Original on your blog | SEO to your domain, full control | Platforms may rank lower |
| Original on Dev.to | Maximum initial reach | No SEO to your domain |
| Original on Hashnode (custom domain) | SEO + platform reach | Smaller initial audience |
Best Practice: Your Blog + Cross-Post
1. Publish on your blog first — This is canonical
2. Verify the original URL — Indexing timing varies; waiting does not guarantee canonical selection
3. Cross-post to Dev.to — Set canonical URL to your blog
4. Cross-post to Hashnode — Set canonical URL to your blog
Setting Canonical URLs
Dev.to (in frontmatter):
---
title: Your Title
canonical_url: https://yourblog.com/your-post
---Hashnode (in editor):
- Click "Article settings" gear icon
- Paste original URL in "Canonical URL" field
---
Dev.to Optimization
Frontmatter Structure
---
title: "Specific, Keyword-Rich Title (Not Clickbait)"
published: false
description: "One compelling sentence that shows up in previews and SEO"
tags: javascript, webdev, tutorial, beginners
cover_image: https://your-cdn.com/image.png
canonical_url: https://yourblog.com/original-post
series: "Building a CLI from Scratch"
---Tag Strategy
| Tag | Followers | Use for |
|-----|-----------|---------|
| #javascript | 200K+ | JS content |
| #webdev | 150K+ | General web development |
| #beginners | 120K+ | Accessible content |
| #tutorial | 100K+ | Step-by-step guides |
| #react | 80K+ | React specific |
| #programming | 80K+ | General programming |
| #python | 70K+ | Python content |
| #devops | 50K+ | DevOps, CI/CD |
| #opensource | 40K+ | OSS projects |
| #productivity | 40K+ | Dev tools, workflows |
Rules:
- Maximum 4 tags per post
- First tag is primary in presentation; article URLs need not contain a tag
- Check tag follower count before using
What Performs on Dev.to
| Content type | Performance | Notes |
|--------------|-------------|-------|
| Beginner tutorials | High | Largest audience segment |
| Listicles ("10 tools...") | High | Easy to consume |
| Career advice | High | Aspirational content |
| Hot takes | Medium-high | Controversial drives engagement |
| Deep technical | Medium | Niche but engaged audience |
| Project showcases | Medium | Best with story behind it |
| News/updates | Low | Competes with official sources |
Dev.to Engagement Features
| Feature | How to use |
|---------|------------|
| Reactions | Heart, unicorn, saved, fire — different meanings |
| Comments | Reply to every comment for algorithm boost |
| Series | Group related posts, drives binge reading |
| Discussion | Tag #discuss for opinion/question posts |
| Listings | Post jobs, events, products |
---
Hashnode Optimization
Article Settings
| Setting | Recommendation |
|---------|----------------|
| Subtitle | Use for SEO keywords |
| Cover image | 1600x840 optimal size |
| SEO title | Can differ from article title |
| SEO description | 155 characters max |
| Canonical URL | Your original if cross-posting |
| Enable table of contents | Yes for long posts |
| Disable comments | No — engagement helps |
Tag Strategy
Hashnode tags work differently:
- Tags are linked to global topics
- Some tags have dedicated feeds
- Fewer tags, more focused
Popular Hashnode tags:
javascript,web-development,reactdevops,cloud,awsbeginners,tutorialopensource,programming
What Performs on Hashnode
| Content type | Performance | Notes |
|--------------|-------------|-------|
| In-depth tutorials | High | Audience expects depth |
| Architecture posts | High | More senior audience |
| DevOps/cloud content | High | Strong niche presence |
| Career stories | Medium-high | Personal narratives work |
| Quick tips | Medium | Less than on Dev.to |
| Listicles | Medium | Less effective here |
Hashnode-Specific Features
| Feature | How to use |
|---------|------------|
| Newsletter | Enable to collect subscribers |
| Series | Great for tutorials, courses |
| Custom CSS | Style your blog uniquely |
| Widgets | Add GitHub, newsletter CTAs |
| Sponsors | Hashnode has sponsor program |
| Analytics | Built-in, more detailed than Dev.to |
---
Content Formatting
Structure That Works
# Title
[Compelling hook — why should they care?]
## Table of Contents (for long posts)
- [Section 1](#section-1)
- [Section 2](#section-2)
## The Problem
[What pain point are you solving?]
## The Solution
[Your approach, with code examples]
### Code Example// Well-commented code
const example = "explained";
## Step-by-Step
1. **Step one** — Explanation
2. **Step two** — Explanation
3. **Step three** — Explanation
## Common Pitfalls
[What to watch out for]
## Conclusion
[Summary + CTA]
---
*If you found this helpful, [follow me](https://example.com/author) for more content about [topic].*Formatting Best Practices
| Element | Guideline |
|---------|-----------|
| Headers | Use H2 for sections, H3 for subsections |
| Code blocks | Always specify language for syntax highlighting |
| Images | Use descriptive alt text, compress for speed |
| Links | Descriptive text, not "click here" |
| Length | 1000-2500 words performs best |
| Paragraphs | Keep short, 2-3 sentences max |
| Lists | Use liberally for scannability |
---
Building Followers
Consistency Strategy
| Frequency | Result |
|-----------|--------|
| 4+ posts/month | Rapid follower growth |
| 2-3 posts/month | Steady growth |
| 1 post/month | Slow but sustainable |
| Sporadic | Minimal follower retention |
Engagement Tactics
| Tactic | Why it works |
|--------|--------------|
| Reply to every comment | Algorithm boost + relationship building |
| Comment on others' posts | Visibility + community |
| Follow relevant authors | Often reciprocated |
| Share on social media | Drives external traffic |
| Link between your posts | Keeps readers on your content |
| Create series | Encourages following for updates |
Bio and Profile Optimization
Dev.to profile:
- Clear profile photo
- Bio with what you write about
- Link to your main site
- List your expertise areas
Hashnode profile:
- Custom domain setup
- Newsletter enabled
- Social links populated
- Blog name and tagline set
---
Platform-Specific Do's and Don'ts
Do's
1. Do set canonical URLs to protect your SEO
2. Do use platform-specific formatting (embeds, etc.)
3. Do engage with comments within 24 hours
4. Do cross-post to both platforms
5. Do use series for related content
6. Do optimize cover images for each platform
7. Do include a CTA at the end
Don'ts
1. Don't post identical content without canonical URLs
2. Don't ignore comments
3. Don't use only self-promotional content
4. Don't neglect tags — they're discovery mechanisms
5.
… (full content is in the download package)
Related skills
- developer-newsletter – When the user wants to create, write, or improve a newsletter for developer audiences…
- devrel-content – When the user wants to create technical content for developers including blog posts…
- post-mortem – /c-level-agents:post-mortem [decision] — Honest retrospective on an executed decision…
- postmortem – /em:postmortem — Honest analysis of what went wrong. Use after a failed launch, missed…
- slime – RL post-training for LLMs with Megatron and SGLang.
- wp-plugin-rest-auth-bypass – Scan WordPress REST API plugin endpoints for unauthenticated state-changing operations —…
- draft-my-comments – Write a LinkedIn comment that adds something the post did not have, not agreement. Use…
- duplicate-content-checker – Duplicate Content Checker. Use when working with two or more texts or accessible pages.