Zeelin Report Publisher
Publish reports to the ZeeLin reports website ("智灵报告网站") by copying report assets, inserting a new top entry into public/reports_config.json for any category...
Description
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:
- the site phrase:
智灵报告网站 - an action phrase:
发布/上架/新增报告
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, default1.0)id(optional)cover_url(optional)category_dir(optional)
Field details: see report-metadata.md.
Workflow
- On a new machine, run GitHub bootstrap first (section below).
- Confirm target repo path and that it contains
public/reports_config.json. - Run the publisher script (below).
- Verify build result.
- 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 "<repo_root>"
<repo_root> 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:<your-user>/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 <workspace>/THU-ZeeLin-Reports.
Script
Primary command:
python3 {baseDir}/scripts/publish_report.py \
--repo "<repo_root>" \
--report-file "<report_file>" \
--title "Report Title" \
--category "OpenClaw" \
--date "2026" \
--version "1.0" \
--abstract "Short summary text."
Default behavior:
- Copies file into
public/<category_dir>/. - Inserts new entry at index
0inpublic/reports_config.json. - Auto-detects
datefrom file name/title (YYYY-MM/YYYY) and falls back to current year. - Auto-generates
abstractwhen omitted. - Runs
npm run build. - Creates feature branch
codex/report-<id>. - Commits and pushes to
origin(fork). - Uses
upstreamas PR base remote when available (otherwiseorigin). - Creates PR with
ghif available; otherwise prints manual compare URL.
Remote options:
--push-remotecontrols where branches are pushed (defaultorigin).--base-remotecontrols PR base remote (default auto:upstreamif exists, elseorigin).
Abstract Generation Standard
When abstract is omitted, generate a concise, neutral summary by these rules:
- Use one sentence in Chinese, around 40-90 characters.
- Mention scope + value (for example: "核心进展、关键问题、落地路径").
- Avoid unverifiable claims and marketing tone.
- If content context is limited, use title/category-based generic summary.
Guardrails
- Do not push directly to
mainas final delivery; use PR workflow. - If working tree is dirty, stop unless user explicitly allows mixed changes.
- Validate git identity and push remote access before mutating files.
- Keep existing entry format compatible with site fields:
id/title/version/date/category/abstract/coverUrl/pdfUrl.
Reviews (0)
No reviews yet. Be the first to review!
Comments (0)
No comments yet. Be the first to share your thoughts!