GCS skill loaders ignore a skill.md manifest that the local and zip loaders accept

Abierto Apto para principiantes
#7,842 2 comentarios 0 reacciones 1 asignado Ver en GitHub

Los mantenedores suelen responder en 4 días

@surajksharma07 ya está trabajando en esto.

Desde el 30/10/2026.

  • #7843 de @adityasingh2400 — abierto

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
84/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
google-cloud, python
Área
backend

Línea de trabajo

Empieza en skills/_utils.py con _list_skills_in_gcs_dir y _load_skill_from_gcs_dir; después compara cómo _parse_skill_md, _list_skills_in_dir y el cargador de ZIP aceptan ambas variantes del nombre del manifiesto. Busca las pruebas existentes de skills de GCS que usan un cliente de almacenamiento simulado y añade cobertura para un manifiesto skill.md al listar y cargar. El objetivo se cumple cuando los cargadores de GCS y sus wrappers asíncronos manejan skill.md igual que los cargadores locales y de ZIP.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

tools

🔴 Required Information

Describe the Bug:
A skill whose manifest is named skill.md loads from a local directory or a zip archive but is invisible when stored in GCS. _parse_skill_md, _list_skills_in_dir and the zip loader in skills/_utils.py all accept SKILL.md or skill.md. _list_skills_in_gcs_dir and _load_skill_from_gcs_dir only look for SKILL.md. Moving a skill that works locally into a bucket therefore makes it disappear from the listing, and loading it raises FileNotFoundError. The async wrappers call the same functions and behave the same way.

Steps to Reproduce:

  1. Upload a skill directory with gs://my-bucket/skills/my-skill/skill.md (valid frontmatter, name: my-skill).
  2. _list_skills_in_gcs_dir("my-bucket", "skills/").
  3. _load_skill_from_gcs_dir("my-bucket", "my-skill", skills_base_path="skills/").

Expected Behavior:
The skill is listed and loads, as it does from a local directory.

Observed Behavior:
The listing is {}, and loading raises FileNotFoundError: SKILL.md not found at gs://my-bucket/skills/my-skill/SKILL.md.

Environment Details:

  • ADK Library Version (pip show google-adk): 2.13.0 (also on main at 75fb788)
  • Desktop OS: macOS
  • Python Version (python -V): 3.11.16

Model Information:

  • Are you using LiteLLM: No
  • Which model is being used: N/A (skill loading)

🟡 Optional Information

Additional Context:
I verified this with the mocked google.cloud.storage client the existing GCS skill tests use; I don't have a bucket for a live run.

How often has this issue occurred?:

  • Always (100%), for GCS skills whose manifest is skill.md
Lenguaje dominante
Python
Estrellas
22.1k
Forks
4.3k
Merge medio
1 d 10 h
PR fusionados (30 d)
5

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de google/adk-python

Todos los issues de google/adk-python

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.