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".
Installation
Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.
View source ↗GuidesSkill instructions
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
Examples
Read the usage examples in the source repository.
View source ↗Source history
- Indexed on
- 2026-01-20
- Index updated
- 2026-02-04
- Branch
- main
Index and sync dates describe this directory. View the source repository for code history.
GitHub ↗chat Comments (0)
Sign in to join the discussion and leave a comment.
No comments yet. Be the first to share your thoughts!