Skip to content

youtube-content skill: undeclared runtime dependency on youtube-transcript-api #22243

@nichenet-hue

Description

@nichenet-hue

Hermes Agent version: v0.12.0

Summary

The bundled youtube-content skill imports youtube-transcript-api at runtime, but the package is not declared in pyproject.toml. Fresh installs of Hermes Agent fail at first invocation of the skill with ModuleNotFoundError: No module named 'youtube_transcript_api'.

Reproduction

  1. Install Hermes Agent v0.12.0 into a clean uv-managed venv (default path).
  2. Trigger the youtube-content skill against any YouTube video ID.
  3. Skill fails on import before it can fetch a transcript.

Root cause

skills/media/youtube-content/scripts/fetch_transcript.py (lines 57-67) constructs a YouTubeTranscriptApi() instance and calls .fetch(video_id, languages=...) — the v1.x API surface. The library is not listed in pyproject.toml dependencies, so uv sync does not install it.

Workaround

Install directly into the venv:

uv pip install youtube-transcript-api --python <hermes-venv>/bin/python

This pulls youtube-transcript-api==1.2.4 plus defusedxml==0.7.1 as a transitive dependency. Note that any subsequent uv sync will remove these packages and re-break the skill.

Suggested fix

Add youtube-transcript-api>=1.2.0 to pyproject.toml dependencies. Worth confirming whether defusedxml is already a direct or transitive Hermes dependency before adding it explicitly — it may already be pulled in via another path.

Environment

  • Hermes Agent v0.12.0
  • Python venv managed by uv
  • Linux (Ubuntu, Beelink SER10 MAX)

Metadata

Metadata

Assignees

No one assigned

    Labels

    P3Low — cosmetic, nice to havecomp/agentCore agent loop, run_agent.py, prompt buildertype/bugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions