Claude-skill-registry Blog Commenter

Automated blog comment posting for marketing and outreach

install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/blog-commenter" ~/.claude/skills/majiayu000-claude-skill-registry-blog-commenter && rm -rf "$T"
manifest: skills/data/blog-commenter/SKILL.md
source content

Blog Commenter Skill

Automated blog comment posting for marketing and outreach.

A Claude Skill that enables automated comment posting on blog articles for marketing purposes. It intelligently detects comment forms across various blog platforms (WordPress, Ghost, Disqus, custom forms, etc.) and posts contextually relevant comments based on article content and project information.

📝 For directory/forum/social submissions, use backlink-submission-skill - it uses AI + browser automation for non-blog resources.

When to Use This Skill

Resource TypeUse This Skill?
blog
Yes - optimized for blog platforms
directory
❌ Use backlink-submission-skill
forum
❌ Use backlink-submission-skill
social
❌ Use backlink-submission-skill

CLI Script: submit-backlink.js

Submit a single blog comment via command line:

# Dry run (fill form without submitting)
node submit-backlink.js \
  --url "https://blog.example.com/post" \
  --project "AIMCP" \
  --domain "aimcp.info" \
  --description "AI MCP Server Directory"

# Actually submit
node submit-backlink.js \
  --url "https://blog.example.com/post" \
  --project "AIMCP" \
  --domain "aimcp.info" \
  --submit \
  --output /tmp/result.json

Parameters:

ParameterRequiredDefaultDescription
--url
-Blog post URL
--project
-Project name
--domain
-Project domain
--description
-Project description
--email
cc@{domain}
Commenter email
--password
12345678
Password for login
--submit
falseActually submit
--output
-Save result to JSON file

API Reference

extractArticleContent(page)

Extracts main article content from the page.

const content = await extractArticleContent(page);
// Returns: { title, content, tags, url }

createCommentData(options)

Creates comment data with auto-generated contextual comment.

const commentData = createCommentData({
  projectName: 'AIMCP',
  projectUrl: 'https://aimcp.info',
  projectDescription: 'AI MCP Server Directory',
  articleContent,
  commenterName: 'Team AIMCP',
  commenterEmail: 'cc@aimcp.info'
});
// Returns: { name, email, website, comment }

detectCommentForm(page)

Detects comment form on the page.

const formInfo = await detectCommentForm(page);
// Returns: { found, platform, fields, requiresAuth, iframe }

fillCommentForm(page, formInfo, data, submit)

Fills and optionally submits the comment form.

await fillCommentForm(page, formInfo, commentData, true);

Login Helpers

// Detect if login is required
const loginInfo = await detectLoginRequirement(page);

// Attempt login
await attemptLogin(page, { email, password }, 'wordpress');

// Save/load auth state
await saveAuthState(context, './auth.json');
const ctx = await loadAuthState(browser, './auth.json');

Supported Platforms

Fully Supported (Anonymous Comments)

PlatformDetectionFields
WordPress5/5
GhostVaries
Custom PHPVaries

Partially Supported (Login Required)

PlatformLogin Method
DisqusOAuth/Email
Dev.toOAuth
MediumOAuth

Files

blog-commenter-skill/
├── SKILL.md           # This documentation (skill entry point)
├── README.md          # Installation and usage guide
├── package.json       # Dependencies
├── run.js             # Universal executor
├── submit-backlink.js # CLI submission script
├── LICENSE            # MIT License
└── lib/
    └── helpers.js     # Core utilities

Setup

npm run setup

Dependencies

  • Node.js >= 16.0.0
  • Playwright ^1.48.0

Related