openapi-toolkit-googleai-dart
Automates updating googleai_dart when Google AI OpenAPI spec changes. Fetches latest spec, compares against current, generates changelogs and prioritized implementation plans. Use for: (1) Checking for API updates, (2) Generating implementation plans for spec changes, (3) Creating new models/endpoints from spec, (4) Syncing local spec with upstream. Triggers: "update api", "sync openapi", "new endpoints", "api changes", "check for updates", "update spec", "api version", "fetch spec", "compare spec", "what changed in the api", "implementation plan".
安装与使用
请根据来源仓库和你的 AI 工具说明安装此技能。先阅读技能文件和依赖要求,再添加到工作流。
查看来源 ↗使用指南技能说明
OpenAPI Toolkit (googleai_dart)
Uses shared scripts from openapi-toolkit with googleai_dart-specific configuration.
Prerequisites
-
GEMINI_API_KEYorGOOGLE_AI_API_KEYenvironment variable set - Working directory: Repository root
- Python 3
Spec Registry
| Spec | Description | Auth Required |
|---|---|---|
main |
Core Gemini API (generation, embeddings, files, models, etc.) | Yes |
interactions |
Experimental Interactions API (server-side state, agents) | No |
Workflow
1. Fetch Latest Specs
# Fetch all specs + auto-discover new ones
python3 .claude/shared/openapi-toolkit/scripts/fetch_spec.py \
--config-dir .claude/skills/openapi-toolkit-googleai-dart/config
# Fetch specific spec only
python3 .claude/shared/openapi-toolkit/scripts/fetch_spec.py \
--config-dir .claude/skills/openapi-toolkit-googleai-dart/config --spec main
Output: /tmp/openapi-toolkit-googleai-dart/latest-main.json, /tmp/openapi-toolkit-googleai-dart/latest-interactions.json
2. Analyze Changes
python3 .claude/shared/openapi-toolkit/scripts/analyze_changes.py \
--config-dir .claude/skills/openapi-toolkit-googleai-dart/config \
packages/googleai_dart/specs/openapi.json /tmp/openapi-toolkit-googleai-dart/latest-main.json \
--format all \
--changelog-out /tmp/openapi-toolkit-googleai-dart/changelog-main.md \
--plan-out /tmp/openapi-toolkit-googleai-dart/plan-main.md
Generates:
-
changelog-main.md- Human-readable change summary -
plan-main.md- Prioritized implementation plan (P0-P4)
3. Implement Changes
Before implementing, read references/implementation-patterns.md for:
- Model class structure and conventions
- Enum naming patterns
- JSON serialization patterns
- Test patterns and PR templates
Use templates from ../../shared/openapi-toolkit/assets/:
-
model_template.dart- Model class structure -
enum_template.dart- Enum type structure -
test_template.dart- Unit test structure -
example_template.dart- Example file structure
3.5 Update Documentation (MANDATORY)
Before running the review checklist, update all documentation:
-
README.md - Add/update:
- New resources to Features section
- New resources to API Coverage section
- New example references in Examples section
-
example/ - Create/update:
-
{feature}_example.dartfor each new resource
-
-
CHANGELOG.md - Add entry for new features/changes
4. Review & Validate (MANDATORY)
Perform the four-pass review documented in references/REVIEW_CHECKLIST.md:
# Pass 2: Barrel file verification
python3 .claude/shared/openapi-toolkit/scripts/verify_exports.py \
--config-dir .claude/skills/openapi-toolkit-googleai-dart/config
# Pass 3: Documentation completeness
python3 .claude/shared/openapi-toolkit/scripts/verify_readme.py \
--config-dir .claude/skills/openapi-toolkit-googleai-dart/config
python3 .claude/shared/openapi-toolkit/scripts/verify_examples.py \
--config-dir .claude/skills/openapi-toolkit-googleai-dart/config
python3 .claude/shared/openapi-toolkit/scripts/verify_readme_code.py \
--config-dir .claude/skills/openapi-toolkit-googleai-dart/config
# Pass 4: Property-level verification
python3 .claude/shared/openapi-toolkit/scripts/verify_model_properties.py \
--config-dir .claude/skills/openapi-toolkit-googleai-dart/config
# Dart quality checks (run from packages/googleai_dart)
cd packages/googleai_dart && dart analyze --fatal-infos && dart format --set-exit-if-changed . && dart test test/unit/
Pass 4 is critical - catches missing properties in parent models (e.g., Tool, Candidate).
5. Finalize
# Copy fetched specs to persisted locations
cp /tmp/openapi-toolkit-googleai-dart/latest-main.json packages/googleai_dart/specs/openapi.json
cp /tmp/openapi-toolkit-googleai-dart/latest-interactions.json packages/googleai_dart/specs/openapi-interactions.json
# Run quality checks (from packages/googleai_dart)
cd packages/googleai_dart && dart test && dart analyze && dart format --set-exit-if-changed .
Package-Specific References
- Package Guide - Package structure, naming conventions
- Implementation Patterns - Model conventions, serialization patterns
- Review Checklist - Four-pass validation process
Troubleshooting
-
API key error: Export
GEMINI_API_KEYorGOOGLE_AI_API_KEY - Network errors: Check connectivity; retry after a few seconds
- No changes detected: Summary shows all zeros; no action needed
-
New specs discovered: Add them to
config/specs.jsonand re-run
使用示例
查看来源仓库中的使用示例与配置说明。
查看来源 ↗来源历史
- 收录时间
- 2026-01-20
- 索引更新时间
- 2026-02-04
- Branch
- main
收录与同步日期属于本站记录。源码修改历史请查看来源仓库。
GitHub ↗chat Comments (0)
Sign in to join the discussion and leave a comment.
No comments yet. Be the first to share your thoughts!