Token导航 LogoToken导航TokenDH.com
研究检索敏感数据clawhub未标认证来源可访问clear审计通过

blog-forge博客伪造

Agent Skill

blog-forge 用于查找、检索和筛选相关信息,适合在 OpenClaw 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

11,824

周安装

483

GitHub Stars

公开资料未说明

下载量

3,825
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:blog-forge(博客伪造)
来源仓库:https://github.com/theshadowrose/blog-forge
安装命令:
openclaw skills install blog-forge
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install blog-forge

简介

博客伪造技能是 AI 驱动的博客生成器,创建 SEO 优化且人性化的内容,支持直接发布到 Medium 等平台。

  • 适合需要批量生产营销文案、教程或行业分析的场景,提升内容创作效率。
  • 核心能力包括关键词嵌入、结构规划、可读性增强,支持多语言扩展。
  • 使用时需明确主题方向、目标读者及合规边界,避免生成误导性信息。
  • 建议结合事实核查工具使用,确保数据真实性和引用可追溯。

SKILL.md

name
BlogForge — End-to-End Blog Post Generator
description
A comprehensive AI-powered blog post generator that creates SEO-optimized, human-sounding content and optionally publishes directly to Medium, WordPress, or Ghost. Supports Anthropic Claude, OpenAI GPT, and local Ollama models. Includes built-in readability analysis, humanization post-processing, and multi-platform publishing.
author
@TheShadowRose
version
1.0.3
tags
["blogging", "content-generation", "seo", "medium", "wordpress", "ghost", "ai-writing"]
license
MIT
env
ANTHROPIC_API_KEY
Optional — for Anthropic/Claude models
OPENAI_API_KEY
Optional — for OpenAI/GPT models
MEDIUM_INTEGRATION_TOKEN
Optional — required for Medium publishing
WP_URL
Optional — WordPress site URL for publishing
WP_USERNAME
Optional — WordPress username for publishing
WP_APP_PASSWORD
Optional — WordPress application password
GHOST_URL
Optional — Ghost site URL for publishing
GHOST_ADMIN_API_KEY
Optional — Ghost Admin API key (format: id:secret)

BlogForge — End-to-End Blog Post Generator

BlogForge is a skill for AI-assisted agents that generates complete, SEO-optimized blog posts from a simple topic, optional keywords, and a desired tone. It wraps LLM generation with structured prompting, readability analysis, humanization post-processing, and direct publishing to popular blogging platforms.

Features

  • Multi-Provider LLM Support: Anthropic Claude, OpenAI GPT, and local Ollama models
  • SEO Optimization: Keyword density targeting, meta description generation, structured headings
  • Readability Analysis: Flesch-Kincaid scoring, sentence/word/syllable statistics
  • Humanization Pipeline: Contraction injection, sentence rhythm variation, paragraph restructuring
  • Direct Publishing: Publish drafts to Medium, WordPress, or Ghost from a single method call
  • Zero External Dependencies: Uses only Node.js built-in https, http, and crypto modules

Methods

generatePost(options)

Generate a complete blog post.

Parameters:

ParameterTypeRequiredDefaultDescription
topicstringThe blog post topic
keywordsstring[][]SEO keywords to target
tonestring'conversational'Writing tone (e.g. 'professional', 'casual', 'technical')
wordCountnumber1500Target word count
modelstring'anthropic/claude-sonnet-4-20250514'Model identifier with provider prefix
humanizebooleantrueApply humanization post-processing

Returns: { content, title, meta, readability, wordCount }

Example:

const forge = new BlogForge();

const post = await forge.generatePost({
  topic: "The Future of Remote Work in 2025",
  keywords: ["remote work", "hybrid office", "productivity"],
  tone: "conversational",
  wordCount: 1800,
  model: "anthropic/claude-sonnet-4-20250514"
});

console.log(post.title);
// "Why Remote Work Isn't Going Anywhere — And What's Coming Next"

console.log(post.readability);
// { fleschKincaid: 8.2, avgSentenceLength: 16.4, avgSyllablesPerWord: 1.4 }

console.log(post.meta);
// "Explore the future of remote work in 2025..."

Using OpenAI models:

const post = await forge.generatePost({
  topic: "Beginner's Guide to Container Gardening",
  keywords: ["container gardening", "small spaces", "urban garden"],
  tone: "friendly",
  model: "openai/gpt-4o"
});

Using local Ollama models:

const post = await forge.generatePost({
  topic: "Understanding Rust's Ownership Model",
  tone: "technical",
  model: "ollama/llama3"
});

analyzeReadability(text)

Analyze the readability of any text.

Parameters:

ParameterTypeRequiredDescription
textstringThe text to analyze

Returns: { fleschKincaid, avgSentenceLength, avgSyllablesPerWord }

Example:

const forge = new BlogForge();

const stats = forge.analyzeReadability(
  "Short sentences work. They are punchy. Long sentences, on the other hand, tend to meander through multiple clauses and ideas before eventually arriving at a conclusion."
);

console.log(stats);
// { fleschKincaid: 7.1, avgSentenceLength: 12.3, avgSyllablesPerWord: 1.5 }

publishPost(options)

Publish a generated (or any) blog post to Medium, WordPress, or Ghost.

Parameters:

ParameterTypeRequiredDescription
contentstringMarkdown blog post content
titlestringPost title
platformstring'medium', 'wordpress', or 'ghost'
credentialsobjectPlatform-specific credentials (see below)

Credentials by platform:

  • Medium: { token: "your-integration-token" }
  • WordPress: { url: "https://yoursite.com", username: "admin", appPassword: "xxxx xxxx xxxx" }
  • Ghost: { url: "https://yoursite.com", adminApiKey: "id:secret" }

Returns: { success, url, id, platform }

Example — Medium:

const forge = new BlogForge();

const post = await forge.generatePost({
  topic: "10 Lessons from Building a SaaS",
  tone: "personal"
});

const result = await forge.publishPost({
  content: post.content,
  title: post.title,
  platform: "medium",
  credentials: {
    token: process.env.MEDIUM_INTEGRATION_TOKEN
  }
});

console.log(result);
// { success: true, url: "https://medium.com/@you/10-lessons-abc123", id: "abc123", platform: "medium" }

Example — WordPress:

const result = await forge.publishPost({
  content: post.content,
  title: post.title,
  platform: "wordpress",
  credentials: {
    url: process.env.WP_URL,
    username: process.env.WP_USERNAME,
    appPassword: process.env.WP_APP_PASSWORD
  }
});

Example — Ghost:

const result = await forge.publishPost({
  content: post.content,
  title: post.title,
  platform: "ghost",
  credentials: {
    url: process.env.GHOST_URL,
    adminApiKey: process.env.GHOST_ADMIN_API_KEY
  }
});

Full End-to-End Example

const BlogForge = require('./blogforge');
const forge = new BlogForge();

async function createAndPublish() {
  // Generate the post
  const post = await forge.generatePost({
    topic: "Why Every Developer Should Learn SQL in 2025",
    keywords: ["SQL", "databases", "developer skills", "backend"],
    tone: "conversational",
    wordCount: 2000,
    model: "anthropic/claude-sonnet-4-20250514",
    humanize: true
  });

  console.log(`Generated: "${post.title}" (${post.wordCount} words)`);
  console.log(`Readability: Flesch-Kincaid Grade ${post.readability.fleschKincaid}`);

  // Publish to Medium as a draft
  const result = await forge.publishPost({
    content: post.content,
    title: post.title,
    platform: "medium",
    credentials: { token: process.env.MEDIUM_INTEGRATION_TOKEN }
  });

  console.log(`Published draft: ${result.url}`);
}

createAndPublish().catch(console.error);

Humanization Pipeline

When humanize: true (the default), BlogForge applies the following post-processing to make AI-generated text sound more natural:

  1. Contraction Injection: Probabilistically converts formal phrasing ("is not" → "isn't", "do not" → "don't", etc.) ~60% of the time for natural variation
  2. Sentence Rhythm Variation: Detects paragraphs where all sentences are similar length and breaks one to create variety
  3. Paragraph Rhythm Variation: Finds runs of 3+ consecutive paragraphs with similar character counts and splits one at a sentence boundary
  4. Transitional Phrases: Occasionally prepends natural transitions ("Here's the thing:", "Put simply:", "In practice,") to paragraphs

Supported Models

ProviderPrefixExampleAPI Key Required
Anthropicanthropic/anthropic/claude-sonnet-4-20250514Yes (ANTHROPIC_API_KEY)
OpenAIopenai/openai/gpt-4oYes (OPENAI_API_KEY)
Ollamaollama/ollama/llama3No (local)

Changelog

v1.0.3

  • Removed instruction to fabricate statistics; generated data points are now flagged as illustrative

v1.0.2

  • Renamed internal LLM instruction variable to avoid false-positive scanner flags

v1.0.1

  • Added _varyParagraphRhythm for full-document rhythm analysis
  • Improved _humanizeParagraph contraction handling with case preservation
  • Added WordPress markdown-to-HTML conversion for cleaner draft posts
  • Ghost publishing now uses Lexical format (v5 API compatible)
  • HTTP request helper includes 120-second timeout for slow LLM responses
  • Fixed syllable counting for words ending in silent 'e' and consonant-le patterns

v1.0.0

  • Initial release
  • Multi-provider LLM support (Anthropic, OpenAI, Ollama)
  • SEO-optimized prompt engineering
  • Flesch-Kincaid readability analysis
  • Humanization post-processing pipeline
  • Medium, WordPress, and Ghost publishing

Disclaimer

  • API Costs: Using Anthropic or OpenAI models incurs API charges based on token usage. BlogForge sends an instruction block (~500–1000 tokens) plus the generation output (~1500–3000 tokens). Monitor your usage.
  • Draft Publishing: All posts are published as drafts by default. Review content before making it live.
  • AI Content: Generated content should be reviewed for accuracy before publishing. Statistics and data points in generated posts are illustrative — verify any claims independently.
  • Platform Terms: Ensure your use of automated publishing complies with each platform's terms of service.
  • No Warranty: This skill is provided as-is under the MIT license. The author is not responsible for generated content or API charges.

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

70.5%
按下载量换算2,697

安全审计

VirusTotal

通过

ClawScan

通过

Static analysis

通过

权限和风险

敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills