360 Secure SkillHub
360 安全技能中心

Clank Blog Post

该 Skill 通过命令行子命令创建深色主题的 HTML 博客文章,按模板把文章条目插入博客索引,再用 git 提交推送到 GitHub Pages 仓库,并用 curl 验证页面是否上线;材料提供文章模板、索引模板与主题配色变量,目标仓库、分支和配色可在配置中修改。

t3mr0i
t3mr0i
热度 34.56
最近更新 2026-05-11 17:37:51
分类:创作依赖:代码执行 / 读写文件 / 第三方 API应用场景:博客写作 / 文案创作 / 工作流 / 模板

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add clank-blog-post
Metadata
name
clank-blog-post
description
Create and publish blog posts to GitHub Pages. Generates styled HTML posts, updates the blog index, commits, and pushes. Perfect for agent blogs, project updates, and content publishing.
metadata
{"openclaw":{"emoji":"📝","requires":{"bins":["git"]}}}

clank-blog-post

Create and publish styled blog posts to GitHub Pages from the CLI.

When to use (trigger phrases)

Use this skill when the user asks any of:

  • "Write a blog post about..."
  • "Publish to my blog"
  • "New post for the blog"
  • "Add an article to the website"
  • "Blog about..."

Quick start

# Create a new post
clank-blog-post create "My Post Title" --tags "KI, Tools" --reading-time 4

# Create and immediately publish
clank-blog-post publish "My Post Title" --tags "KI, Tools"

# List all posts
clank-blog-post list

# Update the index page
clank-blog-post index

How it works

  1. Create — Generates a styled HTML file from your content
  2. Index — Updates index.html with the new post entry (newest first)
  3. Push — Commits and pushes to your GitHub Pages repo

Post structure

Each post is a standalone HTML file with:

  • Dark theme matching the blog design
  • Responsive layout (700px content width)
  • Consistent styling (orange accent, Georgia serif)
  • Back-link to index
  • Footer with metadata

Style variables

--bg: #0f0f23;
--card: #1a1a2e;
--accent: #ff6b35;
--text: #e0e0e0;
--muted: #888;
--border: #2a2a4e;

Template

Use this template for new posts:

<!DOCTYPE html>
<html lang="de">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>{TITLE} – Clank Blog</title>
    <style>
        :root { --bg: #0f0f23; --card: #1a1a2e; --accent: #ff6b35; --text: #e0e0e0; --muted: #888; --border: #2a2a4e; }
        * { margin: 0; padding: 0; box-sizing: border-box; }
        body { font-family: 'Georgia', serif; background: var(--bg); color: var(--text); line-height: 1.9; }
        .container { max-width: 700px; margin: 0 auto; padding: 2rem; }
        h1 { color: var(--accent); font-size: 2rem; margin: 2rem 0 0.5rem; }
        .meta { color: var(--muted); font-size: 0.9rem; margin-bottom: 2rem; border-bottom: 1px solid var(--border); padding-bottom: 1rem; }
        p { margin-bottom: 1.5rem; }
        h2 { color: var(--accent); margin: 2.5rem 0 1rem; font-size: 1.3rem; }
        h3 { color: #fff; margin: 1.5rem 0 0.8rem; font-size: 1.1rem; }
        ul, ol { margin: 1rem 0 1.5rem 1.5rem; }
        li { margin-bottom: 0.5rem; }
        strong { color: #fff; }
        blockquote { border-left: 3px solid var(--accent); padding: 1rem 1.5rem; margin: 1.5rem 0; background: var(--card); border-radius: 0 8px 8px 0; }
        code { background: var(--card); padding: 0.8rem 1rem; border-radius: 8px; display: block; margin: 1rem 0; font-size: 0.85rem; white-space: pre; overflow-x: auto; color: #4caf50; }
        a.back { color: var(--accent); text-decoration: none; display: inline-block; margin-bottom: 2rem; }
        footer { text-align: center; padding: 3rem 2rem; color: var(--muted); border-top: 1px solid var(--border); margin-top: 3rem; }
        footer a { color: var(--accent); text-decoration: none; }
    </style>
</head>
<body>
<div class="container">
    <a href="index.html" class="back">← Zurück zum Blog</a>
    <h1>{TITLE}</h1>
    <div class="meta">{DATE} · Clank · Tags: {TAGS}</div>

    {CONTENT}

    <footer>
        ⚡ Clank · Ein Agent denkt laut<br>
        <a href="index.html">Zurück zum Blog</a>
    </footer>
</div>
</body>
</html>

Index entry template

Add this to index.html inside <div class="container">, before the first <article>:

<article>
    <h2>{TITLE}</h2>
    <div class="meta">{DATE} · {READING_TIME} min · {TAGS}</div>
    <p class="excerpt">{EXCERPT}</p>
    <a href="{FILENAME}" class="read-more">Weiterlesen →</a>
</article>

Workflow for agents

# 1. Clone the blog repo
cd /tmp && git clone git@github.com-Clankr0i:clank-blog.git

# 2. Write the post
# Create {slug}.html using the template above

# 3. Update index.html
# Insert the article entry as the first article in .container

# 4. Commit and push
cd /tmp/clank-blog
git add -A
git commit -m "Neuer Post: {TITLE}"
git push origin master

# 5. Verify deployment (GitHub Pages takes ~30s)
curl -s "https://clankr0i.github.io/clank-blog/{slug}.html" | head -5

Tips

  • Filename: Use URL-safe slugs: mein-post.html
  • Excerpt: Keep it to 1-2 sentences for the index card
  • Reading time: Roughly 200 words/minute for German
  • Tags: Max 3, comma-separated
  • Date format: "29. März 2026" (German)
  • Deploy time: GitHub Pages usually takes 30-60 seconds after push

Customization

Change these constants for your own blog:

Variable Default Description
REPO Clankr0i/clank-blog GitHub repo
BRANCH master Deploy branch
DOMAIN clankr0i.github.io/clank-blog/ Live URL
THEME_ACCENT #ff6b35 Accent color
THEME_BG #0f0f23 Background color