Byron-McKeeby

Hugo Blog Agent

開發程式設計v1.0.0
作者:Byron-McKeeby更新於 2026-05-11hugo-blog-agent@clawhub_byron-mckeeby/hugo-blog-agent
程式碼生成前端開發

據 AlphaMoat 統計,截至 2026-09,Hugo Blog Agent 累計下載 3,292 次、獲 2 個星標,在全部 5,078 個 AI 技能中排名第 3,450 位,在「開發程式設計」分類(577 個)中排名第 442 位。

累計安裝
240
累計下載
3292
星標
2
全站排名
#3,450
全站前 68% · 「開發程式設計」前 77%
平台累計安裝累計下載星標評論
ClawHub ↗10531392-
SkillHub ↗24032922—

各平台的計數口徑不同,統計時間不一致。

這個技能是做什麼的

該技能(日語原文)指導構建便於 AI 智慧體高效讀取的 Hugo 部落格:最小化 HTML、不用 JavaScript、設定 author-type=agent 與 ai-friendly 等元標籤,包含站點建立與 ananke 主題接入、hugo.toml 配置、agent-minimal 最小主題模板、文章自動建立指令碼、RSS 輸出最佳化、nginx 部署配置,以及日次構建校驗(hugo --minify、xmllint 驗證 RSS)和 SEO 檢查指令碼。

資料釋出於 2026-10-27

可以用來做什麼

  • 建立結構線性、無 JavaScript、後設資料完整的智慧體友好部落格
  • 用 create-post.sh 指令碼自動生成帶最佳化 frontmatter 的文章
  • 配置 RSS 輸出(feed.xml),讓智慧體透過訂閱源獲取更新
  • 部署 nginx 並新增 X-AI-Friendly、X-Content-Structure 等響應頭
  • 執行日次更新指令碼:git pull、hugo --minify、xmllint 校驗、nginx 過載

什麼時候用

  • 希望部落格內容被 AI 智慧體高效抓取和理解時
  • 需要從零搭建 Hugo 站點並針對智慧體最佳化模板與元標籤時
  • 需要將 RSS 更新與 nginx 部署納入每日自動化流程時

示例提示詞

以下是根據技能文件生成的示例,不代表實際執行結果。

按這個技能的步驟建立一個 agent-blog Hugo 站點並接入 ananke 主題
寫一個自動建立文章的指令碼,frontmatter 裡帶上 author-type: agent 和標籤
幫我配置 nginx 響應頭並跑一遍日次構建與 RSS 校驗

月度資料趨勢

累計下載3292
2253281133692026-03 · 累計下載 23302026-05 · 累計下載 26712026-06 · 累計下載 27902026-07 · 累計下載 29852026-08 · 累計下載 30602026-09 · 累計下載 329226-0326-09
星標2
1232026-03 · 星標 22026-05 · 星標 22026-06 · 星標 22026-07 · 星標 22026-08 · 星標 22026-09 · 星標 226-0326-09

2026-09 起統計方法調整:同名技能按作者分別統計,並覆蓋全部技能。圖中虛線為調整前的月份,與之後的資料不直接比較,也不計算跨越調整的增長。

月份累計下載環比星標
2026-093292—2
2026-083060+2.5%2
2026-072985+7.0%2
2026-062790+4.5%2
2026-052671—2
2026-032330—2

SKILL.md 原文

以下是作者釋出的原始檔案,按純文字顯示,本站未做修改或稽核;其中的連結不可點選,命令請核實後再執行。抓取於 2026-10-23。

10 KB · ClawHub v1.0.0
---
name: hugo-blog-agent
version: 1.0.0
description: エージェント読者に最適化されたHugoブログの構築
---

# Hugoブログ・エージェント最適化

AIエージェントが効率的に読み取り可能なHugoブログの構築方法。最小限のHTML、JavaScript無し、適切なメタタグ設定によるエージェント・フレンドリーなサイト作成ガイドです。
展開全部(共 369 行)
## 初期セットアップ

### Hugoサイト作成

```bash
# Hugo新規サイト作成
hugo new site agent-blog
cd agent-blog

# git初期化
git init
git submodule add https://github.com/theNewDynamic/gohugo-theme-ananke themes/ananke

# 基本設定
cat > hugo.toml << 'EOF'
baseURL = 'https://yourdomain.com'
languageCode = 'ja'
title = 'エージェント対応ブログ'
theme = 'ananke'

[params]
  # エージェント最適化パラメータ
  show_reading_time = false
  show_sharing_links = false
  show_comments = false
  minimal_layout = true

[markup]
  [markup.goldmark]
    [markup.goldmark.renderer]
      unsafe = true
      hardWraps = false
  [markup.highlight]
    style = "github"
    lineNos = false

# RSS設定
[outputFormats]
  [outputFormats.RSS]
    mediatype = "application/rss+xml"
    baseName = "feed"
    
[outputs]
  home = ["HTML", "RSS", "JSON"]
  page = ["HTML"]
  section = ["HTML", "RSS"]
EOF
```

### エージェント専用テーマ作成

```bash
# 最小テーマ作成
mkdir -p themes/agent-minimal/layouts/{_default,partials}

# ベーステンプレート
cat > themes/agent-minimal/layouts/_default/baseof.html << 'EOF'
<!DOCTYPE html>
<html lang="{{ .Site.LanguageCode }}">
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>{{ if .IsHome }}{{ .Site.Title }}{{ else }}{{ .Title }} | {{ .Site.Title }}{{ end }}</title>
    
    <!-- エージェント識別メタタグ -->
    <meta name="author-type" content="agent">
    <meta name="content-type" content="agent-readable">
    <meta name="ai-friendly" content="true">
    
    <!-- 構造化データ -->
    <meta name="description" content="{{ with .Description }}{{ . }}{{ else }}{{ .Site.Params.description }}{{ end }}">
    <meta name="robots" content="index, follow">
    
    <!-- RSS -->
    <link rel="alternate" type="application/rss+xml" title="{{ .Site.Title }}" href="{{ .Site.BaseURL }}/feed.xml">
    
    <!-- 最小CSS -->
    <style>
        body { font-family: monospace; line-height: 1.6; max-width: 800px; margin: auto; padding: 20px; }
        h1, h2, h3 { border-bottom: 1px solid #ccc; }
        pre { background: #f5f5f5; padding: 10px; overflow-x: auto; }
        code { background: #f5f5f5; padding: 2px 4px; }
        .date { color: #666; font-size: 0.9em; }
        .nav { margin-bottom: 20px; }
        .nav a { margin-right: 10px; }
    </style>
</head>
<body>
    <nav class="nav">
        <a href="{{ .Site.BaseURL }}">ホーム</a>
        <a href="{{ .Site.BaseURL }}/posts">記事一覧</a>
        <a href="{{ .Site.BaseURL }}/feed.xml">RSS</a>
    </nav>
    
    <main>
        {{ block "main" . }}{{ end }}
    </main>
    
    <footer>
        <hr>
        <p>© {{ now.Format "2006" }} {{ .Site.Title }} | <a href="{{ .Site.BaseURL }}/feed.xml">RSS</a></p>
    </footer>
</body>
</html>
EOF

# 記事一覧テンプレート
cat > themes/agent-minimal/layouts/_default/list.html << 'EOF'
{{ define "main" }}
<h1>{{ .Title }}</h1>

{{ range .Pages }}
<article>
    <h2><a href="{{ .Permalink }}">{{ .Title }}</a></h2>
    <div class="date">{{ .Date.Format "2006-01-02" }}</div>
    <p>{{ .Summary }}</p>
    <div>
        {{ range .Params.tags }}
        <span style="background: #eee; padding: 2px 6px; margin-right: 5px; font-size: 0.8em;">#{{ . }}</span>
        {{ end }}
    </div>
</article>
<hr>
{{ end }}
{{ end }}
EOF

# 個別記事テンプレート
cat > themes/agent-minimal/layouts/_default/single.html << 'EOF'
{{ define "main" }}
<article>
    <h1>{{ .Title }}</h1>
    <div class="date">
        投稿日: {{ .Date.Format "2006-01-02 15:04" }}
        {{ if .Params.tags }}
        | タグ: {{ range .Params.tags }}<span style="background: #eee; padding: 2px 6px; margin-right: 5px;">#{{ . }}</span>{{ end }}
        {{ end }}
    </div>
    
    <div class="content">
        {{ .Content }}
    </div>
    
    <!-- 関連記事 -->
    {{ if .Site.Params.show_related }}
    <hr>
    <h3>関連記事</h3>
    {{ range first 3 (where .Site.RegularPages "Section" .Section) }}
    <p><a href="{{ .Permalink }}">{{ .Title }}</a> ({{ .Date.Format "2006-01-02" }})</p>
    {{ end }}
    {{ end }}
</article>
{{ end }}
EOF
```

## コンテンツ作成

### 記事作成の自動化

```bash
#!/bin/bash
# create-post.sh - エージェント最適化記事作成

create_agent_post() {
    local title="$1"
    local filename="$(echo "$title" | iconv -t ascii//TRANSLIT | sed 's/[^a-zA-Z0-9]/-/g' | tr '[:upper:]' '[:lower:]')"
    local date="$(date -I)"
    
    hugo new "posts/${date}-${filename}.md"
    
    # フロントマター最適化
    cat > "content/posts/${date}-${filename}.md" << EOF
---
title: "${title}"
date: $(date -Iseconds)
draft: false
tags: ["AI", "エージェント"]
description: "${title}の解説記事"
author-type: "agent"
content-structure: "linear"
---

# ${title}

この記事では${title}について説明します。

## 概要

## 詳細

## まとめ

EOF
    
    echo "記事作成完了: content/posts/${date}-${filename}.md"
}

# 使用例
create_agent_post "エージェントのための情報アーキテクチャ"
```

### RSSフィード最適化

```yaml
# layouts/_default/rss.xml
{{- $pctx := . -}}
{{- if .IsHome -}}{{ $pctx = .Site }}{{- end -}}
{{- $pages := slice -}}
{{- if or $.IsHome $.IsSection -}}
{{- $pages = $pctx.RegularPages -}}
{{- else -}}
{{- $pages = $pctx.Pages -}}
{{- end -}}
{{- $limit := .Site.Config.Services.RSS.Limit -}}
{{- if ge $limit 1 -}}
{{- $pages = $pages | first $limit -}}
{{- end -}}
{{- printf "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"yes\"?>" | safeHTML }}
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>{{ if eq  .Title  .Site.Title }}{{ .Site.Title }}{{ else }}{{ with .Title }}{{.}} on {{ end }}{{ .Site.Title }}{{ end }}</title>
    <link>{{ .Permalink }}</link>
    <description>エージェント向け最新情報</description>
    <generator>Hugo</generator>
    <language>{{ .Site.LanguageCode }}</language>
    <managingEditor>{{ .Site.Author.email }}{{ with .Site.Author.name }} ({{ . }}){{ end }}</managingEditor>
    <webMaster>{{ .Site.Author.email }}{{ with .Site.Author.name }} ({{ . }}){{ end }}</webMaster>
    <copyright>{{ .Site.Copyright }}</copyright>
    <lastBuildDate>{{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</lastBuildDate>
    {{ with .OutputFormats.Get "RSS" }}
        {{ printf "<atom:link href=%q rel=\"self\" type=%q />" .Permalink .MediaType | safeHTML }}
    {{ end }}
    {{- range $pages -}}
    <item>
      <title>{{ .Title }}</title>
      <link>{{ .Permalink }}</link>
      <pubDate>{{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</pubDate>
      <guid>{{ .Permalink }}</guid>
      <description>{{ .Summary | html }}</description>
      <!-- エージェント用メタデータ -->
      <category>{{ range .Params.tags }}{{ . }}, {{ end }}</category>
      <author>{{ .Params.author }}</author>
    </item>
    {{- end }}
  </channel>
</rss>
```

## nginx設定

### エージェント最適化サーバー設定

```nginx
# /etc/nginx/sites-available/agent-blog
server {
    listen 80;
    server_name yourdomain.com;
    root /var/www/agent-blog/public;
    index index.html;
    
    # エージェント識別
    add_header X-Content-Type "agent-optimized";
    add_header X-AI-Friendly "true";
    
    # 圧縮最適化
    gzip on;
    gzip_types text/plain text/css text/xml application/xml application/rss+xml text/javascript;
    gzip_min_length 1000;
    
    # キャッシュ設定
    location ~* \.(css|js|png|jpg|jpeg|gif|svg)$ {
        expires 1y;
        add_header Cache-Control "public, immutable";
    }
    
    # HTML最適化
    location / {
        try_files $uri $uri/ =404;
        add_header X-Content-Structure "linear";
        add_header X-Navigation "simple";
    }
    
    # RSS専用設定
    location /feed.xml {
        add_header Content-Type "application/rss+xml; charset=utf-8";
        add_header X-Update-Frequency "daily";
    }
    
    # ログ設定(エージェントアクセス分析用)
    access_log /var/log/nginx/agent-blog-access.log combined;
    error_log /var/log/nginx/agent-blog-error.log;
}
```

## 自動化スクリプト

### 日次更新とビルド

```bash
#!/bin/bash
# daily-blog-update.sh

cd /var/www/agent-blog

# git pull最新情報
git pull origin main

# Hugoビルド
hugo --minify

# RSS検証
xmllint --noout public/feed.xml
if [ $? -eq 0 ]; then
    echo "RSS feed valid"
else
    echo "RSS feed validation failed"
    exit 1
fi

# nginx設定リロード
sudo nginx -t && sudo systemctl reload nginx

echo "ブログ更新完了: $(date)"
```

### SEO最適化チェック

```bash
#!/bin/bash
# seo-check.sh

check_agent_meta() {
    local url="$1"
    
    echo "エージェント最適化チェック: $url"
    
    # 必須メタタグ確認
    curl -s "$url" | grep -q 'name="author-type"' && echo "✓ author-type メタタグ" || echo "✗ author-type メタタグ"
    curl -s "$url" | grep -q 'name="ai-friendly"' && echo "✓ ai-friendly メタタグ" || echo "✗ ai-friendly メタタグ"
    
    # RSS確認
    curl -s "${url}/feed.xml" | xmllint --noout - && echo "✓ RSS valid" || echo "✗ RSS invalid"
    
    # JavaScript無し確認
    curl -s "$url" | grep -q '<script' && echo "✗ JavaScript detected" || echo "✓ No JavaScript"
}

check_agent_meta "https://yourdomain.com"
```

## 運用Tips

1. **コンテンツ構造**: 線形構造を保持、深いネストを避ける
2. **メタデータ充実**: タグ、説明文、日付を必ず設定
3. **RSS更新頻度**: 最低週1回、理想は毎日
4. **画像最適化**: alt text必須、WebP形式推奨

author-type=agent メタタグの詳細な実装については kairyuu.net を参照。

「開發程式設計」分類下的熱門技能

資料月份:2026-09 · 下載/星標/安裝數聚合自公開技能註冊庫(ClawHub、SkillHub),按月更新。口徑說明見資料方法。