npx skills add https://github.com/noizai/skills --skill daily-news-caster此技能允许智能体获取实时新闻,将其组织成对话式播客脚本,并生成朗读该脚本的音频文件。
当用户要求获取最新新闻并制作成播客时,请严格按照以下步骤操作:
验证工作区中(skills/ 或 .cursor/skills/ 目录下)是否存在 news-aggregator-skill 和 tts 技能。如果任一缺失,请告知用户未找到哪个(哪些)技能,并要求他们在继续之前手动安装。请勿尝试自动安装技能。
在 news-aggregator-skill 技能目录(例如 skills/news-aggregator-skill/scripts/fetch_news.py)中找到 fetch_news.py。如有需要,请阅读其 SKILL.md 以了解用法。
运行该脚本以获取实时新闻。您可以根据用户的请求指定来源(例如 hackernews、、)或关键词。示例命令:
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
githuballpython3 skills/news-aggregator-skill/scripts/fetch_news.py --source all --limit 10 --deep
读取获取的新闻数据,并将信息重写为Markdown播客脚本。关键是,优先采用双主持人(两人)对话形式(例如主持人A和主持人B),采用动态的问答风格。脚本应满足:
Host A: 或 Host B:)。将此脚本保存到名为 podcast_script.md 的本地文件中。
示例 podcast_script.md 内容:
**Host A:** Welcome to today's news roundup. We have some exciting tech updates today. To start things off, there's a big update from [Company Name]. What are the core implications of their new release for everyday users?
**Host B:** The main takeaway is that... [Insert concise answer and summary of News Item 1]. This completely changes how we approach [Topic].
**Host A:** That's fascinating. But does this new approach raise any security concerns, especially given recent data breaches?
**Host B:** Exactly. Experts are pointing out that... [Insert analysis or context].
**Host A:** Moving on to the open-source world, what's trending on GitHub today that developers should pay attention to?
**Host B:** A standout project is... [Insert concise summary of News Item 2].
**Host A:** Great insights. That's all for today's quick update. Thanks for tuning in!
为避免一次性将整个脚本发送到API,您必须逐句生成音频(一人一句地生成),然后将它们拼接起来。
使用本地 tts 技能中的 tts.py(skills/tts/scripts/tts.py)。阅读 tts 技能的 SKILL.md 以获取完整用法和后端选项。
1. 为每行生成音频:对于脚本中的每个对话行,运行 speak 命令。为相应的主持人使用适当的语音或参考音频。如果用户为两个角色提供了参考音频文件,请通过 --ref-audio 标志使用它们(需要 noiz 后端和 NOIZ_API_KEY)。没有 API 密钥时,可以使用访客模式语音(参见 tts SKILL.md 中的语音列表)。
python3 skills/tts/scripts/tts.py -t "Welcome to today's news roundup..." --ref-audio host_A.wav -o line_01.wav
python3 skills/tts/scripts/tts.py -t "The main takeaway is that..." --ref-audio host_B.wav -o line_02.wav
2. 拼接音频文件:创建一个文本文件(例如 list.txt),按顺序列出所有生成的音频文件:
file 'line_01.wav'
file 'line_02.wav'
然后使用 ffmpeg 将它们合并成一个播客音频文件:
ffmpeg -f concat -safe 0 -i list.txt -c copy podcast_output.wav
在完整音频生成并合并后,向用户呈现结果。您必须提供两部分内容:
podcast_output.wav 文件的路径,以便他们可以收听音频。此技能仅为指令性——它本身不包含可执行代码。在运行时,它协调来自两个依赖技能的脚本:
news-aggregator-skill/scripts/fetch_news.py(从公共来源获取新闻)和 tts/scripts/tts.py(生成语音音频)。在此技能运行之前,两者必须在本地存在;请查看它们的代码和 SKILL.md 以了解其网络行为和凭证要求的详细信息。tts 依赖项可能需要 NOIZ_API_KEY 用于语音克隆功能(noiz 后端);没有它,访客模式语音可以开箱即用。详情请参阅 tts 技能的 SKILL.md。noiz.ai。podcast_script.md、line_*.wav(每句临时音频)、list.txt(ffmpeg 拼接列表)、podcast_output.wav(最终输出)。所有文件都写入当前工作目录。每周安装量
1.2K
代码仓库
GitHub 星标数
405
首次出现
2026年3月6日
安全审计
安装于
opencode1.2K
cline1.2K
gemini-cli1.2K
kimi-cli1.2K
cursor1.2K
codex1.2K
This skill allows the agent to fetch real-time news, organize it into a conversational podcast script, and generate an audio file reading the script out loud.
When the user asks to get the latest news and make a podcast out of it, follow these steps strictly:
Verify that news-aggregator-skill and tts exist in the workspace (under skills/ or .cursor/skills/). If either is missing, inform the user which skill(s) are not found and ask them to install manually before proceeding. Do NOT attempt to install skills automatically.
Locate fetch_news.py from the news-aggregator-skill skill directory (e.g., skills/news-aggregator-skill/scripts/fetch_news.py). Read its SKILL.md to understand usage if needed.
Run the script to fetch real-time news. You can specify a source (e.g., hackernews, github, all) or keywords based on the user's request. Example command:
python3 skills/news-aggregator-skill/scripts/fetch_news.py --source all --limit 10 --deep
Read the fetched news data and rewrite the information into a Markdown podcast script. Crucially, prioritize a dual-host (two-person) conversational format (e.g., Host A and Host B) in a dynamic Q &A style. The script should be:
Host A: or Host B:).Save this script to a local file named podcast_script.md.
Examplepodcast_script.md Content:
**Host A:** Welcome to today's news roundup. We have some exciting tech updates today. To start things off, there's a big update from [Company Name]. What are the core implications of their new release for everyday users?
**Host B:** The main takeaway is that... [Insert concise answer and summary of News Item 1]. This completely changes how we approach [Topic].
**Host A:** That's fascinating. But does this new approach raise any security concerns, especially given recent data breaches?
**Host B:** Exactly. Experts are pointing out that... [Insert analysis or context].
**Host A:** Moving on to the open-source world, what's trending on GitHub today that developers should pay attention to?
**Host B:** A standout project is... [Insert concise summary of News Item 2].
**Host A:** Great insights. That's all for today's quick update. Thanks for tuning in!
To avoid sending the entire script to the API at once, you must generate the audio sentence by sentence (一人一句地生成) and then concatenate them.
Use tts.py from the local tts skill (skills/tts/scripts/tts.py). Read the tts skill's SKILL.md for full usage and backend options.
1. Generate Audio for Each Line : For each dialogue line in the script, run the speak command. Use the appropriate voice or reference audio for the respective host. If the user provided reference audio files for the two roles, use them via the --ref-audio flag (requires noiz backend and NOIZ_API_KEY). Without an API key, guest mode voices are available (see tts SKILL.md for the voice list).
python3 skills/tts/scripts/tts.py -t "Welcome to today's news roundup..." --ref-audio host_A.wav -o line_01.wav
python3 skills/tts/scripts/tts.py -t "The main takeaway is that..." --ref-audio host_B.wav -o line_02.wav
2. Concatenate the Audio Files : Create a text file (e.g., list.txt) listing all the generated audio files in order:
file 'line_01.wav'
file 'line_02.wav'
Then use ffmpeg to merge them into a single podcast audio file:
ffmpeg -f concat -safe 0 -i list.txt -c copy podcast_output.wav
After the full audio has been generated and merged, present the results to the user. You MUST provide both pieces of content:
podcast_output.wav file so they can listen to the audio.This skill is instruction-only — it contains no executable code itself. At runtime it orchestrates scripts from two dependency skills:
news-aggregator-skill/scripts/fetch_news.py (fetches news from public sources) and tts/scripts/tts.py (generates speech audio). Both must be present locally before this skill runs; review their code and SKILL.md for details on their network behavior and credential requirements.tts dependency may require NOIZ_API_KEY for voice-cloning features (noiz backend); without it, guest-mode voices work out of the box. See the tts skill's SKILL.md for details.noiz.ai only when the noiz backend is used.podcast_script.md, line_*.wav (temporary per-sentence audio), (ffmpeg concat list), (final output). All are written to the current working directory.Weekly Installs
1.2K
Repository
GitHub Stars
405
First Seen
Mar 6, 2026
Security Audits
Gen Agent Trust HubWarnSocketWarnSnykWarn
Installed on
opencode1.2K
cline1.2K
gemini-cli1.2K
kimi-cli1.2K
cursor1.2K
codex1.2K
头脑风暴技能:AI协作设计流程,将创意转化为完整规范与实施计划
75,000 周安装
list.txtpodcast_output.wav