GCS skill loaders ignore a skill.md manifest that the local and zip loaders accept
Les mainteneurs répondent en général sous 4 jours
Évaluation
- Difficulté
- 2/5
- Temps estimé
- 1-3 heures
- Accessibilité débutants
- 84/100
Piste de recherche
Commencez dans skills/_utils.py avec _list_skills_in_gcs_dir et _load_skill_from_gcs_dir, puis comparez la façon dont _parse_skill_md, _list_skills_in_dir et le chargeur ZIP acceptent les deux variantes du nom de fichier du manifeste. Trouvez les tests GCS existants pour les skills qui utilisent un client de stockage simulé et ajoutez une couverture pour un manifeste skill.md lors de l’énumération et du chargement. Le travail est terminé lorsque les chargeurs GCS et leurs wrappers asynchrones gèrent skill.md comme les chargeurs locaux et ZIP.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
🔴 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:
- Upload a skill directory with
gs://my-bucket/skills/my-skill/skill.md(valid frontmatter,name: my-skill). _list_skills_in_gcs_dir("my-bucket", "skills/")._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
mainat 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
- Langage dominant
- Python
- Étoiles
- 22.1k
- Forks
- 4.3k
- Merge moyen
- 1 j 10 h
- PR mergées (30 j)
- 5
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Propose un modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de google/adk-python
-
[LiteLLM] role='tool_responses' for Gemma 4 breaks tool calling on Vertex AI Model Garden MaaS (400 INVALID_ARGUMENT)Peut-être pris @surajksharma07 l’a pris il y a 1 jour. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
google/adk-python#7977 · 1 commentaire · 1 personne assignée ·
Les mainteneurs répondent en général sous 4 jours
-
FileArtifactService changes CRLF and CR line endings in text artifactsPeut-être pris @sanketpatil06 l’a pris il y a 3 jours. Ouverterequest clarification services
Difficulté 2/5 1-3 heures Accessibilité débutants 85/100
google/adk-python#7914 · 1 commentaire · 1 personne assignée ·
Les mainteneurs répondent en général sous 4 jours
-
ContainerCodeExecutor drops output files that are hard linksPeut-être pris @llalitkumarrr l’a pris il y a 3 jours. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
google/adk-python#7906 · 2 commentaires · 1 personne assignée ·
Les mainteneurs répondent en général sous 4 jours
-
RestApiTool crashes on a request body media type that has no schemaPeut-être pris @llalitkumarrr l’a pris il y a 6 jours. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
google/adk-python#7838 · 1 commentaire · 1 personne assignée ·
Les mainteneurs répondent en général sous 4 jours
-
LiteLlm with SSE streaming records the answer twice in gen_ai.output.messagesPeut-être pris @surajksharma07 l’a pris il y a 13 jours. Ouvertemodels
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
google/adk-python#7630 · 11 commentaires · 1 personne assignée ·
Les mainteneurs répondent en général sous 4 jours
Toutes les issues de google/adk-python
Issues similaires
-
area:docs documentation effort:M ready-for-agent
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
mczielinski/ob-analytics#423 ·
Les mainteneurs répondent en général sous 1 jour
-
flaky: test_ci_eval_scope_exclude never-matches case spends its 1s budget on the rollout waitOuverteneeds-triage
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
gke-labs/kube-agents#4838 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 83/100
danyuchn/asd-ste100-skill#60 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 64/100
Gathin23/cleanyourtv#3299 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
autowarefoundation/autoware_carla_scenario#1485 ·
Les mainteneurs répondent en général sous 1 jour