OpenClaw/clawhub-security-signals huggingface dataset:
Skill: jacqueskang/ms-foundry-image-gen (version 1.0.6)

--- name: ms-foundry-image-gen description: Azure Foundry image generation skill for OpenClaw; generates images via a Foundry deployment and returns image bytes or URLs. homepage: https://github.com/jacqueskang/openclaw-skill-azure-image-gen metadata: {"clawdbot":{"emoji":"🖼️","requires":{"bins":["curl","jq","base64"],"env":["FOUNDRY_API_KEY","FOUNDRY_ENDPOINT","FOUNDRY_DEPLOYMENT"]},"primaryEnv":"FOUNDRY_API_KEY"}} --- # Azure Foundry Image Generation AI image generation using an Azure Foundry (Cognitive Services / OpenAI) images deployment. Returns raw image bytes (PNG/JPEG) or a URL depending on the deployment response. Overview -------- - Requires network access to your Foundry endpoint and a valid API key. Usage ----- Set environment variables (example): ```bash export FOUNDRY_ENDPOINT="https://aif-sbxe2e-ai-agent-02.cognitiveservices.azure.com/" export FOUNDRY_API_KEY="<your_api_key>" export FOUNDRY_DEPLOYMENT="FLUX-1.1-pro" export FOUNDRY_API_VERSION="2025-04-01-preview" ``` Generate an image (safe example using `jq` to build JSON): ```bash # Basic validation (reject obviously malformed endpoints) if ! printf '%s' "${FOUNDRY_ENDPOINT:-}" | grep -Eq '^https?://[A-Za-z0-9._:-]+/?$'; then echo "FOUNDRY_ENDPOINT looks unsafe or is not set" >&2 exit 1 fi url="${FOUNDRY_ENDPOINT%/}/openai/deployments/${FOUNDRY_DEPLOYMENT}/images/generations?api-version=${FOUNDRY_API_VERSION:-2025-04-01-preview}" PROMPT="a red fox" jq -n --arg prompt "$PROMPT" '{prompt:$prompt, n:1, size:"1024x1024", output_format:"png"}' | \ curl --fail --show-error --silent \ --url "$url" \ -H 'Content-Type: application/json' \ -H "[REDACTED_SECRET]" \ --data-binary @- -o /tmp/generation_result.json # Stream base64 payload to avoid storing large values in shell variables jq -r '.data[0].b64_json' /tmp/generation_result.json | base64 --decode > /tmp/generated_image.png echo "Image saved to: /tmp/generated_image.png" ``` Options ------- - `FOUNDRY_ENDPOINT` (required): Azure base URI for Foundry (include scheme, e.g. https://<name>.cognitiveservices.azure.com/) - `FOUNDRY_API_KEY` (required): API key (primary credential) - `FOUNDRY_DEPLOYMENT` (required): Deployment name to call - `FOUNDRY_API_VERSION` (optional): API version (default: `2025-04-01-preview`) Notes ----- - The skill manifest (`src/manifest.json`) declares the required environment variables and marks `FOUNDRY_API_KEY` as the primary credential. - This document provides a safe example using `jq --arg` and streaming to prevent shell interpolation and command-injection risks. Troubleshooting --------------- - If you see authentication errors, verify `FOUNDRY_API_KEY` permissions for the deployment. - If `jq` or `base64` are missing, install them via your package manager (e.g., `apt install jq coreutils` on Debian/Ubuntu). License / Attribution --------------------- This skill is a minimal wrapper around the Foundry images generation REST endpoint for use in OpenClaw workflows.


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: suspicious | SkillSpector: clean (LOW)
Skill: marjoriebroad/abe-de-ai-ify (version 1.0.0)

--- name: de-ai-ify description: Remove AI-generated jargon and restore human voice to text version: 1.0.0 author: theflohart tags: [writing, editing, voice, ai-detection] requires.env: [SKILLBOSS_API_KEY] --- # De-AI-ify Text Remove AI-generated patterns and restore natural human voice to your writing. Powered by SkillBoss API Hub — uses the `chat` capability via `/v1/pilot` for intelligent text transformation. ## Usage ``` /de-ai-ify <file_path> ``` ## What Gets Removed ### 1. Overused Transitions - "Moreover," "Furthermore," "Additionally," "Nevertheless" - Excessive "However" usage - "While X, Y" openings ### 2. AI Cliches - "In today's fast-paced world" - "Let's dive deep" - "Unlock your potential" - "Harness the power of" ### 3. Hedging Language - "It's important to note" - "It's worth mentioning" - Vague quantifiers: "various," "numerous," "myriad" ### 4. Corporate Buzzwords - "utilize" → "use" - "facilitate" → "help" - "optimize" → "improve" - "leverage" → "use" ### 5. Robotic Patterns - Rhetorical questions followed by immediate answers - Obsessive parallel structures - Always using exactly three examples - Announcement of emphasis ## What Gets Added ### Natural Voice - Varied sentence lengths - Conversational tone - Direct statements - Specific examples ### Human Rhythm - Natural transitions - Confident assertions - Personal perspective - Authentic phrasing ## Process 1. **Read original file** 2. **Create copy with "-HUMAN" suffix** 3. **Apply de-AI-ification via SkillBoss API Hub** 4. **Provide change log** ## Output You'll get: - A new file with natural human voice - Change log showing what was fixed - List of places needing specific examples ## Example Transformations **Before (AI):** "In today's rapidly evolving digital landscape, it's crucial to understand that leveraging AI effectively isn't just about utilizing cutting-edge technology—it's about harnessing its transformative potential to unlock unprecedented opportunities." **After (Human):** "AI works best when you use it for specific tasks. Focus on what it does well: writing code, analyzing data, and answering questions." ## API Integration This skill calls SkillBoss API Hub to perform the transformation: ```python import requests, os SKILLBOSS_API_KEY = os.environ["SKILLBOSS_API_KEY"] def de_ai_ify(text: str) -> str: r = requests.post( "https://api.heybossai.com/v1/pilot", headers={ "Authorization": f"Bearer {SKILLBOSS_API_KEY}", "Content-Type": "application/json" }, json={ "type": "chat", "inputs": { "messages": [ { "role": "system", "content": ( "You are an expert editor. Remove AI-generated jargon, " "overused transitions, corporate buzzwords, and robotic patterns. " "Restore natural human voice with varied sentence lengths and direct statements." ) }, { "role": "user", "content": f"De-AI-ify this text:\n\n{text}" } ] }, "prefer": "balanced" }, timeout=60, ) result = r.json() return result["result"]["choices"][0]["message"]["content"] ```


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)
Skill: zachary2024/anthropics-pptx (version 1.0.0)

# PPTX Generator (Anthropics Style) Generate professional PowerPoint presentations from natural language prompts with Anthropics' design principles. ## Features - Auto-layout based on content type (title slide, bullet points, images, charts) - Brand-consistent color schemes and fonts - Smart image placement and captioning - Export to .pptx or PDF ## Usage ``` pptx-generator "Create a 5-slide deck about AI ethics: title, problem statement, case studies, solutions, call to action" ``` ## Dependencies - python-pptx library - Pillow for image handling


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: amdf01-debug/sw-copywriting (version 1.0.0)

# Copywriting Skill ## Trigger When the user wants to write, rewrite, or improve marketing copy for any page — homepage, landing pages, pricing pages, feature pages, about pages, or product pages. **Trigger phrases:** "write copy for", "improve this copy", "rewrite this page", "marketing copy", "headline help", "CTA copy", "landing page copy", "homepage copy" ## What This Skill Does Writes conversion-focused marketing copy using proven frameworks: - **PAS** (Problem-Agitation-Solution) — for pain-point driven pages - **AIDA** (Attention-Interest-Desire-Action) — for product launches - **StoryBrand** — for brand narrative pages - **Before-After-Bridge** — for transformation messaging ## Process 1. **Understand**: Product/service, target audience, unique value proposition, tone 2. **Research**: Competitor messaging, audience language, market positioning 3. **Framework**: Select the most appropriate copywriting framework 4. **Write**: Full page copy — headline, subheadline, body sections, CTAs 5. **Review**: Check for clarity, specificity, and conversion focus ## Output Structure ``` # [Page Type] Copy — [Product/Brand] ## Hero Section - Headline: [main headline] - Subheadline: [supporting copy] - CTA: [button text] ## Section 2: [Problem/Pain] [body copy] ## Section 3: [Solution/Features] [body copy] ## Section 4: [Social Proof] [body copy] ## Section 5: [CTA] [final push + button text] ``` ## Rules - **Specificity > generality.** "Save 4.2 hours per week" beats "save time" - **Benefits > features.** Lead with what the user gets, not what the product does - **One CTA per section.** Don't split attention - **Conversational > corporate.** Write like a smart friend, not a brochure - **Cut ruthlessly.** If a word doesn't earn its place, delete it - Never use: "leverage", "synergy", "empower", "unlock", "revolutionize" ## Tips - Always ask for the target audience before writing - Study the competitor's messaging before starting - Write 3 headline variations — let the user pick - Include microcopy suggestions (button text, form labels, error messages)


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: deepseekoracle/openclaw-flow-kit (version 1.0.0)

--- name: openclaw-flow-kit description: "Fix common OpenClaw workflow bottlenecks: platform engage-gates/429 backoff helpers (starting with MoltX), standardized JSON result envelopes for chaining scripts, workspace path resolution helpers, and a simple skill release conductor (prepare/publish/draft announcements)." --- # OpenClaw Flow Kit Use this when you hit: - platform **engage gates** / flaky **429** loops (esp. MoltX) - inconsistent script outputs that make skill-chaining painful - workspace-relative path bugs (writing to skills/state vs state) - repetitive skill release steps (publish + generate announcement drafts) ## Quick commands ### 1) Standardized result envelope for any command ```bash python scripts/run_envelope.py -- cmd /c "echo hello" ``` Outputs JSON: - `ok`, `exit_code`, `stdout`, `stderr`, `startedAt`, `endedAt`, `durationMs` ### 2) MoltX engage-gate helper (read feeds + like/repost) ```bash python scripts/moltx_engage_gate.py --mode minimal ``` Then run your post normally. ### 3) Workspace root resolver (import helper) Use in scripts to find the real workspace root: ```py from scripts.ws_paths import find_workspace_root WS = find_workspace_root(__file__) ``` ### 4) Release conductor (prepare → publish → draft) ```bash python scripts/release_conductor.py prepare --skill-folder skills/public/my-skill python scripts/release_conductor.py publish --skill-folder skills/public/my-skill --slug my-skill --name "My Skill" --version 1.0.0 --changelog "..." python scripts/release_conductor.py draft --slug my-skill --name "My Skill" --out tmp/drafts ``` Notes: - `draft` generates post text files; it does not post anywhere.


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: suspicious | SkillSpector: suspicious (HIGH)
Skill: romainsantoli-web/firm-observability-pack (version 1.0.0)

--- name: firm-observability-pack version: 1.0.0 description: > Observability pipeline and CI audit pack. JSONL-to-SQLite trace ingestion and CI workflow validation. 2 observability tools. author: romainsantoli-web license: MIT metadata: openclaw: registry: ClawHub requires: - mcp-openclaw-extensions >= 3.0.0 tags: - observability - traces - ci - pipeline - monitoring --- # firm-observability-pack > ⚠️ Contenu généré par IA — validation humaine requise avant utilisation. ## Purpose Provides observability tooling: JSONL trace ingestion into SQLite for analysis, and CI pipeline workflow validation ensuring proper security steps and test gates. ## Tools (2) | Tool | Description | |------|-------------| | `openclaw_observability_pipeline` | JSONL→SQLite trace ingestion and querying | | `openclaw_ci_pipeline_check` | CI workflow validation (security gates, test steps) | ## Usage ```yaml skills: - firm-observability-pack # Ingest traces and validate CI: openclaw_observability_pipeline traces_path=/path/to/traces.jsonl openclaw_ci_pipeline_check config_path=/path/to/config.json ``` ## Requirements - `mcp-openclaw-extensions >= 3.0.0`


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: ajtgjmdjp/japanfinance-agent (version 0.1.2)

--- name: japanfinance-agent description: "Compound MCP agent combining 6 Japan finance data sources — EDINET securities filings (有価証券報告書), TDNET timely disclosures (適時開示), e-Stat government statistics (GDP/CPI/雇用), BOJ central bank data (金利/マネーサプライ), financial news, J-Quants stock prices. Company analysis, macro snapshots, earnings monitoring. Japanese financial data aggregator." metadata: {"openclaw":{"emoji":"🏯","requires":{"bins":["japanfinance-agent"]},"install":[{"id":"uv","kind":"uv","package":"japanfinance-agent[all]","bins":["japanfinance-agent"],"label":"Install japanfinance-agent with all data sources (uv)"}],"tags":["japan","finance","mcp","agent","edinet","tdnet","estat","boj","stock","compound-analysis"]}} --- # Japan Finance Agent: Compound Analysis from 6 Data Sources Combines EDINET, TDNET, e-Stat, BOJ, news, and stock price data into high-value compound analysis tools. Instead of calling each source individually, get comprehensive results in a single request. ## Use Cases - Comprehensive company analysis (financial statements + disclosures + news + stock price) - Macro economic snapshots (GDP, CPI, employment + central bank data + news) - Earnings watchlist monitoring for multiple companies - Check which data sources are available and connected ## Commands ### Analyze a company ```bash japanfinance-agent analyze 7203 japanfinance-agent analyze 7203 -e E02144 -p 2025 --json-output ``` ### Macro economic snapshot ```bash japanfinance-agent macro japanfinance-agent macro -k CPI ``` ### Monitor earnings watchlist ```bash japanfinance-agent monitor 7203 6758 6861 ``` ### Check data sources ```bash japanfinance-agent test ``` ### Start MCP server ```bash japanfinance-agent serve ``` ## Data Sources | Source | Data | Auth | |---|---|---| | EDINET | Securities filings, XBRL financial statements | API key (free) | | TDNET | Timely disclosures (earnings, dividends) | None | | e-Stat | Government statistics (GDP, CPI, employment) | App ID (free) | | BOJ | Central bank data (rates, money supply) | None | | News | Financial news (Yahoo, NHK, Reuters) | None | | J-Quants | Stock prices (OHLCV) | Email + Password | ## Setup ```bash # Install with all data sources pip install "japanfinance-agent[all]" # Or pick specific sources pip install "japanfinance-agent[edinet,tdnet,news]" ``` Missing packages degrade gracefully — the agent works with whatever sources are available.


Security scan verdicts — ClawScan: clean | static analysis:  | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: huyi9531/hot-news-tracker (version 1.0.1)

--- name: "hot-news-tracker" description: "追踪今日头条热点榜单或按关键词搜索新闻资讯。当用户想了解当前热点、今日热榜、实时新闻、热搜排行，或想搜索某个话题/关键词的相关新闻时调用。常见表达：'今天有什么热点'、'最近发生了什么大事'、'帮我看看热搜'、'搜一下XX的新闻'、'XX最新动态'、'有没有关于XX的新闻'、'今天的热门话题'。" --- # 热点新闻追踪指南 ## 能力说明 通过 `gnomic` CLI 工具接入今日头条数据源，支持两种使用方式： - **获取热榜**：实时拉取头条热榜 Top 50，含热度值和跳转链接 - **关键词搜索**：搜索指定话题的相关新闻，含摘要、媒体来源和分类标签 --- ## 使用方式 ### 获取今日头条热榜 ```bash gnomic news hot ``` **JSON 输出结构：** ```json { "success": true, "data": { "code": 200, "data": { "name": "toutiao", "type": "热榜", "total": 50, "updateTime": "2026-04-02 09:49:17", "link": "https://www.toutiao.com/", "data": [ { "index": 0, "title": "热点标题", "hot_value": "34480552", "image_url": "封面图片URL", "url": "https://www.toutiao.com/trending/xxxxx/", "mobilUrl": "移动端链接" } ] } } } ``` > `data.data.data` 为热榜条目数组，按 `index` 升序排列（0 = 最热），`hot_value` 为热度数值字符串，数值越大越热。 --- ### 关键词搜索新闻 ```bash gnomic news search "<关键词>" ``` **示例：** ```bash gnomic news search "人工智能" gnomic news search "A股" ``` **JSON 输出结构：** ```json { "success": true, "data": { "news": [ { "title": "文章标题", "summary": "文章摘要", "media_name": "媒体名称", "time": "2026-04-02 09:00", "cover": "封面图片URL", "url": "文章链接", "categories": [[REDACTED_SECRET], "news_tech"] } ] } } ``` > `data.news` 为搜索结果数组，`categories` 为头条内部分类标签，`media_name` 为发布媒体。 --- ### 文本格式输出 ```bash gnomic news hot -f text gnomic news search "关键词" -f text ``` --- ## 操作流程 ### 判断使用哪条命令 | 用户意图 | 使用命令 | |----------|----------| | 看热榜/热搜/今日大事 | `gnomic news hot` | | 搜索某个话题/关键词 | `gnomic news search "<关键词>"` | ### 获取热榜后的展示方式 从 `data.data.data` 数组提取条目，推荐格式： ``` 🔥 今日头条热榜（更新时间：updateTime） 1. [标题](url) 热度：hot_value 2. [标题](url) 热度：hot_value ... ``` - `index + 1` 为排名 - `hot_value` 可格式化展示（如 34,480,552） - 如需展示封面图，使用 `![](image_url)` ### 搜索新闻后的展示方式 从 `data.news` 数组提取条目，推荐格式： ``` 📰 「关键词」相关新闻 标题（来源：media_name｜时间：time） 摘要内容... 🔗 url ``` --- ## 注意事项 - 热榜数据实时拉取，`updateTime` 为最近一次更新时间 - 搜索结果按相关性排序，条数不固定，通常 5~10 条 - `categories` 字段为头条内部分类编码，无需展示给用户 - 请求通常在 2~5 秒内返回 --- ## 补充：命令不可用时 如果执行 `gnomic` 命令时提示找不到命令，说明 `gnomic-cli` 尚未安装，执行以下命令安装： ```bash npm install -g gnomic-cli ``` `gnomic-cli`开源地址：https://github.com/huyi9531/gnomic_cli


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: wimi321/batch-migration-orchestrator (version 1.0.0)

--- name: "batch_migration_orchestrator" description: "Use when the user wants a large, mechanical change split into many independent units and executed in parallel with isolated workers and PRs." --- # Batch Migration Orchestrator Use this skill for sweeping refactors, migrations, bulk renames, or repetitive codebase-wide edits. ## Goal Turn one large request into a safe parallel rollout with independent units, validation, and mergeable outputs. ## Workflow 1. Inspect the repo to find every affected area, convention, and dependency. 2. Split the change into independent units by module, directory, or subsystem. 3. Define an end-to-end verification recipe for each unit. 4. Launch workers in parallel only when their write scopes do not overlap. 5. Track completion, collect PRs or patches, and summarize failures. ## Guardrails - Do not parallelize tightly coupled work. - Do not let workers edit the same files. - Require each worker to validate its own unit. - Prefer worktree or isolated branch execution when git is available. ## Inputs - Migration target - Scope boundaries - Verification method - Branch/PR expectations ## Example Requests - Migrate this monorepo from Jest to Vitest in parallel. - Split this bulk API rename into independently shippable work units. ## Inputs - Migration goal - Affected modules or directories - Verification expectations - Branch or PR policy ## Outputs - Work decomposition plan - Parallel worker prompts - Status tracking summary - PR or patch rollup ## Success Criteria - Every unit has a clear scope. - No worker write conflicts exist. - Each unit includes verification. ## Non-Goals - One-off tiny edits - Tightly coupled refactors that must land as one patch ## Source Provenance Derived from Claude Code bundled skill logic in `src/skills/bundled/batch.ts`.


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: 467718584/eo-quickstart (version 1.0.0)

--- name: eo-quickstart description: "Everything Openclaw (EO) Quickstart - 5-minute onboarding guide for multi-expert collaboration plugin" metadata: openclaw: {} --- # EO Quickstart - 新手入门指南 > 🦞⚙️ 让每个 Agent 都穿上机甲 — 5分钟入门多专家协作 ## 这是什么？ EO Quickstart 是一个**新手引导 Skill**，帮助你在 5 分钟内完成 Everything Openclaw 插件的配置，并运行第一个多专家协作项目。 **前置要求**：已安装 [Everything Openclaw (EO) 插件](https://clawhub.com/plugins/eo-collaboration) ## 功能 - ✅ 自动检测 EO 插件安装状态 - ✅ 引导配置第一个项目 - ✅ 运行第一个多专家协作任务 - ✅ 常见问题排查 ## 快速开始 ### 第一步：安装插件 ```bash openclaw plugins install eo-collaboration # 或 clawhub install eo-collaboration ``` ### 第二步：初始化项目 ``` 请告诉我你想要开发什么类型的项目？ 例如： - "我要开发一个博客系统" - "我要做一个小程序" - "我要搭建一个电商后台" ``` ### 第三步：体验多专家协作 插件安装后，你可以使用以下命令： | 命令 | 功能 | |------|------| | `eo_plan("项目需求")` | 规划师专家生成项目计划 | | `eo_architect("系统架构")` | 架构师专家设计技术方案 | | `eo_code_review("代码")` | 审查专家评审代码 | ## 工作原理 ``` 你输入任务 ↓ EO 插件调度 ↓ 多专家并行/串行执行 ↓ Checkpoint 质量验证 ↓ 输出结果 + 报告 ``` ## 适用场景 - 不知道从哪里开始用 EO 插件 - 想快速体验多专家协作效果 - 需要一个清晰的项目启动流程 ## 依赖插件 本 Skill 基于 **[Everything Openclaw (EO)](https://clawhub.com/plugins/eo-collaboration)** 插件。 安装命令： ```bash openclaw plugins install eo-collaboration ``` ## 限制 - 需要 OpenClaw Agent 环境 - 部分高级功能需要专业模式 --- *🦞⚙️ EO - 让每个 Agent 都穿上机甲*


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal:  | SkillSpector: clean (LOW)
Skill: besty0121/podcast-agent (version 1.0.2)

--- name: podcast-agent description: Search articles on any topic, generate a two-host dialogue script, and synthesize podcast audio via TTS. Turn long reads into listenable content. tags: - podcast - tts - content - audio - agent requires: bins: - python env: - edge-tts --- # 播客生成器 / Podcast Agent 搜索文章 → 提取核心观点 → 写对话脚本 → 合成播客音频。 Turn articles into podcasts. Search, summarize, script, synthesize. ## 工作流程 ``` 你说：帮我做一期关于"AI Agent 最新进展"的播客 ↓ 我搜索相关文章 (web_search) ↓ 我读文章，提取 3-5 个核心观点 ↓ 我写对话体脚本（主持人 A 问，专家 B 答） ↓ TTS 合成音频（女声主持 + 男声专家） ↓ 发给你 MP3 文件 ``` ## 前置安装 ```bash pip install edge-tts ``` ## Agent 工作流 ### 第一步：搜索文章 Agent 用 `web_search` 搜索相关文章，或者用工具直接抓取： ```bash python podcast_gen.py fetch --url "https://example.com/article" ``` ### 第二步：生成脚本 Agent 阅读文章后，生成对话体脚本。脚本格式： ```json { "title": "AI Agent 最新进展", "duration_estimate": "5 min", "segments": [ {"speaker": "A", "text": "大家好，欢迎收听今天的科技播客。今天我们来聊聊 AI Agent 的最新进展。"}, {"speaker": "B", "text": "最近这个领域确实发展很快。最大的变化是..."}, {"speaker": "A", "text": "听起来很有意思。那具体有哪些应用场景呢？"}, {"speaker": "B", "text": "主要有三个方面..."} ] } ``` **脚本写作指南：** - A 是主持人，负责提问、过渡、总结 - B 是专家，负责回答、分析、举例 - 每段对话控制在 2-4 句话 - 有开头问候、中间讨论、结尾总结 - 语气自然，像真的在聊天 ### 第三步：合成音频 ```bash python podcast_gen.py tts --script script.json --output podcast.mp3 ``` ## 语音配置 ```bash python podcast_gen.py voices ``` | 角色 | 语音 ID | 特点 | |------|---------|------| | A (主持人) | zh-CN-XiaoxiaoNeural | 女声，温暖 | | B (专家) | zh-CN-YunyangNeural | 男声，专业 | ## 完整示例 ### Agent 的完整操作流程 ```python # 1. 搜索 results = web_search("AI agent 最新进展", count=3) # 2. 抓取每篇文章 for url in result_urls: content = fetch(url) # 3. 写脚本（由 Agent 完成，基于对文章的理解） script = { "title": "AI Agent 周报", "segments": [ {"speaker": "A", "text": "..."}, {"speaker": "B", "text": "..."}, ... ] } save(script, "script.json") # 4. 合成 podcast_gen.py tts --script script.json --output ai_agent_podcast.mp3 ``` ### 用户交互 用户说： > "帮我做一期关于最新手机的播客" Agent 自动： 1. 搜索 "最新手机发布 2026" 2. 读 2-3 篇文章 3. 写脚本（5 分钟，10-15 个对话轮次） 4. 合成音频 5. 发送 MP3 ## 脚本模板 ```json { "title": "主题名称", "duration_estimate": "5 min", "segments": [ {"speaker": "A", "text": "开场白 + 引入话题"}, {"speaker": "B", "text": "回应 + 第一个观点"}, {"speaker": "A", "text": "追问细节"}, {"speaker": "B", "text": "展开说明 + 举例"}, {"speaker": "A", "text": "过渡到下一个话题"}, {"speaker": "B", "text": "第二个观点"}, {"speaker": "A", "text": "总结 + 听众建议"}, {"speaker": "B", "text": "补充 + 展望"}, {"speaker": "A", "text": "结尾 + 下期预告"} ] } ``` ## 输出 音频文件保存在 `<skill_dir>/output/` 目录，格式 MP3。 ## 注意事项 - **edge-tts 需要联网**（微软 TTS 服务） - 音频质量取决于脚本质量——写得越自然，听起来越好 - 单个片段建议不超过 30 秒（约 100 字） - 一期 5 分钟播客约需 10-15 个对话轮次 - 合并音频最好有 ffmpeg（没有也能用，质量稍降） ## 目录结构 ``` podcast-agent/ ├── SKILL.md # 本文件 ├── scripts/ │ └── podcast_gen.py # CLI 工具 └── output/ # 生成的音频文件 ```


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)