Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/comisai/comis/podcast-generationnpx skills add comisai/comis --skill podcast-generationgit clone --depth 1 https://github.com/comisai/comisWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/comisai/comis/podcast-generation)<a href="https://agentmods.dev/skills/comisai/comis/podcast-generation"><img src="https://agentmods.dev/badge/skills/comisai/comis/podcast-generation.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00079 | $0.00960 |
| Opus 5 | $0.00039 | $0.00480 |
| Sonnet 5 | $0.00016 | $0.00192 |
| Haiku 4.5 | $0.00008 | $0.00096 |
Grade A, and why
podcast-generation scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 4d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 99 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Podcast Generation
Generate podcast audio from text content. The workflow: create a structured JSON dialogue script, then execute audio generation via a bundled Python script that handles TTS synthesis and audio mixing.
All script paths below are relative to this skill's directory. Resolve them against the directory containing the manifest file shown in <location> (e.g., if <location> is ~/.comis/skills/podcast-generation/SKILL.md, then scripts/generate.py means ~/.comis/skills/podcast-generation/scripts/generate.py).
Invoke the resolved script by its absolute path while keeping the tool working directory inside the execution workspace. Never set cwd to the skill directory; it is outside workspace bounds. In command examples below, replace each relative scripts/... path with its resolved absolute path.
Write script files and generated outputs to your workspace directory (shown in the "Workspace" section of your system prompt).
The bundled script requires the requests Python package (pip install requests).
Workflow
Step 1: Understand requirements
Identify from the user's request:
- Source content: The text/article/report to convert
- Language: en or zh (based on content)
Step 2: Create script JSON
Write a structured JSON script file to your workspace directory with naming pattern {descriptive-name}-script.json.
{
"title": "Episode Title",
"locale": "en",
"lines": [
{"speaker": "male", "paragraph": "Hello Deer! Welcome back to another episode."},
{"speaker": "female", "paragraph": "Hey everyone! Today we have an exciting topic."},
{"speaker": "male", "paragraph": "That's right! We're going to talk about..."}
]
}
Fields:
- title: Episode title (optional, used as heading in transcript)
- locale: Language code -- "en" or "zh"
- lines: Array of dialogue lines, each with speaker ("male" or "female") and paragraph
Step 3: Execute generation
python3 scripts/generate.py \
--script-file ~/.comis/workspace/script-file.json \
--output-file ~/.comis/workspace/generated-podcast.mp3 \
--transcript-file ~/.comis/workspace/generated-podcast-transcript.md
What ships with it
2 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 4d ago First seen · 99 lines · 79 tokens per session scan A 277f1f596ee3
podcast-generation is a skill published in the GitHub repository comisai/comis (5 stars, last pushed 4d ago), licensed Apache-2.0. It adds 79 tokens to every session and 960 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
org-sync
Use when the CEO wants an organization-wide sync across PuPu's agent teams — running each org's internal sync, then a cross-org sync where departments challenge each other, converging into one decision list. Triggers: "跑一次 org sync", "全局同步", "组织盘点", "/org-sync", "各部门现在什么情况", "有什么要我拍板的".
release-feature-audit
Use when a new PuPu feature finishes implementation and needs its consistency audit before its ticket is marked done — "audit #123", "审计这个功能", "这个 feature 过一遍检查" — or when release-close-sprint roll-call finds a new feature that was never audited. Also covers standalone i18n checks ("漏翻了吗", "检查 i18n"), which used to be…
growth-analyst
Use when analyzing PuPu's open-source growth or health for the founder — GitHub traffic, downloads/installs, releases, community, or contributor activity — or when producing a growth report or weekly COO report. Repo is haoxiang-xu/PuPu. Triggers: "how is PuPu growing?", "are people installing PuPu?", "which release…
test-api
Use when running QA / regression tests against PuPu, when verifying a code change actually works in the running app, or when reading PuPu UI/state without screenshotting manually. Triggers on tasks like "test that PuPu still creates chats correctly", "verify the new model selector works end-to-end", "send a message…
gitnexus-debugging
Use when the user is debugging a bug, tracing an error, or asking why something fails. Examples: "Why is X failing?", "Where does this error come from?", "Trace this bug".
gitnexus-impact-analysis
Use when the user wants to know what will break if they change something, or needs safety analysis before editing code. Examples: "Is it safe to change X?", "What depends on this?", "What will break?".