with one click
auto-page-sync
// 仓库 Markdown/JSON 内容自动同步到前端页面,配置 GitHub Actions 定时拉取 + 部署,保持 Google SEO 内容新鲜度。支持日报、博客、Changelog、Landing Page 等多种页面模式。
// 仓库 Markdown/JSON 内容自动同步到前端页面,配置 GitHub Actions 定时拉取 + 部署,保持 Google SEO 内容新鲜度。支持日报、博客、Changelog、Landing Page 等多种页面模式。
专用于构建高流量 Roblox 游戏工具站的 SEO 架构与工程化方法论。从给定游戏词到最终上线部署的完整流程,包含每日自动关键词挖掘→页面构建→部署管道。
SignalLayer 外链投放客户端(通用版)。供其他 OpenClaw 用户安装使用,通过 SignalLayer.io API 为网站创建外链投放 campaign。支持创建 campaign、查询状态、管理多任务。用户需自行配置自己的 SignalLayer API Key。
AI 热点雷达 - 在新 AI 工具/关键词爆火前发现它们,抢注域名、建站套利。 触发条件: - 用户说「跑雷达」、「热点扫描」、「X 雷达」 - cron 每 12 小时自动触发(9:00, 21:00) 核心目标: 在 AI 关键词/工具首次病毒传播 → 大众认知的 24-72h 窗口内发现, 抢注域名 + 建工具站 + 吃搜索流量红利。 典型案例:Nano Banana、Ghibli AI、OpenClaw、Hermes
Hunt for fresh browser-playable games on itch.io /newest that are worth building SEO arbitrage sites for. Crawls new releases, scores them by signals, produces ranked shortlist.
HTML5 游戏发现雷达 - 多源监测又新又热的 HTML5 游戏,识别 SEO 套利窗口。 触发条件: - 用户说「跑 HTML5 雷达」、「启动 HTML5 监控」、「HTML5 游戏扫描」 - 每天 cron 自动触发(建议 10:00 / 16:00) 监测平台: 1. itch.io — 独立游戏最大源头,HTML5 首发首选 2. Reddit r/webgames — 玩家发现新游戏第一线 3. Google Trends — 搜索量爆发判断 4. X/Twitter — 游戏病毒扩散早期信号(基于游戏名搜索) 5. Crazy Games / YouTube — 补充信号源 信号评分(0-20)判断游戏是否值得做 SEO 内容。
整站关键词研究与深度挖掘。输入一个网站域名或URL,自动完成:首页主题分析 → 递归式关键词树扩展(Google联想词多级分叉)→ 去重合并 → 关键词分层 → 10词SERP详细分析 → 3词定方向,最终输出完整 Markdown 报告。 触发条件:用户说"分析网站关键词"、"关键词研究"、"keyword research"、"挖掘某网站的关键词"、或提供一个URL说"分析这个网站的SEO关键词机会"。
| name | auto-page-sync |
| description | 仓库 Markdown/JSON 内容自动同步到前端页面,配置 GitHub Actions 定时拉取 + 部署,保持 Google SEO 内容新鲜度。支持日报、博客、Changelog、Landing Page 等多种页面模式。 |
| keywords | auto sync, github actions, cron, markdown, blog, report, landing page, seo freshness, sitemap, content pipeline, static site |
| version | 1 |
将仓库中的 Markdown / JSON 内容自动同步到前端项目,生成对应页面,并通过 GitHub Actions 定时更新,确保 Google SEO 内容新鲜度。
手动更新网站内容既耗时又容易遗忘。这个 Skill 让你:
# 典型的内容源结构
daily-reports/
├── 2026-04-10/
│ ├── morning-report.md
│ └── youtube-report.md
├── 2026-04-11/
│ ├── morning-report.md
│ └── youtube-report.md
# 或者博客结构
blog/
├── 2026-04-10-my-first-post.md
├── 2026-04-11-another-post.md
根据内容类型选择合适的模式:
| 模式 | 适用场景 | 路由结构 | 特点 |
|---|---|---|---|
| A: 日报型 | 每日报告、周报 | /reports/[date] | 日期导航 + Tab 切换 |
| B: 博客型 | 文章、教程 | /blog/[slug] | 列表页 + 分类筛选 |
| C: 动态区块型 | Landing Page 数据 | 更新现有页面区块 | 无新路由 |
| D: Changelog 型 | 更新日志 | /changelog | 单页时间线 |
将内容文件复制到前端项目的 public/data/ 目录,并生成索引文件。
目标目录结构:
public/data/{content-type}/
├── index.json # 索引文件
├── 2026-04-10/
│ ├── report-a.md
│ └── report-b.md
└── 2026-04-11/
├── report-a.md
└── report-b.md
index.json 标准格式:
{
"dates": ["2026-04-11", "2026-04-10"],
"latest": "2026-04-11",
"items": {
"2026-04-11": [
{
"slug": "unique-identifier",
"title": "显示标题",
"icon": "🎮",
"filename": "source-file.md",
"description": "可选摘要",
"tags": ["可选标签"]
}
]
}
}
根据目标框架生成页面代码。以下以 Next.js App Router 为例:
必须遵循的原则:
layout.tsx、globals.css、组件库,匹配设计风格react-markdown、remark-gfm)日报型页面结构(模式 A):
app/reports/page.tsx # 重定向到最新日期
app/reports/[date]/page.tsx # 日期详情页
components/report-viewer.tsx # 内容渲染组件
博客型页面结构(模式 B):
app/blog/page.tsx # 文章列表页
app/blog/[slug]/page.tsx # 文章详情页
components/blog-card.tsx # 文章卡片组件
内容渲染组件核心逻辑:
// 使用 react-markdown + remark-gfm 渲染 Markdown
import ReactMarkdown from "react-markdown"
import remarkGfm from "remark-gfm"
<article className="prose prose-neutral dark:prose-invert max-w-none">
<ReactMarkdown remarkPlugins={[remarkGfm]}>
{markdownContent}
</ReactMarkdown>
</article>
在项目的全局导航中添加新页面链接,使用与现有导航一致的样式。
创建 .github/workflows/sync_{content_type}.yml:
name: Sync {ContentType} to Frontend
on:
schedule:
- cron: '{cron_expression}' # UTC 时间,注意时区转换
workflow_dispatch: # 允许手动触发
permissions:
contents: write
jobs:
sync:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Sync content files
run: |
set -e
SRC="{source_directory}"
DST="{frontend_public_data_path}"
mkdir -p "$DST"
if [ -d "$SRC" ]; then
for dir in "$SRC"/*/; do
name=$(basename "$dir")
if [[ "$name" =~ ^[0-9]{4}-[0-9]{2}-[0-9]{2}$ ]]; then
mkdir -p "$DST/$name"
cp -f "$dir"*.md "$DST/$name/" 2>/dev/null || true
fi
done
fi
- name: Rebuild index.json
run: |
python3 .agent/skills/auto-page-sync/resources/rebuild_index.py \
--dir "{frontend_public_data_path}"
- name: Commit and Push
run: |
git config --local user.email "github-actions[bot]@users.noreply.github.com"
git config --local user.name "github-actions[bot]"
git pull --rebase || true
git add {target_paths}
git diff --quiet && git diff --staged --quiet || \
(git commit -m "🔄 Auto-sync: {content_type} [deploy]" && git push)
Cron 时间计算:
X - 8 小时 = UTC 时间0 3 * * *(UTC 03:00 = 北京 11:00)lastmod 和 changefreq: daily<title> 和 <meta description>Article schema,报告型用 Report schemaresources/rebuild_index.py — 通用索引重建脚本,可在 GitHub Actions 或本地运行resources/sync_workflow_template.yml — GitHub Actions workflow 模板,替换占位符即可用resources/report_types_example.json — 报告类型映射示例public/data/ 并可通过 URL 访问index.json 正确列出所有内容条目[deploy] 触发自动部署用户输入:
"把 daily-reports/ 目录的报告同步到网站,做成报告页面,每天 11 点更新"
AI 执行:
1. 分析 daily-reports/ → 按日期组织,每天 2 份 Markdown 报告
2. 选择模式 A(日报型)
3. 复制到 public/data/reports/,生成 index.json
4. 创建 /reports/[date] 页面 + report-viewer 组件
5. 导航栏添加「每日报告」
6. 创建 sync_daily_reports.yml,cron: '0 3 * * *'
用户输入:
"把 blog/ 目录的文章展示到网站,做成博客,每周一更新"
AI 执行:
1. 分析 blog/ → 按文件组织,Markdown 带 frontmatter
2. 选择模式 B(博客型)
3. 复制到 public/data/blog/,生成 index.json
4. 创建 /blog 列表页 + /blog/[slug] 详情页
5. 导航栏添加「Blog」
6. 创建 sync_blog.yml,cron: '0 0 * * 1'(每周一 UTC 00:00)
用户输入:
"把 data/stats.json 的数据同步到首页的统计区块,每天更新"
AI 执行:
1. 分析 data/stats.json → 单文件 JSON
2. 选择模式 C(动态区块型)
3. 复制到 public/data/stats.json
4. 修改首页组件读取该 JSON 渲染统计区块
5. 创建 sync_stats.yml,cron: '0 2 * * *'
| 框架 | 页面生成 | Markdown 渲染 | 备注 |
|---|---|---|---|
| Next.js (App Router) | ✅ 完整支持 | react-markdown + remark-gfm | 推荐 |
| Next.js (Pages Router) | ✅ 支持 | react-markdown + remark-gfm | |
| Astro | ✅ 支持 | 内置 Markdown 支持 | |
| Hugo / Jekyll | ✅ 支持 | 原生 Markdown | 静态站点 |
| Vite + React | ✅ 支持 | react-markdown | 需手动路由 |