837 tokens
context cost
the whole folder, loaded on every use
1
files
instructions only
0
copies elsewhere
how many repositories repackaged it
365
stars on the repo
on the repository, not the skill itself
Install
one command, takes just this skill from the repository
npx skills add https://github.com/cosmicstack-labs/mercury-agent-skills --skill daily-briefing
The instruction itself
13 sections, as written by the author
Daily AI Audio Briefing
> Automatically collect, deduplicate, summarize, and synthesize a daily tech briefing as a warm-voiced MP3 every morning.
Workspace
- Collection script + summarization/TTS script
- Output:
briefing/YYYY-MM-DD.mp3 + .txt
- Knowledge base:
brain/news/YYYY-MM-DD/
- Schedule: cron (recommended 8:30 AM)
Workflow
- Collect — Scrape GitHub trending/rising, HN top/show/new, arXiv latest AI papers, weather
- Deduplicate — Compare against
brain/news/ existing entries
- New project → mark
is_new
- Growth >30% → mark
is_update
- Otherwise → discard
- Ingest — Write new entries to
brain/news/YYYY-MM-DD/
- Summarize — AI composes briefing script from filtered JSON
- Synthesize — TTS API → MP3 file
- Cleanup — Delete briefings older than 7 days
Rules
- Don't use shell-level file deletion (
find -delete) — may trigger security scanners; use Python Path.unlink()
- Don't assume cron environment has API keys loaded — export them before running scripts
- Don't use inline
python3 -c or heredocs in agent/cron mode — write to .py files first
- Don't trust agent-reported "MP3 generated" — verify mtime with
stat after TTS step
- Don't let each source exceed 8 items — keeps briefing concise
Validation
- [ ] Collection script runs successfully, all sources return data
- [ ] After dedup, filtered items ≥ 3
- [ ] Generated briefing text contains correct date (no placeholders)
- [ ] MP3 mtime matches current time (TTS actually ran)
Pitfalls
Date placeholders not replaced (Fixed: 2026-05-12)
- Symptom: Briefing shows "Year X Month X" instead of actual date
- Root cause: Prompt didn't inject real date, AI made it up
- Fix: Inject
datetime.date.today() into summarization prompt
Wrong weather source (Fixed: 2026-05-12)
- Symptom: Always reports wrong city/temperature format
- Root cause: Source only provided real-time temp, no high/low
- Fix: Switch to structured weather API with high/low temp
Cron security scanner false positives
- Symptom: Prompt blocked by exfil_curl pattern
- Fix: Mark trusted cron job with
skip_injection_scan: true
Cron environment missing .env
- Symptom: TTS fails with "Missing credentials"
- Fix: Export API keys before script execution
Model reasoning field empty content
- Symptom: Reasoning model puts output in
reasoning field, content is empty
- Fix: Set generous
max_tokens + retry with assistant message on empty content
TTS text length limit
- Symptom: Long text causes unstable TTS output
- Fix: Auto-truncate at safe threshold (~3000 chars)
References
references/weather-api.md — Weather data source and format
references/dedup-rules.md — Deduplication strategy and thresholds
references/tts-config.md — TTS model and parameters
references/cron-prompt-template.md — Cron job prompt template