Nano Banana Pro
Agent skill for nano-banana-pro
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
Sign in to like and favorite skills
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository. When exploring new tasks at any point where two different frameworks interconnect, you should prefer on searching the context7 MCP for documentation/code snippets/examples/etc.
pytestpytest tests/test_agentool.pypytest --cov=src --cov-report=htmlpytest -vpytest -v tests/test_agentool_async_sync.pypip install -e .AgenTools extends Pydantic-AI with deterministic tool execution capabilities. The framework enables:
AgenTool Components: Core framework for creating deterministic agents that mimic LLM behavior while executing specific tools based on structured inputs.
AgenToolkits: Collection of pre-built tool collections for common tasks like auth, storage, HTTP, crypto, metrics, logging, etc.
Workflow AgenToolkits: LLM-powered agents for analyzing, specifying, crafting, and evaluating code using the AgenTool framework.
Core AgenTool System (
src/agentool/):
base.py: Base schema for all AgenTool inputscore/model.py: Synthetic LLM model that provides deterministic executioncore/manager.py: Handles routing and payload transformation between schemas and toolscore/registry.py: Global configuration store for AgenTool instancescore/injector.py: Dependency injection for multi-agent systemsfactory.py: High-level functions for creating AgenToolsAgenToolkits (
src/agentoolkit/):
Workflow System (
src/agentoolkit/workflows/):
Creation: Use
create_agentool() to define an agent with:
Execution: When an agent runs:
Integration: AgenTools integrate seamlessly with pydantic-ai:
from agentool import create_agentool, BaseOperationInput, RoutingConfig from typing import Literal class StorageInput(BaseOperationInput): operation: Literal['read', 'write'] key: str data: Optional[str] = None storage_agent = create_agentool( name='storage', input_schema=StorageInput, routing_config=RoutingConfig( operation_field='operation', operation_map={ 'read': ('storage_read', lambda x: {'key': x.key}), 'write': ('storage_write', lambda x: {'key': x.key, 'data': x.data}), } ), tools=[storage_read, storage_write] )
tests/test_agentool.pytests/test_agent_integration.pytests/test_agentool_async_sync.pytests/agentoolkit/docs/architecture.md: Comprehensive architecture guidedocs/CRAFTING_AGENTOOLS.md: Guide for creating new AgenToolsexamples/: Example implementations and demossrc/templates/: Jinja templates used by workflow agentsPhase 1: Technical Specification Documentation
Phase 2: Detailed Type and Interoperability Documentation
Phase 3: Implementation and Usage Documentation