Agent skill

Provider Analysis

by fossasia in fossasia/eventyay-interpretation

A skill your agent uses when integrating, debugging, or auditing third-party provider integrations (transcription APIs, MediaMTX, Jitsi, future Eventyay API integration).

Apache-2.0Auto-check passedMedia & Creative

Install Provider Analysis

skills CLI
$ npx skills add fossasia/eventyay-interpretation --skill provider-analysis -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install fossasia/eventyay-interpretation provider-analysis --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/fossasia/eventyay-interpretation.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/provider-analysis .claude/skills/provider-analysis && rm -rf skills-src

Use ~/.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/

Facts

Skill name
provider-analysis
GitHub stars
1.6k
Token cost
~1.3k tokens
SKILL.md length
462 words
Files
1
Skills in repo
38
Repo updated
First seen
Licence
Apache-2.0

At a glance

A skill your agent uses when integrating, debugging, or auditing third-party provider integrations (transcription APIs, MediaMTX, Jitsi, future Eventyay API integration).

  • Works in 5 steps: Admin enters key via admin panel form. → Key encrypted via… → At transcription start:… → …
  • Auditing third-party provider integrations (transcription APIs
  • SKILL.md covers MediaMTX, Jitsi Meet, OpenAI (Transcription) and Deepgram (Transcription), plus 4 more sections
  • Calls uv; reaches api.openai.com; needs API_KEY_ENCRYPTION_KEY

What it does

Provider Analysis is an agent skill from fossasia/eventyay-interpretation. Use this skill when integrating, debugging, or auditing third-party provider integrations (transcription APIs, MediaMTX, Jitsi, future Eventyay API integration).

Its SKILL.md is about 1.3k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Media & Creative, covering Transcription and Third-party API integration. It works with FastAPI. The repository describes itself as: A plugin for live interpretation of video streams. The licence is Apache-2.0.

When your agent uses it

  • Auditing third-party provider integrations (transcription APIs
  • Future Eventyay API integration)

Example prompts

  • “/provider-analysis”

Requirements

  • Python 3
  • A credential in API_KEY_ENCRYPTION_KEY

Workflow steps

5 steps, taken from the first numbered list in SKILL.md.

  1. Admin enters key via admin panel form.
  2. Key encrypted via portal.crypto.encrypt_val(key) → stored in DB.
  3. At transcription start: get_api_key(event, ProviderEnum.X) → decrypt_val(encrypted_col).
  4. API_KEY_ENCRYPTION_KEY must be set as env var (≥32 chars); fails loudly if default.
  5. Key rotation: add new key as prefix to comma-separated API_KEY_ENCRYPTION_KEY; MultiFernet tries all keys.

What it can do on your machine

Read from SKILL.md and the folder at commit 1ca0139. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • uv

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • api.openai.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • API_KEY_ENCRYPTION_KEY

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Provider Analysis loads about 1.3k tokens when it runs. Until then it costs about 45 tokens; SKILL.md has 462 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~45
When it runs · the whole SKILL.md, loaded when a task matches
~1.3k

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.

Safety

Auto-check passed

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); files beside SKILL.md are not scanned.

SKILL.md

The full file from fossasia/eventyay-interpretation at commit 1ca0139, republished under its Apache-2.0 licence (© fossasia). 462 words, ~1,286 tokens.

Download SKILL.mdSave it as .claude/skills/provider-analysis/SKILL.md (or your agent's skills folder).
name
provider-analysis
description
Use this skill when integrating, debugging, or auditing third-party provider integrations (transcription APIs, MediaMTX, Jitsi, future Eventyay API integration).

Skill: Provider Analysis

Use this skill when integrating, debugging, or auditing third-party provider integrations (transcription APIs, MediaMTX, Jitsi, future Eventyay API integration).


MediaMTX

Role: Media server — WHIP ingest, WHEP playback, RTSP for transcription.

Key integration points
EndpointUsed byPurpose
{MEDIAMTX_WHIP_BASE}/{path}/whipBrowser (JS)Interpreter audio ingest
{MEDIAMTX_WHIP_BASE}/{path}/whepBrowser (JS)Listener audio playback
rtsp://mediamtx:8554/{path}ffmpeg (Python)Transcription audio source
{MEDIAMTX_API_BASE}/v3/config/paths/add/{path}FastAPI (_ensure_mediamtx_path)Create named path with alwaysAvailable
{MEDIAMTX_API_BASE}/v3/config/paths/patch/{path}FastAPI (fallback)Update existing path config
{MEDIAMTX_API_BASE}/v3/paths/listFastAPI (_check_mediamtx)Reachability check
alwaysAvailable path creation
  • Called before returning WHIP URL or rendering booth page.
  • Creates named path so WHEP readers survive publisher handoffs.
  • Cache: _created_paths set prevents duplicate API calls.
  • Idempotent: if path exists, PATCHes it to ensure alwaysAvailable: True.
overridePublisher

Set in mediamtx.yml — allows a new WHIP publisher to kick the previous one. Enables seamless handoff when coordinator reassigns active interpreter.

Reachability check
python
await _check_mediamtx()  # returns True if API responds < 500

Used by /healthz and booth page template.


Jitsi Meet

Role: Floor session monitoring — receive-only iframe embedded in interpreter booth.

Integration
  • Embedded as an iframe in templates/interpreter_booth.html.
  • URL: room-specific Jitsi URL from DBBooth.room.jitsi_url (admin-configured) OR _make_jitsi_url(base_url, default_jitsi_room).
  • URL format: {effective_jitsi_base_url}/{room_name} (if room is not already a full URL).
  • Domain passed to template as jitsi_domain (derived from effective_jitsi_base_url).
  • Self-hosted; image: jitsi/*:stable-9823.
Jitsi room naming convention (auto-generated)

When admin creates a room, a Jitsi URL is auto-generated:

python
clean_name = re.sub(r'[^a-zA-Z0-9]+', '', display_name)
room_id_str = f"Voxbento-{event.slug}-{clean_name}"
jitsi_url = _make_jitsi_url(effective_jitsi_base_url, room_id_str)
Critical: Jitsi is monitoring only

Never use Jitsi's audio as the broadcast source. Interpreter mic → WHIP → MediaMTX is the only valid ingest path.


OpenAI (Transcription)

  • whisper-1: POST https://api.openai.com/v1/audio/transcriptions — WAV file upload per 3-second chunk.
  • gpt-4o-realtime: wss://api.openai.com/v1/realtime?model={model} — WebSocket streaming with PCM frames.
  • Auth: Authorization: Bearer {api_key} header.
  • API key: stored encrypted as events.openai_api_key; requires event.transcription_api_enabled = True.
  • Retry: tenacity, exponential backoff 2–10s, max 3 attempts on 429/5xx.
  • HTTP client: portal.transcription.shared_http_client (shared httpx.AsyncClient).

Show full SKILL.md (178 more words)Show less

Deepgram (Transcription)

  • wss://api.deepgram.com/v1/listen?model=nova-2&language={lang}&encoding=linear16&sample_rate=16000&channels=1&interim_results=true&keepalive=true&endpointing=2000&smart_format=true&punctuate=true
  • Auth: Authorization: Token {api_key}.
  • Protocol: WebSocket streaming — send raw PCM, receive JSON transcripts.
  • KeepAlive: sends {"type":"KeepAlive"} every 5 seconds if no audio.
  • API key: events.deepgram_api_key.

NVIDIA Riva (Transcription)

  • Parakeet-RNNT / Parakeet-CTC via Riva gRPC.
  • Requires optional dependency: uv add eventyay-interpretation-portal[nvidia].
  • Function ID configured via settings.nvidia_function_id (from NVIDIA_FUNCTION_ID env var).
  • API key: events.nvidia_api_key.

ElevenLabs (Transcription)

  • scribe_v2 model.
  • API key: events.elevenlabs_api_key.
  • Implementation in portal/transcription/providers/elevenlabs.py.

API Key Security Pattern

All external API keys follow this pattern:

  1. Admin enters key via admin panel form.
  2. Key encrypted via portal.crypto.encrypt_val(key) → stored in DB.
  3. At transcription start: get_api_key(event, ProviderEnum.X) → decrypt_val(encrypted_col).
  4. API_KEY_ENCRYPTION_KEY must be set as env var (≥32 chars); fails loudly if default.
  5. Key rotation: add new key as prefix to comma-separated API_KEY_ENCRYPTION_KEY; MultiFernet tries all keys.

Future Eventyay Integration

Currently there is no live API coupling to Eventyay. The pattern mirrors Eventyay conventions only:

  • Event.slug mirrors Eventyay event slug.
  • Room.eventyay_room_id is a nullable foreign reference (not yet used).
  • Role names match Eventyay role conventions.

When integrating: use portal.* imports; do not couple to pretix.*, pretalx.*, or venueless.*.

© fossasia, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .agents/skills/provider-analysis of fossasia/eventyay-interpretation.

Open the folder on GitHubat commit 1ca0139

Used in 1 other repository

We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders. This page covers the copy in fossasia/eventyay-interpretation, which our catalogue first saw on October 7, 2026.

Compare with similar skills

Provider Analysis 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.

Provider Analysis compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Provider Analysis this skillfossasia/eventyay-interpretation1.6k—~1.3kAutomated safety check: PassApache-2.0
Video Translatorshang-zhu/violin1.1k—~1kAutomated safety check: NotesMIT
Twinmind Local Dev Loopjeremylongshore/tons-of-skills-marketplace2.8k—~2kAutomated safety check: NotesMIT
Short Video Extractordontbesilent2025/dbskill11k—~949Automated safety check: PassCustom licence
Verifylkmeta/txtify135—~583Automated safety check: PassApache-2.0
PayRam Checkout IntegrationPayRam/payram-mcp158—~3.4kAutomated safety check: NotesNone

Similar skills

  • Video Translator

    shang-zhu/violin

    Dub a video into another language and generate subtitles using the default Together + Cartesia stack.

    1.1k GitHub stars~1k tokensUpdated 1 mo ago
    Media & CreativeAuto-check: notes
  • Twinmind Local Dev Loop

    jeremylongshore/tons-of-skills-marketplace

    Set up local development workflow with TwinMind API integration.

    2.8k GitHub stars~2k tokensUpdated today
    Testing & QAAuto-check: notes
  • Short Video Extractor

    dontbesilent2025/dbskill

    Extracts post data and speech transcripts from Douyin, Xiaohongshu and WeChat Channels share links and saves the transcripts as Markdown by author and title.

    11k GitHub stars~949 tokensUpdated yesterday
    Media & CreativeAuto-check passed
  • Verify

    lkmeta/txtify

    Verify a Txtify change end-to-end. An agent skill from lkmeta/txtify.

    135 GitHub stars~583 tokensUpdated 1 mo ago
    DevOps & CloudAuto-check passed
  • Adds crypto checkout to a web app with PayRam: create a payment from your backend, send the customer to the payment page, then confirm the result.

    158 GitHub stars~3.4k tokensUpdated today
    Backend & APIsAuto-check: notes
  • Fishjam Python Server SDK

    software-mansion-labs/skills

    Python server SDK for Fishjam — backends that create rooms, mint peer tokens, receive server notifications, and run voice agents.

    291 GitHub stars~1.3k tokensUpdated 11 days ago
    Backend & APIsAuto-check passed

More from fossasia/eventyay-interpretation

All 38 skills in this repo
  • Git Guardrails Claude Code

    fossasia/eventyay-interpretation

    Set up Claude Code hooks to block dangerous git commands (push, reset --hard, clean, branch -D, etc.) before they execute.

    1.6k GitHub starsUsed in 12 repos~578 tokens
    Auto-check passed
  • Diagnosing Bugs

    fossasia/eventyay-interpretation

    Diagnosis loop for hard bugs and performance regressions. An agent skill from fossasia/eventyay-interpretation.

    1.6k GitHub starsUsed in 32 repos~2.1k tokens
    Auto-check passed
  • Domain Modeling

    fossasia/eventyay-interpretation

    Build and sharpen a project's domain model. An agent skill from fossasia/eventyay-interpretation.

    1.6k GitHub starsUsed in 31 repos~821 tokens
    Auto-check passed
  • Improve

    fossasia/eventyay-interpretation

    Survey any codebase as a senior advisor and produce prioritized, self-contained implementation plans for OTHER models/agents to execute.

    1.6k GitHub starsUsed in 10 repos~3.7k tokens
    Auto-check: warnings
  • Migrate To Shoehorn

    fossasia/eventyay-interpretation

    Migrate test files from as type assertions to @total-typescript/shoehorn.

    1.6k GitHub starsUsed in 12 repos~698 tokens
    Auto-check passed
  • Setup Pre Commit

    fossasia/eventyay-interpretation

    Set up Husky pre-commit hooks with lint-staged (Prettier), type checking, and tests in the current repo.

    1.6k GitHub starsUsed in 12 repos~565 tokens
    Auto-check passed

Works with

Questions about Provider Analysis

What does Provider Analysis do?

A skill your agent uses when integrating, debugging, or auditing third-party provider integrations (transcription APIs, MediaMTX, Jitsi, future Eventyay API integration). Provider Analysis is an agent skill from fossasia/eventyay-interpretation. Use this skill when integrating, debugging, or auditing third-party provider integrations (transcription APIs, MediaMTX, Jitsi, future Eventyay API integration).

When should I use Provider Analysis?

Provider Analysis fits situations like: auditing third-party provider integrations (transcription APIs; future Eventyay API integration).

How do I install Provider Analysis in Claude Code?

Run `npx skills add fossasia/eventyay-interpretation --skill provider-analysis -a claude-code`. Or copy the skill folder (.agents/skills/provider-analysis in fossasia/eventyay-interpretation) into .claude/skills/provider-analysis in your project. Claude Code loads it when a task matches its description.

How do I install Provider Analysis in Codex?

Run `npx skills add fossasia/eventyay-interpretation --skill provider-analysis -a codex`. Or copy the skill folder (.agents/skills/provider-analysis in fossasia/eventyay-interpretation) into .agents/skills/provider-analysis in your project. Codex loads it when a task matches its description.

Can I use Provider Analysis in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add fossasia/eventyay-interpretation --skill provider-analysis -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/provider-analysis, .gemini/skills/provider-analysis, .github/skills/provider-analysis and .opencode/skills/provider-analysis in your project.

What does Provider Analysis need to run?

Going by SKILL.md and its folder, Provider Analysis needs the command-line tools its instructions call (uv) and credentials named API_KEY_ENCRYPTION_KEY. Our summary lists: Python 3; A credential in API_KEY_ENCRYPTION_KEY.

Does Provider Analysis access the network?

SKILL.md names 1 domain. In commands or code: api.openai.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Provider Analysis safe to install?

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. Review the folder before installing.

What licence does Provider Analysis use?

Provider Analysis is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Provider Analysis use?

About 1.3k tokens (SKILL.md is roughly 5.1k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Provider Analysis?

Skills that share tags, products or a category with Provider Analysis: Video Translator (shang-zhu/violin, 1.1k stars), Twinmind Local Dev Loop (jeremylongshore/tons-of-skills-marketplace, 2.8k stars), Short Video Extractor (dontbesilent2025/dbskill, 11k stars) and Verify (lkmeta/txtify, 135 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Provider Analysis?

fossasia (a GitHub organization) maintains it in fossasia/eventyay-interpretation, which has 1,551 GitHub stars. The repository holds 38 skills in this directory. The repository was last updated on October 5, 2026.

Source: fossasia/eventyay-interpretation on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.