GCS skill loaders ignore a skill.md manifest that the local and zip loaders accept
Maintainer thường phản hồi trong vòng 4 ngày
Đánh giá
- Độ khó
- 2/5
- Thời gian dự kiến
- 1-3 giờ
- Mức phù hợp với người mới
- 84/100
Hướng nghiên cứu
Bắt đầu trong skills/_utils.py với _list_skills_in_gcs_dir và _load_skill_from_gcs_dir, sau đó so sánh cách _parse_skill_md, _list_skills_in_dir và bộ nạp ZIP chấp nhận cả hai cách viết tên tệp manifest. Tìm các bài kiểm thử skill GCS hiện có sử dụng client lưu trữ giả lập và bổ sung kiểm thử cho manifest skill.md khi liệt kê và tải. Hoàn tất khi các bộ nạp GCS và các wrapper bất đồng bộ của chúng xử lý skill.md như các bộ nạp cục bộ và ZIP.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
🔴 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
- Ngôn ngữ chính
- Python
- Star
- 22.1k
- Fork
- 4.3k
- Merge trung bình
- 1 ngày 10 giờ
- Pull request đã merge (30 ngày)
- 5
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của google/adk-python
-
[LiteLLM] role='tool_responses' for Gemma 4 breaks tool calling on Vertex AI Model Garden MaaS (400 INVALID_ARGUMENT)Có thể đã có người làm @surajksharma07 đã nhận 1 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
google/adk-python#7977 · 1 bình luận · 1 người được giao ·
Maintainer thường phản hồi trong vòng 4 ngày
-
FileArtifactService changes CRLF and CR line endings in text artifactsCó thể đã có người làm @sanketpatil06 đã nhận 3 ngày trước. Đang mởrequest clarification services
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 85/100
google/adk-python#7914 · 1 bình luận · 1 người được giao ·
Maintainer thường phản hồi trong vòng 4 ngày
-
ContainerCodeExecutor drops output files that are hard linksCó thể đã có người làm @llalitkumarrr đã nhận 3 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
google/adk-python#7906 · 2 bình luận · 1 người được giao ·
Maintainer thường phản hồi trong vòng 4 ngày
-
RestApiTool crashes on a request body media type that has no schemaCó thể đã có người làm @llalitkumarrr đã nhận 6 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
google/adk-python#7838 · 1 bình luận · 1 người được giao ·
Maintainer thường phản hồi trong vòng 4 ngày
-
LiteLlm with SSE streaming records the answer twice in gen_ai.output.messagesCó thể đã có người làm @surajksharma07 đã nhận 14 ngày trước. Đang mởmodels
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
google/adk-python#7630 · 11 bình luận · 1 người được giao ·
Maintainer thường phản hồi trong vòng 4 ngày
Tất cả issue của google/adk-python
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
FinanceFlash/unvibecode#509 ·
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 82/100
FAIRmat-NFDI/nomad-distro-dev#161 ·
-
bug v2
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
modelcontextprotocol/python-sdk#3821 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug severity:low
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
Maintainer thường phản hồi trong vòng 2 ngày
-
Log-odds calibration uses upper middle score instead of median for even candidate setsCó thể đã có người làm @flysheep-ai đã nhận hôm nay. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
Maintainer thường phản hồi trong vòng 1 ngày