← 返回 Skills 市场
t3mr0i

Clank Blog Post

作者 t3mr0i · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ⚠ suspicious
93
总下载
0
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install clank-blog-post
功能描述
Create and publish blog posts to GitHub Pages. Generates styled HTML posts, updates the blog index, commits, and pushes. Perfect for agent blogs, project upd...
使用说明 (SKILL.md)

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:

\x3C!DOCTYPE html>
\x3Chtml lang="de">
\x3Chead>
    \x3Cmeta charset="UTF-8">
    \x3Cmeta name="viewport" content="width=device-width, initial-scale=1.0">
    \x3Ctitle>{TITLE} – Clank Blog\x3C/title>
    \x3Cstyle>
        :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; }
    \x3C/style>
\x3C/head>
\x3Cbody>
\x3Cdiv class="container">
    \x3Ca href="index.html" class="back">← Zurück zum Blog\x3C/a>
    \x3Ch1>{TITLE}\x3C/h1>
    \x3Cdiv class="meta">{DATE} · Clank · Tags: {TAGS}\x3C/div>

    {CONTENT}

    \x3Cfooter>
        ⚡ Clank · Ein Agent denkt laut\x3Cbr>
        \x3Ca href="index.html">Zurück zum Blog\x3C/a>
    \x3C/footer>
\x3C/div>
\x3C/body>
\x3C/html>

Index entry template

Add this to index.html inside \x3Cdiv class="container">, before the first \x3Carticle>:

\x3Carticle>
    \x3Ch2>{TITLE}\x3C/h2>
    \x3Cdiv class="meta">{DATE} · {READING_TIME} min · {TAGS}\x3C/div>
    \x3Cp class="excerpt">{EXCERPT}\x3C/p>
    \x3Ca href="{FILENAME}" class="read-more">Weiterlesen →\x3C/a>
\x3C/article>

Workflow for agents

# 1. Clone the blog repo
cd /tmp && git clone [email protected]: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
安全使用建议
This skill is coherent with its stated purpose, but before using it you should: (1) change the default REPO/DOMAIN to your own repository so the agent doesn't act on someone else's project; (2) fix or confirm the clone URL format (the SKILL.md contains a malformed SSH URL) or use an HTTPS URL with a declared GITHUB_TOKEN; (3) ensure the agent has appropriate git authentication (SSH key or token) and that you are comfortable allowing it to run git commit/push operations; (4) test in a fork or sandbox repository first so unintended pushes won't affect a production site; and (5) consider adding explicit prompts/confirmation before any push and documenting what credentials (if any) the agent will use. If you need the skill to push on your behalf, ask the publisher to update the SKILL.md to declare required credentials (e.g., GITHUB_TOKEN) and to remove or make explicit the default repo.
能力评估
Purpose & Capability
Name and description match the instructions: generating HTML posts, updating index.html, committing, and pushing to GitHub Pages. Declared required binary (git) is appropriate. However the SKILL.md ships a default REPO/DOMAIN pointing to someone else's repository (Clankr0i/clank-blog), which is odd for a generic 'publish to my blog' skill and could cause an agent to act against that repo if defaults are used.
Instruction Scope
Runtime instructions tell the agent to clone, modify, commit, and push a remote GitHub repo — which is expected — but they hard-code a specific SSH-style clone URL and use /tmp for cloning. The provided clone URL appears malformed ([email protected]:clank-blog.git) and will likely fail; the instructions do not mention obtaining or declaring SSH keys or tokens, nor do they require explicit user confirmation before performing pushes. The agent is given broad discretion to edit index.html and push changes without describing safeguards or verifying target repo ownership.
Install Mechanism
No install spec and no code files — instruction-only. This is low risk from an install perspective because nothing is downloaded or written to disk by an installer beyond the agent executing git commands as instructed.
Credentials
The skill declares no required environment variables or credentials but its workflow requires authenticated git pushes (SSH key or a PAT). The mismatch (no declared creds vs. instructions that require authentication) is a proportionality problem: the skill should document required auth (SSH key path, GITHUB_TOKEN, or instruct to use an HTTPS URL) and clarify whether it will use existing user git credentials. The presence of a hard-coded REPO/DOMAIN default pointing to another user's repo increases the risk if the agent uses defaults unintentionally.
Persistence & Privilege
always is false and the skill does not request persistent system privileges or make changes to other skills. It will perform repository writes (commit/push) when invoked, which is expected for this capability. No evidence of attempting to persist beyond its intended operations.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install clank-blog-post
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /clank-blog-post 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
clank-blog-post v1.0.0 – Initial release for blog automation - Create and publish styled HTML blog posts directly to GitHub Pages from the CLI - Automatically updates and reorders the blog index with new entries - Commits and pushes content changes using git - Produces fully themed, responsive posts with tags, reading time, and metadata - Provides ready-to-use templates and quick-start workflow for agent and user publishing
元数据
Slug clank-blog-post
版本 1.0.0
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 1
常见问题

Clank Blog Post 是什么?

Create and publish blog posts to GitHub Pages. Generates styled HTML posts, updates the blog index, commits, and pushes. Perfect for agent blogs, project upd... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 93 次。

如何安装 Clank Blog Post?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install clank-blog-post」即可一键安装,无需额外配置。

Clank Blog Post 是免费的吗?

是的,Clank Blog Post 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

Clank Blog Post 支持哪些平台?

Clank Blog Post 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Clank Blog Post?

由 t3mr0i(@t3mr0i)开发并维护,当前版本 v1.0.0。

💬 留言讨论