/install non-annoying-news
Non-Annoying News
Create a personal newspaper that explains what matters without clickbait, dashboard cards, vague link summaries, or filler boxes.
Package version: v0.2.1.
Use modes
- First-run setup: user wants the skill installed/configured, recurring issues, source adapters, X/bookmark inputs, naming, cadence, cron, delivery, or design choices.
- One-off issue: user supplies URLs, notes, files, feeds, or a topic and asks for a digest now.
- Recurring production: user already has a completed local config/signals and wants the next issue rendered and delivered.
- Demo issue: user explicitly asks for a generic demo/sample, not a personalized newspaper.
Required workflow
- Load
references/editorial-standard.mdbefore selecting stories or writing an issue. - For first-run setup, missing/incomplete config, recurring setup, cron/schedule, or customization requests, load
references/onboarding.md,references/config-schema.md,references/source-adapters.md, andreferences/design-presets.md. - Apply the Personalization Gate from
references/onboarding.md: do not create a personal issue, recurring config, delivery automation, or cron job until the required onboarding choices are answered or explicitly confirmed by the user. - Before rendering or delivering a PDF/HTML issue, load
references/layout-and-render-qa.md; loadreferences/design-presets.mdif any visual choice is involved. - Use elevated reasoning/Thinking when available (
xhighrecommended) for onboarding synthesis, story selection, editorial proof-reading, and final QA. - Gather user-provided sources first. Then use configured signal sources only when credentials/tools already exist or the user provides exported data.
- Treat bookmarks, reading-list entries, likes, saved items, and read-later queues as signals of intent, not automatically verified facts. Fetch/read linked content where possible and mark access limits.
- Write every article so it is understandable without seeing the original source, bookmark, or thread.
- Render HTML first, then PDF when possible. Create PNG previews/screenshots for every page and inspect them before delivery.
- If PDF rendering is unavailable, deliver the HTML and state the missing renderer clearly. Do not fake a PDF.
Personalization Gate
When a user asks to install, configure, “set this up”, create a recurring digest, or make their personal newspaper for the first time, the agent must start with onboarding questions. It may propose defaults, but it must not silently assume:
- newspaper title/subtitle/language;
- reader promise and intended use;
- topics and exclusions;
- source/signal mix, including whether to use X/Twitter bookmarks, browser reading lists/bookmarks, read-later apps, RSS/newsletters, web search, and pasted URLs;
- cadence/frequency and whether a cron/scheduled job should be created;
- delivery mode/channel and output format;
- design preset, density, page count, and image policy.
If the user wants speed, offer a concise suggested config and ask for confirmation/corrections before saving it or generating the first personalized issue. Never create a cron job, external delivery, or credentialed-source workflow without explicit approval.
Exception: if the user explicitly asks for a generic demo/sample, you may generate a clearly labeled demo issue with sample content. Do not present it as personalized.
Non-negotiable output standard
- The issue must read like a compact newspaper or magazine, not a link dump.
- Each issue needs an editorial spine: why these stories belong together now.
- Every article must contain: concrete event/claim, mechanism or argument, relevance/consequence, source/evidence boundary.
- No internal process language inside the newspaper: no TODOs, queues, QA notes, placeholders, automation commentary, or excuses.
- No filler boxes to patch layout holes. Empty side columns and lower thirds are layout failures; fix text or layout and render again.
- Sources must be cited discreetly under articles or in a source note. Links are proof, not the content.
Recommended files and scripts
references/onboarding.md: first-run setup flow, required Personalization Gate, and user-facing questions.references/config-schema.md: local configuration shape and copyable starter config.references/source-adapters.md: portable source/signal options including X bookmarks and browser reading lists.references/design-presets.md: newspaper naming, visual presets, and personalization knobs.assets/config.example.json: starter config the agent may copy into a local project outside the public skill; it is intentionally incomplete until onboarding is done.assets/newspaper-template/base.css: print CSS with theme/density tokens.assets/newspaper-template/issue-template.html: minimal issue structure with balanced side rails.scripts/check_config.py: validate local config before a recurring run.scripts/collect_sources.py: normalize pasted URL/title/note lists into a source manifest.scripts/render_issue.mjs: render HTML to PDF and PNG previews with Playwright when available.scripts/qa_text.py: scan visible HTML/text for common editorial and privacy failures.
Privacy and portability
This skill is deliberately generic. Do not include user-specific names, accounts, private topics, local paths, workspace memories, handles, credentials, or channel IDs in reusable skill files or generated public examples. Put user-specific settings in a local project config outside the skill.
Delivery checklist
Before final answer:
- Confirm onboarding is complete or explicitly state this is only a generic demo/sample.
- Confirm PDF/HTML artifact path exists.
- Confirm previews/screenshots were inspected page by page.
- Confirm text QA and config validation passed when applicable.
- Attach with an absolute
MEDIA:path when the channel supports attachments. - Mention any source access limitations in the message, not as an excuse inside the issue.
- If a publish/send/schedule action beyond delivering a local artifact is requested, require explicit approval.
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install non-annoying-news - 安装完成后,直接呼叫该 Skill 的名称或使用
/non-annoying-news触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
Non-Annoying News 是什么?
Create, configure, and render a source-grounded personal newspaper/news digest from URLs, bookmarks, X/Twitter bookmarks, browser reading lists/bookmarks, re... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 91 次。
如何安装 Non-Annoying News?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install non-annoying-news」即可一键安装,无需额外配置。
Non-Annoying News 是免费的吗?
是的,Non-Annoying News 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。
Non-Annoying News 支持哪些平台?
Non-Annoying News 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 Non-Annoying News?
由 iret77(@iret77)开发并维护,当前版本 v0.2.1。