v0.4.3 — Gemini adapter fix, GitHub templates, docs guardrails
Added
- Framework —
_sanitize_gemini_tool_name()for explicit Gemini/OpenAI/DeepSeek tool-name mapping (#229). - Tests — Gemini sanitization coverage and catalog doc anti-pattern guard (
test_skill_docs_gemini_anti_patterns) to prevent manualtypes.Toolwrapping regressions (#230). - Documentation — Canonical Gemini dispatch in
gemini.mdandskill_usage_template.md; contributor category selection guidance inCONTRIBUTING.md(#204, #205).
Changed
- Framework —
SkillLoader.to_gemini_tool()now returnsgoogle.genai.types.Toolinstead of a raw dict. Breaking for code that indexed the old dict return value; pass the object directly toGenerateContentConfig(tools=...)(#223, #229). - GitHub — Issue templates (CLI, Skill Upgrade, Examples, Packaging), issue chooser, PR template, and pastel label taxonomy with CI sync from
.github/labels.json(#227). - Documentation — Gemini snippets across skill catalog pages,
introduction.md,agent_loops.md, andcli.mdaligned with sanitized tool-name dispatch (#229, #245). - Examples — All Gemini scripts use
to_gemini_tool()directly and_sanitize_gemini_tool_name()for dispatch (#229).
Fixed
- Framework —
to_gemini_tool()returned a plain dictionary, causingValidationErrorwhen passed togoogle-genaiGenerateContentConfig(tools=...)(#223).
Upgrade
pip install -U skillwareFor Gemini integrations:
pip install -U "skillware[gemini]"After upgrade, pass the adapter output directly — no manual types.Tool(...) wrap:
from skillware.core.loader import SkillLoader
import google.genai as genai
from google.genai import types
bundle = SkillLoader.load_skill("finance/wallet_screening")
tool = SkillLoader.to_gemini_tool(bundle) # types.Tool
client = genai.Client()
client.models.generate_content(
model="gemini-2.5-flash",
contents="Screen wallet 0xd8dA...",
config=types.GenerateContentConfig(tools=[tool]),
)Match function_call.name to the sanitized name in multi-tool loops:
SkillLoader._sanitize_gemini_tool_name(bundle["manifest"]["name"])See gemini.md and CHANGELOG.md.
Contributors
- @Areen-09 — Gemini
to_gemini_tool()fix, sanitized tool names, examples, tests, and catalog doc updates (#223, #229, #230) - @syed7-crypto — Contributor category selection guidance in
CONTRIBUTING.mdand cross-links (#204, #205) - @rosspeili — GitHub issue/PR templates and label taxonomy with CI sync (#227); label palette hotfixes;
agent_loops.md/cli.mdGemini dispatch follow-up (#245); release cut
Full changelog
- #229 —
to_gemini_tool()returnstypes.Toolwith sanitized names (#223) - #245 — Gemini dispatch alignment in
agent_loops.mdandcli.md(#230 follow-up) - #227 — GitHub issue/PR templates and label taxonomy
- #205 — Contributor category selection guidance (#204)
Compare: v0.4.2...v0.4.3