Skills news-collect
Run a repo-local scan through `skills/news-aggregator-skill`, then normalize the result into a local report contract for the collect layer. Use when Codex needs a broad overseas or domestic media scan, wants a repeatable `news-report.md`, or needs raw JSON archived under `content-production/inbox/raw/news/`.
install
source · Clone the upstream repo
git clone https://github.com/openclaw/skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/abigale-cyber/news-collect" ~/.claude/skills/openclaw-skills-news-collect && rm -rf "$T"
OpenClaw · Install into ~/.openclaw/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.openclaw/skills && cp -r "$T/skills/abigale-cyber/news-collect" ~/.openclaw/skills/openclaw-skills-news-collect && rm -rf "$T"
manifest:
skills/abigale-cyber/news-collect/SKILL.mdsource content
News Collect
Use the repo-local
news-aggregator-skill as a dependency, but always write outputs using this project's collect-layer contract. The report now includes lightweight写作决策字段 for recommended topics.
Quick Start
Run the default command:
.venv/bin/python -m skill_runtime.cli run-skill news-collect --input content-production/inbox/20260405-ai-news-request.md
Prepare Input
Pass a markdown request file with YAML frontmatter.
Supported fields:
:profile
/mixed_daily
/global_latest
/global_ai
/cn_mediacustom
: only used whensourcesprofile=customkeywordlimitdeeptitle
Example:
--- profile: mixed_daily keyword: AI,Agent limit: 8 deep: true title: AI 每日资讯扫描 --- 补充说明:更关注能延展成公众号观点文的题目。
Follow Collection Workflow
- Read the request frontmatter and resolve the source profile.
- Call
withskills/news-aggregator-skill/scripts/fetch_news.py
.--no-save - Save the raw JSON to the local inbox raw directory.
- Rewrite the result into a stable markdown report for人工选题与后续深研。
- For recommended items, also emit写作价值判断、推荐切口、推荐框架与标题方向。
Write Output
Write the report to:
content-production/inbox/YYYYMMDD-<slug>-news-report.md
Write the raw JSON to:
content-production/inbox/raw/news/YYYY-MM-DD/<slug>.json
Respect Constraints
- Only read the repo-local dependency under
skills/news-aggregator-skill/ - Do not save outputs back into the vendor skill directory
- Keep the wrapper contract stable even if the vendor skill adds new sources later
Read Related Files
- Runtime entry:
skill_runtime/engine.py - Wrapper runtime:
skills/news-collect/runtime.py - Vendor dependency:
skills/news-aggregator-skill/ - Data contract:
docs/data-contracts.md