skills/milan-news-briefing/SKILL.md
Generate a mature daily Milan news brief in Chinese using Python with weather, 20-day strike check, Italian media headlines, world news, AI news, and Milan events; persist daily outputs with dedup so next-day reports avoid repeats; manage RSS/API source pipelines. Use when the user asks to create, run, debug, or extend the Milan briefing workflow, especially for OpenClaw skill-style automation.
npx skillsauth add VulcanusALex/News-report-generator milan-news-briefingInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Run the briefing pipeline and manage sources with deterministic scripts.
python3 -m venv .venv && source .venv/bin/activate && pip install -r requirements.txtpython -m src.news_briefing.mainpython -m src.news_briefing.main --dry-runEurope/Rome) when --date is omitted.python skills/milan-news-briefing/scripts/run_briefing.py --layout editorial --section-order weather,strikes,ai_news,world_news,italian_news,milan_eventspython skills/milan-news-briefing/scripts/run_briefing.py --output-format jsonUse scripts/manage_sources.py in this skill folder.
python skills/milan-news-briefing/scripts/manage_sources.py list
python skills/milan-news-briefing/scripts/manage_sources.py --json listpython skills/milan-news-briefing/scripts/manage_sources.py add --section ai_news --name "Example AI" --type rss --url "https://example.com/rss.xml"python skills/milan-news-briefing/scripts/manage_sources.py add --section strikes --name "Strike API" --type json --url "https://example.com/strikes" --parser italy_transport_strikes_v1python skills/milan-news-briefing/scripts/manage_sources.py add --section strikes --name "Strike HTML" --type html --url "https://example.com/strikes-page" --parser italy_mit_strikes_html_v1python skills/milan-news-briefing/scripts/manage_sources.py remove --section world_news --name "BBC World"Use scripts/daily_ops.py for daily automation.
python skills/milan-news-briefing/scripts/daily_ops.py --auto-degrade --max-retries 2 --retry-delay 120python skills/milan-news-briefing/scripts/daily_ops.py --auto-degrade --alert-webhook "https://example.com/webhook"python skills/milan-news-briefing/scripts/daily_ops.py --print-cron --cron-hour 7 --cron-minute 0python skills/milan-news-briefing/scripts/daily_ops.py --alert-webhook "https://example.com/webhook" --alert-successpython skills/milan-news-briefing/scripts/daily_ops.py --skip-precheckUse scripts/manage_cron.py to manage one tagged cron entry.
python skills/milan-news-briefing/scripts/manage_cron.py install --hour 7 --minute 0
python skills/milan-news-briefing/scripts/manage_cron.py install --hour 7 --minute 0 --timezone Europe/Rome
python skills/milan-news-briefing/scripts/manage_cron.py install --hour 7 --minute 0 --timezone Europe/Rome --layout editorial --output-format markdownpython skills/milan-news-briefing/scripts/manage_cron.py install --hour 7 --minute 0 --webhook "https://example.com/webhook"python skills/milan-news-briefing/scripts/manage_cron.py show
python skills/milan-news-briefing/scripts/manage_cron.py --json showpython skills/milan-news-briefing/scripts/manage_cron.py removepython skills/milan-news-briefing/scripts/check_feeds.py --timeout 12 --write-report output/logs/feed-health.jsonpython skills/milan-news-briefing/scripts/validate_stack.py --skip-networkpython skills/milan-news-briefing/scripts/validate_stack.pyconfig/sources.yaml as source-of-truth.count at 5 for stable daily format unless user asks otherwise.data/briefing.db; do not clear it unless user asks to reset dedup history.output/logs/ after failures and use webhook payload tail for quick triage.--auto-degrade in production cron to bypass temporary source outages.--json flags on management scripts when an agent needs machine-readable state.src/news_briefing/parse.py.src/news_briefing/pipeline.py parser maps.config/sources.yaml source item.Read references/source_schema.md before adding JSON-based sources.
tools
Generate a mature daily Milan news brief in Chinese using Python with weather, 20-day strike check, Italian media headlines, world news, AI news, and Milan events; persist daily outputs with dedup so next-day reports avoid repeats; manage RSS/API source pipelines. Use when the user asks to create, run, debug, or extend the Milan briefing workflow, especially for OpenClaw skill-style automation.
tools
Use when work should span one or more detached tasks but still behave like one job with a single owner context. TaskFlow is the durable flow substrate under authoring layers like Lobster, ACPX, plugins, or plain code. Keep conditional logic in the caller; use TaskFlow for flow identity, child-task linkage, waiting state, revision-checked mutations, and user-facing emergence.
tools
# Lobster Lobster executes multi-step workflows with approval checkpoints. Use it when: - User wants a repeatable automation (triage, monitor, sync) - Actions need human approval before executing (send, post, delete) - Multiple tool calls should run as one deterministic operation ## When to use Lobster | User intent | Use Lobster? | | ------------------------------------------------------ | --------------------------
tools
# Lobster Lobster executes multi-step workflows with approval checkpoints. Use it when: - User wants a repeatable automation (triage, monitor, sync) - Actions need human approval before executing (send, post, delete) - Multiple tool calls should run as one deterministic operation ## When to use Lobster | User intent | Use Lobster? | | ------------------------------------------------------ | --------------------------