Fireflies
magnus919/agent-skills
Query Fireflies.ai meeting transcripts, meeting notes, summaries, contacts, channels, AI meeting analytics, AskFred, audio uploads, and webhook signatures through its GraphQL API.
Agent skill
by jeremylongshore in jeremylongshore/tons-of-skills-marketplace
Durable, idempotent ingest pipeline for Podium call transcripts — the layer between Podium's transcript webhook and a downstream RAG/LLM queue.
$ npx skills add jeremylongshore/tons-of-skills-marketplace --skill podium-call-transcript-pipeline -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install jeremylongshore/tons-of-skills-marketplace podium-call-transcript-pipeline --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/jeremylongshore/tons-of-skills-marketplace.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/.curated/podium-call-transcript-pipeline .claude/skills/podium-call-transcript-pipeline && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "podium-call-transcript-pipeline" agent skill from https://github.com/jeremylongshore/tons-of-skills-marketplace/tree/main/skills/.curated/podium-call-transcript-pipeline into .claude/skills/podium-call-transcript-pipeline/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "podium-call-transcript-pipeline", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/jeremylongshore/tons-of-skills-marketplace/tree/main/skills/.curated/podium-call-transcript-pipelineType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add jeremylongshore/tons-of-skills-marketplace --skill podium-call-transcript-pipeline -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install jeremylongshore/tons-of-skills-marketplace podium-call-transcript-pipeline --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jeremylongshore/tons-of-skills-marketplace.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/.curated/podium-call-transcript-pipeline .agents/skills/podium-call-transcript-pipeline && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "podium-call-transcript-pipeline" agent skill from https://github.com/jeremylongshore/tons-of-skills-marketplace/tree/main/skills/.curated/podium-call-transcript-pipeline into .agents/skills/podium-call-transcript-pipeline/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "podium-call-transcript-pipeline", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add jeremylongshore/tons-of-skills-marketplace --skill podium-call-transcript-pipeline -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install jeremylongshore/tons-of-skills-marketplace podium-call-transcript-pipeline --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jeremylongshore/tons-of-skills-marketplace.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/.curated/podium-call-transcript-pipeline .cursor/skills/podium-call-transcript-pipeline && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "podium-call-transcript-pipeline" agent skill from https://github.com/jeremylongshore/tons-of-skills-marketplace/tree/main/skills/.curated/podium-call-transcript-pipeline into .cursor/skills/podium-call-transcript-pipeline/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "podium-call-transcript-pipeline", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/jeremylongshore/tons-of-skills-marketplace.git --path skills/.curated/podium-call-transcript-pipeline--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add jeremylongshore/tons-of-skills-marketplace --skill podium-call-transcript-pipeline -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install jeremylongshore/tons-of-skills-marketplace podium-call-transcript-pipeline --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jeremylongshore/tons-of-skills-marketplace.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/.curated/podium-call-transcript-pipeline .gemini/skills/podium-call-transcript-pipeline && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "podium-call-transcript-pipeline" agent skill from https://github.com/jeremylongshore/tons-of-skills-marketplace/tree/main/skills/.curated/podium-call-transcript-pipeline into .gemini/skills/podium-call-transcript-pipeline/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "podium-call-transcript-pipeline", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install jeremylongshore/tons-of-skills-marketplace podium-call-transcript-pipelineInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add jeremylongshore/tons-of-skills-marketplace --skill podium-call-transcript-pipeline -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/jeremylongshore/tons-of-skills-marketplace.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/.curated/podium-call-transcript-pipeline .github/skills/podium-call-transcript-pipeline && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "podium-call-transcript-pipeline" agent skill from https://github.com/jeremylongshore/tons-of-skills-marketplace/tree/main/skills/.curated/podium-call-transcript-pipeline into .github/skills/podium-call-transcript-pipeline/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "podium-call-transcript-pipeline", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add jeremylongshore/tons-of-skills-marketplace --skill podium-call-transcript-pipeline -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install jeremylongshore/tons-of-skills-marketplace podium-call-transcript-pipeline --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jeremylongshore/tons-of-skills-marketplace.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/.curated/podium-call-transcript-pipeline .opencode/skills/podium-call-transcript-pipeline && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "podium-call-transcript-pipeline" agent skill from https://github.com/jeremylongshore/tons-of-skills-marketplace/tree/main/skills/.curated/podium-call-transcript-pipeline into .opencode/skills/podium-call-transcript-pipeline/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "podium-call-transcript-pipeline", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
podium-call-transcript-pipelineDurable, idempotent ingest pipeline for Podium call transcripts — the layer between Podium's transcript webhook and a downstream RAG/LLM queue.
Podium Call Transcript Pipeline is an agent skill from jeremylongshore/tons-of-skills-marketplace. Durable, idempotent ingest pipeline for Podium call transcripts — the layer between Podium's transcript webhook and a downstream RAG/LLM queue. Survives minutes-to-hours transcript latency, partial-then-final overwrites, non-English callers, PII leakage to downstream consumers, queue-write failures, and speaker-diarization loss. Use when wiring Podium phone-call transcripts into an AI-assist queue, hardening an existing ingest against transcript drift, redacting PII before transcripts reach an LLM, or building…
Its SKILL.md is about 4.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 13 other files, including scripts and reference files (for example `ARD.md`, `PRD.md` and `config/settings.yaml`). Compatibility notes: Designed for Claude Code
It sits in Backend & APIs, covering Meeting notes and agendas, Webhooks and Retrieval-augmented generation. The repository describes itself as: Model-agnostic agent-skills platform with a harness-free canonical layer, verified adapters, and the ccpi package manager. Explore at tonsofskills.com. The licence is MIT.
6 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit cfae287. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
ReadWriteEditBash(curl:*)Bash(jq:*)Bash(python3:*)Bash(redis-cli:*)GrepFrom allowed-tools in the SKILL.md frontmatter.
Ships 4 files in scripts/ (Python), which the agent can run.
Shell commands in SKILL.md call:
python3uvicornsqlite3From the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
docs.podium.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Designed for Claude Code
From compatibility in the SKILL.md frontmatter.
Podium Call Transcript Pipeline loads about 4.1k tokens when it runs, and up to ~10k if it reads all its reference files. Until then it costs about 200 tokens; SKILL.md has 1,296 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from jeremylongshore/tons-of-skills-marketplace at commit cfae287, republished under its MIT licence (© jeremylongshore). 1,296 words, ~4,075 tokens.
.claude/skills/podium-call-transcript-pipeline/SKILL.md (or your agent's skills folder). This skill also uses 10 other files; get the full folder from GitHub.Ingest Podium phone-call transcripts and stage them on a downstream queue so an LLM (with RAG context) can assist the team answering the phone. This is not a real-time transcription tool — Podium emits transcripts on a webhook minutes-to-hours after the call ends, and the design assumes that asynchrony. The skill is the durable layer between Podium and the RAG bridge: webhook lands, transcript is verified and de-duplicated, PII is redacted on ingest, speaker structure is preserved, language is detected, and a chunked record is enqueued for the next stage.
The six production failures this skill prevents:
call.transcript.partial before call.transcript.completed. Naive handlers store the partial as final, and the LLM downstream sees a truncated transcript. The ingest must key on (transcript_id, event_type) and only promote a record to "final" on a completed event.This skill does not authenticate to Podium directly. Two distinct auth paths are involved and both are consumed by reference from sibling skills — never re-implemented:
podium-webhook-reliability::verify_webhook(raw, signature). The webhook secret lives in the verifier's config. The handler fails closed if the verifier is not importable.podium-auth::PodiumAuth.get_token(). Credentials live in podium-auth's secret store.The pipeline inherits the auth posture of both skills. Operator checklist when installing:
podium-auth and podium-webhook-reliability are both installed and configured..gitignore to exclude the inbox database (*.db) and the redaction audit log (redactions.jsonl).references/implementation.md) to confirm no inline credentials leaked.PODIUM_TRANSCRIPT_INBOX_PATH to a writable path with mode 0600 ownership.podium-auth skill installed (consumed for outbound API auth)podium-webhook-reliability skill installed (consumed for HMAC verification)podium-rate-limit-survival skill installed (consumed by the fallback poller)langdetect (default) or fasttext-langdetect for language detectionpresidio-analyzer + presidio-anonymizer for high-recall PII, or the bundled regex layer aloneBuild in this order. Each section neutralizes one production failure mode.
The webhook handler returns 200 fast and does all transcript work asynchronously. The handler's only synchronous job is verify-and-store-raw; everything else happens out-of-band in the processor.
import json, time
from fastapi import FastAPI, Request, HTTPException
from podium_webhook_reliability import verify_webhook # consumed by reference
from podium_call_transcript_pipeline import inbox
app = FastAPI()
@app.post("/podium/transcripts")
async def transcript_webhook(request: Request):
raw = await request.body()
sig = request.headers.get("podium-signature", "")
if not verify_webhook(raw, sig):
raise HTTPException(401, "invalid signature")
event = json.loads(raw)
if not event.get("type", "").startswith("call.transcript."):
return {"status": "ignored"}
# Durable write happens BEFORE returning 200. If this fails, return 5xx so Podium retries.
inbox.insert(
transcript_id=event["data"]["transcript_id"],
event_type=event["type"],
received_at=time.time(),
raw_payload=raw,
)
return {"status": "accepted"}Podium emits these event types on a single call:
| Event type | Meaning | Handling |
|---|---|---|
call.ended | Audio capture complete | Note arrival; no transcript yet |
call.transcript.partial | Best-effort transcript while final generates | Store as partial; never promote to final |
call.transcript.completed | Final transcript ready | Promote to final; supersedes any partial |
call.transcript.failed | Transcription failed | Record failure; alert if call duration was material |
The inbox table is keyed on (transcript_id, event_type). A separate transcripts table is keyed on transcript_id alone. A completed event always supersedes a partial for the same transcript_id. A late-arriving partial after completed is ignored — the processor checks current status before writing.
Detect language before redaction (redaction patterns are language-aware downstream). The default policy: English transcripts proceed to the standard RAG queue; non-English transcripts go to a separate queue with a translation step inserted.
from langdetect import detect_langs, DetectorFactory
DetectorFactory.seed = 0 # deterministic detection across runs
def detect_transcript_language(text: str) -> tuple[str, float]:
if len(text.strip()) < 20:
return ("und", 0.0) # too short to detect reliably
try:
top = detect_langs(text)[0]
return (top.lang, top.prob)
except Exception:
return ("und", 0.0)Routing rule: English with confidence ≥ 0.85 → queue:rag.transcripts.en; confidence < 0.50 → queue:rag.transcripts.review (human review); otherwise → per-language queue.
Redaction is non-optional and happens before the transcript is written to the outbound queue. The redaction is auditable — for every redaction the system records category, character offsets, and the rule's id. Conservative regex layer for high-precision categories; presidio/spaCy for lower-precision recall categories (names, addresses).
import re
from dataclasses import dataclass
@dataclass
class Redaction:
category: str
rule_id: str
start: int
end: int
PATTERNS = [
("CREDIT_CARD", "card_luhn_16", re.compile(r"\b(?:\d[ -]?){13,19}\b")),
("PHONE", "phone_intl", re.compile(r"\+?\d{1,3}[ -]?\(?\d{2,4}\)?[ -]?\d{3,4}[ -]?\d{3,4}")),
("EMAIL", "email_basic", re.compile(r"[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}")),
("SSN_US", "ssn_us", re.compile(r"\b\d{3}-\d{2}-\d{4}\b")),
]
def luhn_valid(s: str) -> bool:
digits = [int(c) for c in s if c.isdigit()]
if not 13 <= len(digits) <= 19: return False
checksum = 0
for pos, d in enumerate(reversed(digits)):
if pos % 2 == 1:
d *= 2
if d > 9: d -= 9
checksum += d
return checksum % 10 == 0Wire presidio after the regex pass and union both result lists into one audit log keyed by transcript_id. Never ship a redaction module that silently swallows detections — every detection must either redact-and-log or pass-through-and-log with a documented reason.
The webhook writes to a durable store (SQLite default) before acking. A separate processor moves records from the inbox to the outbound queue. Failed queue writes stay in the inbox with attempt_count and next_attempt_at — the processor's next scan picks them up.
SCHEMA = """
CREATE TABLE IF NOT EXISTS inbox (
id INTEGER PRIMARY KEY AUTOINCREMENT,
transcript_id TEXT NOT NULL,
event_type TEXT NOT NULL,
received_at REAL NOT NULL,
raw_payload BLOB NOT NULL,
processed_at REAL,
enqueued_at REAL,
attempt_count INTEGER NOT NULL DEFAULT 0,
next_attempt_at REAL,
last_error TEXT,
UNIQUE(transcript_id, event_type)
);
"""
# UNIQUE(transcript_id, event_type) makes webhook redelivery idempotent.
# 3600 seconds = 1h cap on exponential backoff; 12-attempt budget = ~4 days before dead-letter.Failed queue writes increment attempt_count, set next_attempt_at = now + min(2^attempts, 3600). After 12 attempts the row moves to inbox_deadletter and pages on-call.
Podium's transcript JSON has a segments[] array with {speaker_role, start_ms, end_ms, text} per utterance. Two rules:
speakers: [...].# target_tokens=1500 fits a chunk inside a 4k context with room for RAG-retrieved
# companion chunks plus prompt scaffolding. overlap_tokens=200 preserves cross-chunk
# context without doubling the token budget.
def chunk_transcript(segments, target_tokens=1500, overlap_tokens=200):
chunks, current = [], Chunk(chunk_index=0)
for seg in segments:
seg_tokens = estimate_tokens(seg.text)
if current.token_count + seg_tokens > target_tokens and current.segments:
chunks.append(current)
overlap = build_overlap(current.segments, overlap_tokens)
current = Chunk(chunk_index=len(chunks), segments=list(overlap),
token_count=sum(estimate_tokens(s.text) for s in overlap))
current.segments.append(seg)
current.token_count += seg_tokens
if seg.speaker_role not in current.speakers:
current.speakers.append(seg.speaker_role)
if current.segments:
chunks.append(current)
return chunksThe outbound record consumed by podium-rag-context-bridge carries transcript_id, call_id, location_uid, detected_language, language_confidence, redaction_count, and chunks[] with per-chunk speakers and segments.
| Code | Source | Root Cause | Action |
|---|---|---|---|
401 on webhook | Handler | Signature verification failed | Reject; verifier config wrong |
5xx to Podium | Inbox write failed | SQLite unwritable | Return 5xx so Podium retries; page on-call |
ERR_TXP_001 | Reconciler | partial after completed | Ignored by design; logged |
ERR_TXP_002 | Reconciler | No transcript within N hours | Fallback poller fetches directly |
ERR_TXP_003 | Language detector | Transcript < 20 chars | Route to review queue |
ERR_TXP_004 | Redactor | Presidio unavailable | Regex-only mode active; warn per transcript |
ERR_TXP_005 | Queue write | Redis/SQS error | Increment attempts; exponential backoff |
ERR_TXP_006 | Chunker | Single segment > target_tokens | Allow oversize chunk; warn |
ERR_TXP_007 | Processor | attempts > 12 | Move to dead-letter; page on-call |
uvicorn podium_call_transcript_pipeline.webhook_ingest:app --host 0.0.0.0 --port 8080 &
python3 scripts/transcript_chunker.py --process-loop --interval 5
sqlite3 podium_transcripts.db "SELECT transcript_id, event_type, processed_at FROM inbox ORDER BY received_at DESC LIMIT 10;"python3 scripts/pii_redact.py --input transcript-raw.json --output transcript-redacted.json --audit-log redactions.jsonlpython3 scripts/transcript_poller.py --since-hours 12 --max-age-hours 4 --location-uid "{location-uid}"python3 scripts/transcript_chunker.py --input transcript-redacted.json --output chunks.json --target-tokens 1500 --overlap-tokens 200completed over partial and never the inversepodium-rag-context-bridgeERR_TXP_* codes with cause + solution© jeremylongshore, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 10 other files (scripts, references) in skills/.curated/podium-call-transcript-pipeline of jeremylongshore/tons-of-skills-marketplace.
Open the folder on GitHubat commit cfae287
Podium Call Transcript Pipeline next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Podium Call Transcript Pipeline this skilljeremylongshore/tons-of-skills-marketplace | 2.8k | — | ~4.1k | Automated safety check: Pass | MIT | |
| Firefliesmagnus919/agent-skills | 115 | — | ~1.1k | Automated safety check: Notes | MIT | |
| Paper Feishu Digestchtc66/academic-skills | 360 | — | ~348 | Automated safety check: Pass | MIT | |
| Convex RuntimeIgorWarzocha/Opencode-Workflows | 122 | — | ~1.1k | Automated safety check: Pass | None | |
| Status Report Drafter Scott Margettslawve-ai/awesome-legal-skills | 847 | — | ~7.6k | Automated safety check: Pass | Apache-2.0 | |
| Integrate Whatsappgokapso/agent-skills | 177 | — | ~4.8k | Automated safety check: Pass | None |
magnus919/agent-skills
Query Fireflies.ai meeting transcripts, meeting notes, summaries, contacts, channels, AI meeting analytics, AskFred, audio uploads, and webhook signatures through its GraphQL API.
chtc66/academic-skills
monitor recent arxiv papers and produce a chinese digest when the user needs a filtered paper watchlist, a ranked update for agent or rag related topics, or an optional feishu webhook push from…
IgorWarzocha/Opencode-Workflows
Implement Convex runtime features: HTTP actions, file storage, search (full text + vector), scheduling (crons + scheduled functions), and RAG patterns.
lawve-ai/awesome-legal-skills
Draft matter status reports from emails, call notes, and updates.
gokapso/agent-skills
Connect WhatsApp to your product with Kapso: onboard customers with setup links, detect connections, receive events via webhooks, and send messages/templates/media.
quailyquaily/aqua
Aqua is a CLI-first message tool for AI agents. An agent skill from quailyquaily/aqua.
jeremylongshore/tons-of-skills-marketplace
Execute this skill enables AI assistant to conduct a security-focused code review using the security-agent plugin.
jeremylongshore/tons-of-skills-marketplace
Build this skill automates the adaptation of pre-trained machine learning models using transfer learning techniques.
jeremylongshore/tons-of-skills-marketplace
Execute proactive auto-loading: automatically detects and loads agents.md files.
jeremylongshore/tons-of-skills-marketplace
Aggregate and centralize performance metrics from applications, systems, databases, caches, and services.
jeremylongshore/tons-of-skills-marketplace
Execute this skill enables AI assistant to analyze capacity requirements and plan for future growth.
jeremylongshore/tons-of-skills-marketplace
Process use when you need to work with database indexing. An agent skill from jeremylongshore/tons-of-skills-marketplace.
Durable, idempotent ingest pipeline for Podium call transcripts — the layer between Podium's transcript webhook and a downstream RAG/LLM queue. Podium Call Transcript Pipeline is an agent skill from jeremylongshore/tons-of-skills-marketplace. Durable, idempotent ingest pipeline for Podium call transcripts — the layer between Podium's transcript webhook and a downstream RAG/LLM queue.
Podium Call Transcript Pipeline fits situations like: wiring Podium phone-call transcripts into an AI-assist queue; hardening an existing ingest against transcript drift; redacting PII before transcripts reach an LLM; building the durable ack/replay layer that feeds podium-rag-context-bridge.
Run `npx skills add jeremylongshore/tons-of-skills-marketplace --skill podium-call-transcript-pipeline -a claude-code`. Or copy the skill folder (skills/.curated/podium-call-transcript-pipeline in jeremylongshore/tons-of-skills-marketplace) into .claude/skills/podium-call-transcript-pipeline in your project. Claude Code loads it when a task matches its description.
Run `npx skills add jeremylongshore/tons-of-skills-marketplace --skill podium-call-transcript-pipeline -a codex`. Or copy the skill folder (skills/.curated/podium-call-transcript-pipeline in jeremylongshore/tons-of-skills-marketplace) into .agents/skills/podium-call-transcript-pipeline in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add jeremylongshore/tons-of-skills-marketplace --skill podium-call-transcript-pipeline -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/podium-call-transcript-pipeline, .gemini/skills/podium-call-transcript-pipeline, .github/skills/podium-call-transcript-pipeline and .opencode/skills/podium-call-transcript-pipeline in your project.
Going by SKILL.md and its folder, Podium Call Transcript Pipeline needs Python for the scripts in its folder and the command-line tools its instructions call (python3, uvicorn and sqlite3). Our summary lists: Python 3. Its frontmatter pre-approves these tools: Read, Write, Edit, Bash(curl:*), Bash(jq:*), Bash(python3:*), Bash(redis-cli:*), Grep. Compatibility (from SKILL.md): Designed for Claude Code.
SKILL.md names 1 domain. As links in the text: docs.podium.com. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Podium Call Transcript Pipeline is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 4.1k tokens (SKILL.md is roughly 16k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 5.9k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Podium Call Transcript Pipeline: Fireflies (magnus919/agent-skills, 115 stars), Paper Feishu Digest (chtc66/academic-skills, 360 stars), Convex Runtime (IgorWarzocha/Opencode-Workflows, 122 stars) and Status Report Drafter Scott Margetts (lawve-ai/awesome-legal-skills, 847 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
jeremylongshore (a GitHub user) maintains it in jeremylongshore/tons-of-skills-marketplace, which has 2,827 GitHub stars. The repository holds 3,342 skills in this directory. The repository was last updated on October 10, 2026.
Source: jeremylongshore/tons-of-skills-marketplace on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.