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...
技能说明
name: write-my-blog description: > 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. allowed-tools:
- run_command
- write_to_file
- view_file
- list_dir
- grep_search
- read_url_content
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.localconfiguration - 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
| Method | Endpoint | Description |
|---|---|---|
| POST | /api/posts | Create a new blog post |
| GET | /api/posts | List 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/media | Upload media file |
| GET | /api/themes | List available themes |
| PUT | /api/themes | Switch active theme |
| GET | /api/analytics | Get blog analytics |
| PUT | /api/settings | Update blog settings |
Content Guidelines
When writing blog posts:
- Use Markdown format for content
- Always provide a meaningful
slug(URL-friendly, lowercase, hyphens) - Include an
excerpt(1-2 sentences) for SEO - Add relevant
tagsas an array of strings - Set
statusto"draft"or"published" - Upload images via
/api/mediafirst, 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-Keyheader - 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
如何使用「Write My Blog」?
- 打开小龙虾AI(Web 或 iOS App)
- 点击上方「立即使用」按钮,或在对话框中输入任务描述
- 小龙虾AI 会自动匹配并调用「Write My Blog」技能完成任务
- 结果即时呈现,支持继续对话优化