Build with Public:技术博客写作工作流 - Openclaw Skills
作者:互联网
2026-04-17
什么是 Build with Public - 技术博客写作系统?
此技能为开发者采用 Build with Public 理念提供了全面的工具链。它标准化了博客项目架构,为草稿、文章和媒体文件提供结构化环境。通过集成基于 Git 的版本管理和内置 Flask 服务器,它将个人技术笔记转变为专业的、可分享的资产。
使用此技能,作者可以超越简单的文本文件,转向支持多角度内容策略的版本控制系统。无论您是在记录新项目还是分享经验教训,此 Openclaw Skills 资源都能确保您的技术成长可见、有序,并针对社区互动进行了优化。
下载入口:https://github.com/openclaw/skills/tree/main/skills/riverfor/build-with-public-writer
安装与下载
1. ClawHub CLI
从源直接安装技能的最快方式。
npx clawhub@latest install build-with-public-writer
2. 手动安装
将技能文件夹复制到以下位置之一
全局模式~/.openclaw/skills/
工作区
/skills/
优先级:工作区 > 本地 > 内置
3. 提示词安装
将此提示词复制到 OpenClaw 即可自动安装。
请帮我使用 Clawhub 安装 build-with-public-writer。如果尚未安装 Clawhub,请先安装(npm i -g clawhub)。
Build with Public - 技术博客写作系统 应用场景
- 从零开始建立标准化的个人技术博客工作流。
- 通过 Git 系统地管理多版本技术文章,实现透明的演进过程。
- 通过采用 Build with Public 方法论建立专业的技术影响力。
- 将深度技术内容适配到 T@witter、微信或小红书等不同平台。
- 初始化具有标准化架构(文章、草稿、日志)的项目目录和 Git 仓库。
- 进行需求分析,确定主题、目标受众和核心技术目标。
- 设计多个写作角度(教程、问题解决、深度分析)并生成相应的提纲。
- 使用语义化版本(v1.0、v1.1、v2.0)撰写文章,追踪迭代改进和结构变化。
- 部署本地 Flask Web 服务器,分享带有密码保护的实时 Markdown 链接,以便审阅和发布。
Build with Public - 技术博客写作系统 配置指南
要开始使用此 Openclaw Skills 工作流,请确保已安装 Python 3.11+ 和 Git。运行以下命令初始化写作环境:
# 创建目录结构
mkdir -p ~/my-tech-blog/{articles,draft,images,logs,tweets}
cd ~/my-tech-blog
# 初始化版本控制
git init
# 安装 Web 服务器依赖
pip install flask python-dotenv
在 .env 文件中配置首选端口和基本身份验证凭据,以启用链接分享服务器。
Build with Public - 技术博客写作系统 数据架构与分类体系
该技能使用严格的版本化分类法在特定项目文件夹中组织数据。文件按状态和平台适配进行分类,以保持仓库整洁。
| 目录 | 内容类型 | 命名规范 |
|---|---|---|
/articles |
已发布版本 | YYYY-MM-DD-topic-vX.Y.md |
/draft |
提纲与草稿 | YYYY-MM-DD-topic-angle-outline.md |
/images |
媒体资产 | 标准图像文件名 |
/tweets |
社交文案 | topic-platform-draft.md |
.env |
配置 | 服务器端口、主机和认证 |
server.py |
Web 服务 | Flask 实现 |
name: build-with-public-writer
description: Systematically build a "Build with Public" technical blog writing workflow, including directory architecture, version management, multi-angle approaches, link sharing, and complete toolchain
Build with Public - Technical Blog Writing System
Overview
This skill helps you establish a complete Build with Public technical blog writing workflow. From directory architecture setup, Git version management, multi-angle writing approach design, to final article link sharing, it provides end-to-end toolchain support.
Core Value:
- ??? Standardized blog project architecture
- ?? Systematic multi-angle writing process
- ?? Versioned iteration management mechanism
- ?? Instant link sharing capability
When to Use
When you need to:
- Establish a personal technical blog writing workflow
- Systematically manage multi-version technical articles
- Build technical influence through public building
- Solidify the writing process into reusable assets
Prerequisites
- Python 3.11+
- Git
- An accessible domain or IP (for link sharing)
Workflow
Phase 1: Project Initialization
Step 1: Determine Project Name
Confirm the blog project name with the user (e.g., codewithriver, techblog, buildinpublic, etc.):
Suggested name: codewithriver
Suggested name: tech-notes
Suggested name: buildlog
Step 2: Create Directory Architecture
mkdir -p ~/{project-name}/{articles,draft,images,logs,tweets}
cd ~/{project-name}
Standard Directory Structure:
{project-name}/
├── articles/ # Published articles (version managed)
│ ├── 2026-03-02-topic-v1.md
│ ├── 2026-03-02-topic-v2.md
│ └── ...
├── draft/ # Writing outlines and drafts
│ ├── 2026-03-02-topic-outline-01.md
│ └── ...
├── images/ # Article images
├── logs/ # Writing logs
├── tweets/ # Promotional copy
├── .env # Configuration (port, password, domain)
├── server.py # Web server
└── .git/ # Version control
Step 3: Initialize Git Repository
cd ~/{project-name}
git init
git config user.email "your@email.com"
git config user.name "your-name"
Step 4: Create Web Server
Create server.py:
#!/usr/bin/env python3
"""Build with Public - Web Server"""
import os
import mimetypes
from functools import wraps
from flask import Flask, send_file, render_template_string, abort, request, Response
from pathlib import Path
from dotenv import load_dotenv
load_dotenv()
app = Flask(__name__)
CONTENT_DIR = Path(os.environ.get('CONTENT_DIR', os.getcwd()))
PORT = int(os.environ.get('PORT', 12000))
HOST = os.environ.get('HOST', '0.0.0.0')
AUTH_PASSWORD = os.environ.get('AUTH_PASSWORD', 'openskill')
AUTH_USERNAME = os.environ.get('AUTH_USERNAME', 'user')
# [Server code template, full implementation omitted here]
# Full code reference: templates/server.py.template in skill package
def check_auth(username, password):
return username == AUTH_USERNAME and password == AUTH_PASSWORD
def requires_auth(f):
@wraps(f)
def decorated(*args, **kwargs):
auth = request.authorization
if not auth or not check_auth(auth.username, auth.password):
return Response('Authentication required', 401, {'WWW-Authenticate': 'Basic realm="BuildWithPublic"'})
return f(*args, **kwargs)
return decorated
@app.route('/')
@requires_auth
def index():
# [Directory listing implementation]
pass
@app.route('/')
@requires_auth
def serve_path(subpath):
# [File serving implementation]
pass
if __name__ == '__main__':
print(f"?? Server starting on http://{HOST}:{PORT}")
app.run(host=HOST, port=PORT, debug=False)
Step 5: Create .env Configuration File
cat > .env << 'EOF'
# Build with Public - Configuration
PORT=12000
HOST=0.0.0.0
AUTH_USERNAME=user
AUTH_PASSWORD=openskill
CUSTOM_DOMAIN=your-domain.com
EOF
Step 6: Start Server and Commit
# Install dependencies
pip install flask python-dotenv
# Start server
python server.py &
# Initial commit
git add .
git commit -m "[$(date +%Y-%m-%d)] init: Initialize Build with Public writing system"
Phase 2: Writing Requirements Analysis (with Completeness Check)
Requirements Completeness Assessment
Before officially starting, assess whether the information provided by the user is sufficient. Check the following required items:
| Check Item | Status | Follow-up Question |
|---|---|---|
| Writing Topic | ? | "What technical topic do you want to write about?" |
| Target Audience | ? | "What level are the readers? (Beginner/Intermediate/Expert)" |
| Core Goal | ? | "What's the main purpose of the article? (Teaching/Sharing/Problem-solving)" |
| Expected Length | ? | "How long do you want it? (Short/Medium/Long)" |
| Technical Background | ? | "What tech stacks/tools/frameworks are involved?" |
| Personal Experience | ? | "What's your hands-on experience in this area?" |
| Reference Cases | ? | "Do you have similar reference articles?" |
| Deadline | ? | "When do you expect to publish?" |
Criteria:
- ? Sufficient Information (≥6 items clear) → Proceed to Phase 3
- ?? Partially Missing (4-5 items clear) → Ask for missing items, can continue
- ? Severely Insufficient (≤3 items clear) → Must supplement before continuing
Follow-up Strategy
When conditions are vague, use progressive questioning:
Round 1 (Topic Focus):
The "{topic}" you mentioned is quite broad. To provide a precise writing plan,
could you tell me:
1. What specific tech stack/tools are involved?
2. Do you want to write a tutorial (How-to) or experience sharing (Lesson-learned)?
3. What's the approximate technical level of the readers?
Round 2 (Deep Dive):
Thanks for the details! To make the plan more fitting, I'd like to know:
1. How much hands-on experience do you have in this area? (Affects article credibility positioning)
2. Are there any technical difficulties or pitfalls you want to emphasize?
3. What do you expect readers to gain after reading? (Learn skills/Avoid pitfalls/Understand principles)
Round 3 (Feasibility Confirmation):
Finally, confirm two details:
1. How long do you want the article to be? (Affects structure depth)
2. When do you expect to publish? (Affects iteration count)
Minimum Viable Conditions (MVP)
Even if information is incomplete, the following 4 items are required, otherwise cannot start:
- ? Writing Topic - What to write?
- ? Target Audience - Who to write for?
- ? Core Goal - What to achieve?
- ? Technical Background - What technology is involved?
If any of the above is missing, must ask for clarification.
Step 1: Deep Understanding of Writing Topic
After sufficient information, further clarify:
Topic Dimension Analysis:
- Technical Depth: Principle level / Application level / Tool level?
- Time Dimension: Historical review / Current analysis / Future outlook?
- Practice Dimension: Pure theory / With examples / Complete tutorial?
Example Comparison:
| Vague Input | After Clarification |
|---|---|
| "Write about AI" | "Write a specific tutorial on building skill assessment tools with OpenClaw" |
| "Share my experience" | "Share 12-hour hands-on record from skill consumer to contributor" |
| "Introduce a tool" | "Introduce skill-explorer: Design and implementation of 8-stage skill assessment framework" |
Step 2: Quality Goal Setting
Confirm quality expectations with the user:
| Dimension | Options | Impact |
|---|---|---|
| Technical Depth | Beginner intro / Advanced practice / Deep principles | Determines code examples and architecture diagram count |
| Originality | Experience reproduction / Solution integration / Original method | Determines research time and innovation point extraction |
| Practicality | Concept introduction / Follow-along operation / Production-ready | Determines code completeness and testing requirements |
| Distribution Goal | Personal notes / Community sharing / Professional publication | Determines polish level and promotion strategy |
Phase 3: Multi-Angle Approach Design
Based on the writing topic, design 3-5 different writing angles.
Common Angle Templates
| Angle | Applicable Scenario | Characteristics |
|---|---|---|
| Tutorial | Teach readers how to do | Clear steps, reproducible |
| Problem-Solving | Solve specific pain points | Problem-oriented, highly practical |
| Deep Analysis | Deep dive into technical principles | Technical depth, highly professional |
| Hands-on Experience | Share real cases | Authentic and credible, valuable reference |
| Comparison Review | Compare multiple solutions | Objective and neutral, helps decision-making |
| Trend Outlook | Analyze development direction | Forward-looking, thought-provoking |
Output Outline Files
Create outline files for each angle:
# File naming format: {date}-{topic}-{angle}-outline.md
# Examples:
# 2026-03-02-skill-explorer-tutorial-outline.md
# 2026-03-02-skill-explorer-case-study-outline.md
Outline Content Structure:
# Outline Option: {Angle Name}
**Date**: YYYY-MM-DD
**Title**: "Article Title"
## Core Viewpoint
- One sentence summarizing the core argument
## Outline Structure
1. **Introduction**: Introduce problem and value
2. **Part One**: ...
3. **Part Two**: ...
4. **Conclusion**: Summary and outlook
## Target Audience
- Reader persona description
## Estimated Word Count
- XXXX words
## Keywords
keyword1, keyword2, ...
Save to draft Directory
# Example
draft/
├── 2026-03-02-skill-explorer-tutorial-outline.md
├── 2026-03-02-skill-explorer-case-study-outline.md
├── 2026-03-02-skill-explorer-methodology-outline.md
└── ...
Phase 4: User Selection and Confirmation
Present options for user selection:
## Available Writing Approaches
### Approach 1: Tutorial ?Recommended
- **Title**: "From Scratch: How to Build XXXX"
- **Features**: Clear steps, beginner-friendly
- **Estimate**: 4000 words, 25-minute read
### Approach 2: Hands-on Experience
- **Title**: "How I Solved XXXX in One Week"
- **Features**: Real case, pitfall guide
- **Estimate**: 3500 words, 20-minute read
### Approach 3: Deep Analysis
- **Title**: "The Architecture Design Behind XXXX"
- **Features**: Technical depth, principle analysis
- **Estimate**: 5000 words, 30-minute read
**Please select** (or request adjustments): ...
After user confirmation, proceed to writing phase.
Phase 5: Article Writing
Version Numbering Rules
Use semantic versioning:
| Version | Meaning | Example |
|---|---|---|
| v1.0 | First draft complete | Basic content complete |
| v1.1 | Minor revision | Fix errors, optimize expression |
| v2.0 | Major revision | Structure adjustment, angle change |
| v2.1 | Fine-tuning based on v2.0 | Detail optimization |
File Naming Convention
{date}-{topic}-{slug}-v{version}.md
Examples:
- 2026-03-02-skill-explorer-tutorial-v1.md
- 2026-03-02-skill-explorer-tutorial-v2.md
- 2026-03-02-skill-explorer-tutorial-v2.1.md
Writing Process
-
Create v1.0
# Create first draft based on selected outline cat > articles/2026-03-02-topic-v1.md << 'EOF' # Article content EOF -
Iterative Optimization
- Create v1.1, v1.2... based on feedback
- Upgrade to v2.0 for major adjustments
-
Commit to Git After Each Modification
git add articles/ git commit -m "[YYYY-MM-DD] v{X.Y}: Modification description"
Phase 6: Link Sharing
After article completion, provide access link:
Article link: http://your-domain.com:12000/articles/2026-03-02-topic-v2.md
Default Information for Sharing:
- Access requires password (default: openskill)
- Browser will remember password
- Supports direct Markdown file download
Best Practices
Git Commit Convention
# Format
[Date] Type: Description
- Change detail 1
- Change detail 2
# Types
feat: New article/new feature
fix: Error correction
docs: Documentation update
refactor: Refactoring/renaming
style: Format adjustment
Version Control Strategy
- Minor changes (typos, formatting): Don't upgrade version number, overwrite directly
- Content optimization (paragraph adjustment, detail supplement): v1.0 → v1.1
- Structure adjustment (outline change, angle conversion): v1.x → v2.0
Directory Maintenance
Regular cleanup:
- Deprecated outlines in
draft/ - Outdated versions in
articles/(keep latest 2-3 versions)
Output Templates
Approach Selection Display Template
## ?? Writing Approach Options
Based on your requirement "{topic}", I've designed {N} writing angles:
### Approach 1: {Angle Name}
**Title**: "{Suggested Title}"
**Core Viewpoint**: {One sentence summary}
**Target Audience**: {Reader persona}
**Estimated Length**: {word count} words
**Outline Points**:
1. {Point 1}
2. {Point 2}
3. {Point 3}
---
[Approach 2, 3 ...]
## Please Select
Reply with a number (1/{N}) to select an approach, or tell me what adjustments are needed.
Article Completion Notification Template
? Article completed!
**Version**: v{X.Y}
**File**: articles/{filename}
**Word Count**: {N} words
**Access Link**: http://{domain}:12000/articles/{filename}
**Access Password**: openskill
**Version History**:
- v1.0: First draft complete
- v1.1: Expression optimization
- v2.0: Structure adjustment
- v{X.Y}: Current version
If modifications are needed, please specify requirements.
Examples
Example 1: Skill Explorer Article Series
Project: codewithriver
Topic: skill-explorer skill development
Output:
- draft/2026-03-02-skill-explorer-tutorial-outline.md
- draft/2026-03-02-skill-explorer-case-study-outline.md
- draft/2026-03-02-skill-explorer-methodology-outline.md
- articles/2026-03-02-skill-explorer-tutorial-v1.md
- articles/2026-03-02-skill-explorer-tutorial-v2.md
- articles/2026-03-02-skill-explorer-tutorial-v2.1.md
- articles/2026-03-02-skill-explorer-tutorial-v2.2.md
Related Skills
- skill-explorer: Evaluate and select ClawHub skills
- tweet-writer: Write promotional copy
- marketing-mode: Develop content marketing strategy
Tips
- Keep iterating: Good articles are refined through revisions, don't fear version number increases
- Commit promptly: Commit every meaningful change to Git
- Try multiple angles: Different angles on the same topic may attract different readers
- Share via links: Cultivate the habit of sharing links rather than full text, train reader access habits
Build with Public - Make Your Technical Growth Visible
Appendix B: Xiaohongshu Platform Adaptation Guide
Why Platform Adaptation is Needed
The same technical content can be published to multiple platforms, but each platform has different user habits and content formats.
Platform Comparison:
- Technical Blog: Professional developers, in-depth long articles, 3000-8000 words
- Xiaohongshu: Young learners, casual short notes, 500-1500 words
- T@witter/X: Tech professionals, opinion threads, 280 chars/tweet
- WeChat Official Account: General tech audience, story-driven articles, 2000-5000 words
Xiaohongshu Platform Characteristics
1. Title Formula: [Emoji] + [Pain Point/Question] + [Solution] + [Emoji] + [Value Point]
Examples:
- ?? Too many OpenClaw skills to choose from? I mastered it in 8 steps! ?
- ?? Must-see for programmers! OpenClaw skill explorer, say goodbye to pitfalls!
- ?? One day from newbie to publishing first OpenClaw skill!
2. Content Structure Template:
- Opening pain point (golden 3 seconds)
- Solution introduction
- Step breakdown + emoji numbering
- Results showcase
- Bonus time
- Interaction guidance
3. Language Style Conversion:
- AI Agent → OpenClaw / AI Assistant
- Developer → Babes / Sisters
- Skill Assessment → Skill Selection Tips
- Systematic Process → 8 Steps to Master
- Experience Sharing → Tested and Proven
4. File Naming Convention:
{date}-{topic}-v{version}-xiaohongshu.md
Multi-Version Management Best Practices
- First determine base version (v1.0/v2.0) technical blog version
- Then derive platform version: cp topic-v2.md topic-v2-xiaohongshu.md
- Rewrite content and style according to Xiaohongshu template
- Independent iteration: Technical blog version and Xiaohongshu version managed separately
Quick Conversion Tips
Use sed command for batch term replacement:
sed -i 's/AI Agent/OpenClaw/g' article-xiaohongshu.md
sed -i 's/Developer/Babes/g' article-xiaohongshu.md
Phase 7: Version Management and Iteration
Git Workflow
Execute after each file change:
git add -A
git commit -m "[YYYY-MM-DD] vX.Y: Modification description"
Version Control Strategy
| Change Type | Version Change | Example |
|---|---|---|
| Typos, formatting | No upgrade | Direct overwrite |
| Paragraph optimization | v1.0 → v1.1 | Minor revision |
| Structure adjustment | v1.x → v2.0 | Major revision |
Multi-Version Parallel Management
Technical blog version and Xiaohongshu version iterate independently:
articles/
├── topic-v2.md # Technical blog version
├── topic-v2.1.md # Technical blog version iteration
├── topic-v2-xiaohongshu.md # Xiaohongshu version
└── topic-v2.1-xiaohongshu.md # Xiaohongshu version iteration
Phase 8: Publishing and Promotion
Pre-Publishing Checklist
- Content complete, no typos
- Code tested
- Link accessible
- Git committed
Promotion Channels
- Tech Communities: V2EX, Juejin, Zhihu
- Social Media: T@witter, Xiaohongshu, WeChat Official Account
- Open Source Platforms: GitHub, ClawHub
Interaction Strategy
- Pose interactive questions at article end
- Reply to comments, build connections
- Collect feedback, continuous iteration
Build with Public - Make Your Technical Growth Visible
相关推荐
专题
+ 收藏
+ 收藏
+ 收藏
+ 收藏
+ 收藏
+ 收藏
最新数据
相关文章
课程创作者:自动化在线课程设计与销售 - Openclaw Skills
Config Diff:比较与合并配置文件 - Openclaw Skills
自主行动:自我发起的 AI 智能体任务 - Openclaw Skills
审批队列:人机协同工作流管理 - Openclaw Skills
智能路由:智能 AI 模型选择 - Openclaw Skills
分析追踪:GA4 和 GTM 实施指南 - Openclaw Skills
主机 Ping:Openclaw Skills 的实时网络连通性工具
OpenClaw 自愈:AI 驱动的网关恢复 - Openclaw Skills
NSFW Detector Pro:高级 AI 内容审核 - Openclaw Skills
Juliette Psychose 代理:AI 故事叙述与传说 - Openclaw Skills
AI精选
MCP协议设计与实现-第20章 从零构建一个生产级 MCP Server
MCP协议设计与实现-第16章 服务发现与客户端注册
MCP协议设计与实现-第18章 Elicitation、Roots 与配置管理
MCP协议设计与实现-第10章 Python Server 实现剖析
MCP协议设计与实现-第17章 sampling
MCP协议设计与实现-第09章 TypeScript Client 实现剖析
MCP协议设计与实现-第19章 Claude Code 的 MCP 客户端:12 万行的实战
MCP协议设计与实现-第12章 STDIO 传输:本地进程通信
