paper-report-delivery
v1.0.0Build, automate, or maintain a daily paper-report delivery pipeline that collects papers, selects A/B groups, generates Chinese summaries and detailed innovation analysis, produces readable HTML with embedded images, prepares Telegram message chunks, archives outputs, and delivers reports to Telegra...
Installation
Please help me install the skill `paper-report-delivery` from SkillHub official store.
npx skills add FanWu-fan/paper-report-delivery
Paper Report Delivery
Use this skill to implement or maintain an end-to-end daily paper report workflow.
Do this
- Read
references/workflow.mdfirst. - Keep the pipeline end-to-end: collection, selection, readable output, archive, delivery.
- Prefer Telegram-only proxying via
channels.telegram.proxywhen Telegram API needs Clash. - Treat Telegram message delivery and Telegram document delivery as separate reliability paths.
- Prefer this delivery order:
- split HTML delivery
- retry for a bounded window
- Telegram message chunk fallback
- Keep local artifacts even when remote delivery fails.
Reusable scripts
Use these bundled scripts when they fit:
scripts/build_readable_html.py- Build a readable single-file HTML report with embedded images.
scripts/build_telegram_messages.py- Convert a readable report JSON into Telegram-sized message chunks.
scripts/send_telegram_retry.sh- Retry Telegram sending for unstable transport.
scripts/send_html_then_fallback.py- Try split HTML for up to 30 minutes, then fall back to Telegram message chunks.
Implementation rules
- Keep HTML as the best-reading artifact.
- Keep Telegram message chunks as the most reliable delivery artifact.
- Archive HTML, PDF, and markdown even when only Telegram text is delivered.
- Do not assume Telegram document delivery is stable.
- If Telegram is unreachable, finish artifact generation and leave cached delivery files behind.
When editing an existing repo
- Integrate into the repo’s main pipeline entrypoint instead of creating a disconnected side script.
- Add flags for skipping fetch, skipping send, and archive-only mode.
- Keep delivery logic explicit and observable in logs.
- If Telegram transport is flaky, add retries before changing report content.
Publishing hygiene
Before public release:
- Remove hard-coded local paths
- Remove hard-coded Telegram targets and group names
- Replace fixed dates with dynamic
YYYY-MM-DDhandling - Keep transport settings configurable
Packaging
After the skill is complete, package it with the local package_skill.py helper from the OpenClaw skill-creator skill.