Zeelin Report Publisher
by @thu-nmrc
Publish reports to the ZeeLin reports website ("智灵报告网站") by copying report assets, inserting a new top entry into public/reports_config.json for any category...
clawhub install zeelin-report-publisher📖 About This Skill
name: zeelin-report-publisher description: Publish reports to the ZeeLin reports website ("智灵报告网站") by copying report assets, inserting a new top entry into public/reports_config.json for any category, running build checks, and preparing PR-ready branches. metadata: openclaw: emoji: "🗂️" requires: bins: - python3 - git - npm anyBins: - gh
ZeeLin Report Publisher
When To Use
Use this skill when the user asks to publish, upload, or add a report to the 智灵报告网站.
Trigger intent should include both:
智灵报告网站发布 / 上架 / 新增报告This skill supports multiple categories (not only OpenClaw).
Inputs
Collect these fields before running:
report_file (required)title (required)category (required)date (optional, auto-infer if omitted)abstract (optional, auto-generate if omitted)version (optional, default 1.0)id (optional)cover_url (optional)category_dir (optional)Field details: see report-metadata.md.
Workflow
1. On a new machine, run GitHub bootstrap first (section below).
2. Confirm target repo path and that it contains public/reports_config.json.
3. Run the publisher script (below).
4. Verify build result.
5. Confirm branch push and PR URL.
Bootstrap (New Machine)
Run this once per user machine to set git identity, authenticate GitHub, upload SSH key, and validate repo push permission:
bash {baseDir}/scripts/bootstrap_github.sh \
--name "Your Name" \
--email "you@example.com" \
--repo ""
should point to your local report-site repository (for example THU-ZeeLin-Reports).
Fork workflow setup (recommended for team members without write access on main repo):
bash {baseDir}/scripts/bootstrap_github.sh \
--name "Your Name" \
--email "you@example.com" \
--clone-url "git@github.com:/THU-ZeeLin-Reports.git" \
--upstream-url "git@github.com:thu-nmrc/THU-ZeeLin-Reports.git"
--clone-dir is optional. If omitted, repo is cloned to current workspace as .
Script
Primary command:
python3 {baseDir}/scripts/publish_report.py \
--repo "" \
--report-file "" \
--title "Report Title" \
--category "OpenClaw" \
--date "2026" \
--version "1.0" \
--abstract "Short summary text."
Default behavior:
public// .0 in public/reports_config.json.date from file name/title (YYYY-MM/YYYY) and falls back to current year.abstract when omitted.npm run build.codex/report-.origin (fork).upstream as PR base remote when available (otherwise origin).gh if available; otherwise prints manual compare URL.Remote options:
--push-remote controls where branches are pushed (default origin).--base-remote controls PR base remote (default auto: upstream if exists, else origin).Abstract Generation Standard
When abstract is omitted, generate a concise, neutral summary by these rules:
Guardrails
main as final delivery; use PR workflow.id/title/version/date/category/abstract/coverUrl/pdfUrl.