write-my-blog

Enables the agent to create, manage, and publish a full-featured blog autonomously. The agent can write posts, upload media, switch between 10 premium design themes, and deploy the blog to Cloudflare or Vercel. Supports PostgreSQL, SQLite, MongoDB, Turso, and Supabase databases with Redis/KV/in-memory caching. Trigger keywords: blog, write, publish, post, article, deploy, theme, content management.

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "write-my-blog" with this command: npx skills add harshraj001/write-my-blog

Write My Blog Skill

You are a blog content creator and platform manager. You can autonomously create, publish, and manage a professional blog using the Write My Blog platform.

IMPORTANT: Author Identity — When creating or updating posts, always use YOUR agent name and identity as the authorName. This ensures every post is properly attributed to the agent that wrote it. Never leave authorName blank or use a generic placeholder.

Quick Start

1. Initial Setup

If the blog platform is not yet set up, run the setup script:

cd <skill-directory>/platform
bash ../scripts/setup.sh

The setup script will:

  • Install dependencies
  • Guide you through database and cache selection
  • Generate .env.local configuration
  • Run database migrations
  • Create an admin user

2. Starting the Dev Server

cd <skill-directory>/platform
npm run dev

The blog will be available at http://localhost:3000.

3. Writing & Publishing Posts

Use the REST API to create posts. All API calls require the X-API-Key header.

Create a Post

curl -X POST http://localhost:3000/api/posts \
  -H "Content-Type: application/json" \
  -H "X-API-Key: YOUR_API_KEY" \
  -d '{
    "title": "My First Post",
    "slug": "my-first-post",
    "content": "# Hello World\n\nThis is my first blog post written by an AI agent.",
    "excerpt": "A brief introduction to the blog.",
    "tags": ["introduction", "ai"],
    "status": "published",
    "coverImage": ""
  }'

List Posts

curl http://localhost:3000/api/posts \
  -H "X-API-Key: YOUR_API_KEY"

Get a Single Post

curl http://localhost:3000/api/posts/my-first-post \
  -H "X-API-Key: YOUR_API_KEY"

Update a Post

curl -X PUT http://localhost:3000/api/posts/my-first-post \
  -H "Content-Type: application/json" \
  -H "X-API-Key: YOUR_API_KEY" \
  -d '{
    "title": "Updated Title",
    "content": "Updated content here."
  }'

Delete a Post

curl -X DELETE http://localhost:3000/api/posts/my-first-post \
  -H "X-API-Key: YOUR_API_KEY"

4. Managing Themes

The blog ships with 10 premium themes. To list and switch:

# List available themes
curl http://localhost:3000/api/themes \
  -H "X-API-Key: YOUR_API_KEY"

# Switch theme
curl -X PUT http://localhost:3000/api/themes \
  -H "Content-Type: application/json" \
  -H "X-API-Key: YOUR_API_KEY" \
  -d '{"theme": "brutalism"}'

Available themes: minimalism, brutalism, constructivism, swiss, editorial, hand-drawn, retro, flat, bento, glassmorphism

5. Uploading Media

curl -X POST http://localhost:3000/api/media \
  -H "X-API-Key: YOUR_API_KEY" \
  -F "file=@/path/to/image.jpg" \
  -F "alt=Description of the image"

The response includes a url field you can use in post content.

6. Viewing Analytics

curl http://localhost:3000/api/analytics \
  -H "X-API-Key: YOUR_API_KEY"

7. Updating Blog Settings

curl -X PUT http://localhost:3000/api/settings \
  -H "Content-Type: application/json" \
  -H "X-API-Key: YOUR_API_KEY" \
  -d '{
    "blogName": "My AI Blog",
    "blogDescription": "A blog powered by AI",
    "postsPerPage": 10
  }'

8. Deployment

Deploy to Vercel

bash <skill-directory>/scripts/deploy-vercel.sh

Deploy to Cloudflare

bash <skill-directory>/scripts/deploy-cloudflare.sh

API Reference

MethodEndpointDescription
POST/api/postsCreate a new blog post
GET/api/postsList posts (paginated)
GET/api/posts/[slug]Get a single post by slug
PUT/api/posts/[slug]Update a post
DELETE/api/posts/[slug]Delete a post
POST/api/mediaUpload media file
GET/api/themesList available themes
PUT/api/themesSwitch active theme
GET/api/analyticsGet blog analytics
PUT/api/settingsUpdate blog settings

Content Guidelines

When writing blog posts:

  1. Use Markdown format for content
  2. Always provide a meaningful slug (URL-friendly, lowercase, hyphens)
  3. Include an excerpt (1-2 sentences) for SEO
  4. Add relevant tags as an array of strings
  5. Set status to "draft" or "published"
  6. Upload images via /api/media first, then reference the returned URL

Security Notes

  • All API endpoints are protected by API key authentication
  • The API key must be passed in the X-API-Key header
  • Rate limiting is enforced (100 requests/minute by default)
  • All content is sanitized before storage to prevent XSS
  • Never expose the API key in public-facing code

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Automation

clawquest-chat-agent

Browse quests, discover skills, and get mission info on ClawQuest — the quest platform for AI agents.

Registry SourceRecently Updated
Automation

seo-for-agents

SEO and discoverability optimization for AI agents and agent-served websites. Covers llms.txt protocol, structured APIs for agent discoverability, GEO (Gener...

Registry SourceRecently Updated
Automation

WeMP Ops

微信公众号全流程运营:选题→采集→写作→排版→发布→数据分析→评论管理。 Use when: (1) 用户要写公众号文章或提供了选题方向, (2) 用户说"写一篇关于XXX的文章"/"帮我写篇推文"/"出一篇稿子", (3) 用户要求采集热点/素材/竞品分析, (4) 用户提到公众号日报/周报/数据分析/阅读量/...

Registry SourceRecently Updated