kilo-org/kilo-marketplace

bootstrapping-agent

>- Wires up an Airbyte connector for use in a PydanticAI or Claude SDK agent. Generates auth config, connector initialization, and tool_utils-decorated tool function. Use when adding a connector to an agent or setting up a new agent with a connector.

First seen Jun 28, 2026

Installation

$ npx skills add kilo-org/kilo-marketplace --skill bootstrapping-agent

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from kilo-org/kilo-marketplace · top by installs.

npx skills add kilo-org/kilo-marketplace

Browse all from kilo-org/kilo-marketplace

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Declared
Cursor Not declared
Codex Declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 173
License LICENSE
Default branch main
Open issues 14
Status Active

Skill metadata

Parsed from SKILL.md frontmatter.

Declared agents claude-code codex
More metadata
category
development
source
{"repository":"https:\/\/github.com\/airbytehq\/airbyte-agent-sdk","path":".codex\/skills\/bootstrapping-agent","license_path":"LICENSE","commit":"f20dbf71efa4f63cf57e2209049fd53c4c0f0614"}

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 4,194 B
  • docs SUMMARY.md 274 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 8 installs

SKILL.md

Bootstrapping an Agent with an Airbyte Connector

Install the SDK

uv pip install airbyte-agent-sdk

The single airbyte-agent-sdk package ships every typed connector. Import them from airbyteagentsdk.connectors.{slug}. toolutils, listentities(), and entity_schema() are only available on typed connectors.

Core Pattern (PydanticAI)

import os
from pydantic_ai import Agent
from airbyte_agent_sdk import AirbyteAuthConfig
from airbyte_agent_sdk.connectors.stripe import StripeConnector

connector = StripeConnector(
    auth_config=AirbyteAuthConfig(
        airbyte_client_id=os.getenv("AIRBYTE_CLIENT_ID"),
        airbyte_client_secret=os.getenv("AIRBYTE_CLIENT_SECRET"),
        workspace_name=os.getenv("AIRBYTE_WORKSPACE_NAME", "default"),
    )
)

agent = Agent(
    "<provider:model>",
    system_prompt=(
        "You are a helpful assistant with access to Stripe. "
        "Use the stripe_execute tool to look up customer, invoice, and balance data. "
        "Ask for clarification if a request is ambiguous."
    ),
)

@agent.tool_plain
@StripeConnector.tool_utils
async def stripe_execute(entity: str, action: str, params: dict | None = None):
    return await connector.execute(entity, action, params or {})

Always hosted mode: Use AirbyteAuthConfig with airbyteclientid and airbyteclientsecret. Never generate local auth code.

Decorator Stacking

The framework decorator goes on top, tool_utils goes underneath:

@agent.tool_plain           # Framework registers this as a tool
@StripeConnector.tool_utils # Enriches docstring with connector capabilities
async def stripe_execute(...):

toolutils is a @classmethod — use StripeConnector.toolutils, not connector.tool_utils.

Automatic Retry Translation

toolutils automatically translates retryable errors to the framework's retry signal (ModelRetry for pydantic-ai). The example above continues to work unchanged — translation happens inside toolutils with no extra decorator needed.

Reference demo: connector-sdk/examples/demo_agent.py (mocked, no credentials needed: --mock).

Verify the Setup

check = await connector.check()
if check.status == "healthy":
    print(f"Connected — checked {check.checked_entity}/{check.checked_action}")
else:
    print(f"Failed: {check.error}")

Framework Detection

Detect the developer's framework from their existing imports:

  • from pydantic_ai import Agent → Use PydanticAI patterns
  • from anthropic import Anthropic → Use Claude SDK patterns
  • If unclear, ask which framework they're using

Connector Naming Convention

All connectors ship in airbyte-agent-sdk. Import each one from airbyteagentsdk.connectors.{slug}:

Connector Import Class
stripe airbyteagentsdk.connectors.stripe StripeConnector
zendesk-support airbyteagentsdk.connectors.zendesk_support ZendeskSupportConnector
hubspot airbyteagentsdk.connectors.hubspot HubspotConnector

Hyphens in connector slugs become underscores in the submodule path.

Environment Variables

The developer needs these in their .env:

AIRBYTE_CLIENT_ID=your_client_id
AIRBYTE_CLIENT_SECRET=your_client_secret
AIRBYTE_WORKSPACE_NAME=your_workspace_name

References

  • [SDK API reference](../airbyte-sdk-reference/sdk-api.md) — full API signatures and options
  • [PydanticAI patterns](../airbyte-sdk-reference/pydantic-ai.md) — complete runnable examples
  • [Claude SDK patterns](../airbyte-sdk-reference/claude-sdk.md) — Anthropic Python SDK examples