Official agent skill

Developing Genkit Python

by google in google/skills

Develop AI-powered applications using Genkit in Python. An agent skill from google/skills.

OfficialApache-2.0Auto-check passed

Install Developing Genkit Python

skills CLI
$ npx skills add google/skills --skill developing-genkit-python -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install google/skills developing-genkit-python --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/google/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/cloud/developing-genkit-python .claude/skills/developing-genkit-python && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
developing-genkit-python
GitHub stars
21k
Used in
1 other repo
Token cost
~1.7k tokens
SKILL.md length
641 words
Files
17 (incl. references)
Skills in repo
147
Repo updated
First seen
Licence
Apache-2.0

At a glance

Develop AI-powered applications using Genkit in Python. An agent skill from google/skills.

  • Works in 6 steps: Agent or flow? If the task is… → Set GEMINI_API_KEY. Use prefixed model… → Enter via ai.run_main(main()) for Genkit… → …
  • The user asks about Genkit
  • SKILL.md covers Prerequisites, Hello World, Agents (Beta) and Imports, plus 3 more sections
  • Calls uv and npm; needs GEMINI_API_KEY

What it does

Developing Genkit Python is an agent skill from google/skills, published by the product's own GitHub organization. Develop AI-powered applications using Genkit in Python. Use when the user asks about Genkit, AI agents, flows, or tools in Python, or when encountering Genkit errors, import issues, or API problems.

Its SKILL.md is about 1.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 17 other files, including reference files (for example `references/agents-artifacts.md`, `references/agents-background.md` and `references/agents-branching.md`).

It works with Python. The repository describes itself as: Agent Skills for Google products and technologies. The licence is Apache-2.0.

When your agent uses it

  • The user asks about Genkit
  • Tools in Python
  • Encountering Genkit errors

Example prompts

  • “/developing-genkit-python”

Requirements

  • Python 3
  • Node.js
  • A credential in GEMINI_API_KEY

Workflow steps

6 steps, taken from the first numbered list in SKILL.md.

  1. Agent or flow? If the task is conversational, multi-turn, or described as
  2. Set GEMINI_API_KEY. Use prefixed model ids (googleai/gemini-flash-latest).
  3. Enter via ai.run_main(main()) for Genkit apps (especially under
  4. Run with Dev Workflow (genkit start + Dev UI).
  5. Verify with traces, not a blind run. Running the app directly (uv run)
  6. Stuck? Common Errors first.

What it can do on your machine

Read from SKILL.md and the folder at commit 7d97937. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • uv
    • npm

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • docs.astral.sh

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • GEMINI_API_KEY

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Developing Genkit Python loads about 1.7k tokens when it runs, and up to ~17k if it reads all its reference files. Until then it costs about 56 tokens; SKILL.md has 641 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~56
When it runs · the whole SKILL.md, loaded when a task matches
~1.7k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~17k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from google/skills at commit 7d97937, republished under its Apache-2.0 licence (© google). 641 words, ~1,664 tokens.

Download SKILL.mdSave it as .claude/skills/developing-genkit-python/SKILL.md (or your agent's skills folder). This skill also uses 16 other files; get the full folder from GitHub.
name
developing-genkit-python
description
Develop AI-powered applications using Genkit in Python. Use when the user asks about Genkit, AI agents, flows, or tools in Python, or when encountering Genkit errors, import issues, or API problems.
metadata.version
1.0.0
metadata.category
AiAndMachineLearning

Genkit Python

Build AI features in Python — generate, stream, tools, flows, and multi-turn agents — with one SDK.

Prerequisites

  • Python 3.10+ and uv (install)
  • Genkit CLI: npm install -g genkit-cli if genkit --version is missing

New app? Setup. Patterns? Examples.

Hello World

python
from genkit import Genkit
from genkit_google_genai import GoogleAI

ai = Genkit(
    plugins=[GoogleAI()],
    model='googleai/gemini-flash-latest',
)

async def main():
    response = await ai.generate(prompt='Tell me a joke about Python.')
    print(response.text)

if __name__ == '__main__':
    ai.run_main(main())

Agents (Beta)

Multi-turn chats with history, typed state, human approval, branching, and background work. Start here: Agents.

python
chat = agent.chat()
res = await chat.send('Hello')           # AgentResponse
turn = chat.send_stream('Hello')         # AgentTurn — .stream / .response

More: sessions · HITL · branching · background · state · artifacts · custom · HTTP

Imports

  • Google AI: from genkit_google_genai import GoogleAI
  • Agents: from genkit.agent import InMemorySessionStore, ...
  • Middleware: from genkit_middleware import Middleware, ToolApproval, ...
  • FastAPI: from genkit_fastapi import serve_agent, serve_flow
  • Evals: from genkit_evaluators import register_genkit_evaluators

Workflow

  1. Agent or flow? If the task is conversational, multi-turn, or described as "an agent", "assistant", or "chatbot", build it with ai.define_agent (see Agents) rather than hand-rolling a generate + tools loop inside a flow. Reach for a plain flow only for single-shot, stateless generation.
  2. Set GEMINI_API_KEY. Use prefixed model ids (googleai/gemini-flash-latest).
  3. Enter via ai.run_main(main()) for Genkit apps (especially under genkit start). See Common Errors.
  4. Run with Dev Workflow (genkit start + Dev UI).
  5. Verify with traces, not a blind run. Running the app directly (uv run) does not capture dev traces. See Genkit CLI for how to run your app and capture traces.
  6. Stuck? Common Errors first.

genkit start unintrusively wraps any Python program that uses the Genkit library, running it unchanged while capturing traces from every Genkit action so you can prove tools were actually called and inspect model I/O from the terminal, even for headless checks. It forwards stdio, so interactive CLI tools that rely on stdin/stdout work without issues. Running the app directly (uv run) skips trace capture, so you're debugging blind.

Primary pattern (default): prefix genkit start -- to your normal run command. This collects telemetry from any Genkit code your program runs, whether triggered from the dev UI, your own web server/web UI, or a plain script:

bash
genkit start -- uv run src/main.py
genkit start --noui -- uv run src/main.py   # same, without the Dev UI (still a persistent server)

genkit start runs until you stop it with Ctrl+C. That is expected and correct for the common cases: a server your web/mobile app calls, or an interactive CLI you exit yourself. --noui only drops the Dev UI; it is not a one-shot command and will not exit on its own. Do not use genkit start as a blocking step in automated/non-interactive contexts; use flow:run (below) for that.

Non-interactive use (agents/CI): add the global --non-interactive flag before -- so the CLI uses defaults and never blocks on a prompt (e.g. the first-run analytics notice): genkit start --non-interactive -- uv run src/main.py (works with flow:run too).

Show full SKILL.md (224 more words)Show less

Run a flow (flow:run): invoke a specific flow by name from the CLI. Append your run command after -- to spin up the runtime just for this run (the command runs as-is to register your flows):

bash
genkit flow:run myFlow '{"data": "input"}' -- uv run src/main.py

This is self-terminating: it runs the flow once, prints a Trace ID, then exits, so it's the right choice for a quick, non-interactive check (unlike genkit start). Note: flow:run runs flows (@ai.flow()), not agents; you can't flow:run an agent (ai.define_agent) directly. To exercise an agent from the CLI, wrap one turn in a throwaway flow and run that (see Agents).

Debugging with traces: the fastest way to see prompts, model inputs/outputs, tool calls, latencies, and errors. Inspect from the terminal after any run under genkit start:

bash
genkit trace:list                        # find recent trace IDs
genkit trace:get <traceId>               # full trace details (inputs, outputs, tool calls, errors)
genkit trace:get <traceId> --format json # machine-readable JSON, safe to pipe into jq or other parsers

For machine-readable output, pass --format json to get clean JSON you can pipe into jq or other parsers. The default output is human-oriented (banner/log lines, possible truncation on large traces), so don't pipe that form directly; use --format json, grep, or the Dev UI trace viewer.

See Dev Workflow for the full checklist and Dev UI walkthrough.

References

  • Examples: Structured output, streaming, flows, tools, embeddings.
  • Setup: New project bootstrap and plugins.
  • Common Errors: Read first when something breaks.
  • FastAPI: HTTP, genkit_fastapi_handler, parallel flows.
  • Dotprompt: .prompt files and helpers.
  • Evals: Evaluators and datasets.
  • Dev Workflow: genkit start, Dev UI, checklist.
  • Agents (Beta): Multi-turn API.

© google, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 16 other files (references) in skills/cloud/developing-genkit-python of google/skills.

  • SKILL.md
  • references/agents-artifacts.md
  • references/agents-background.md
  • references/agents-branching.md
  • references/agents-custom.md
  • references/agents-http.md
  • references/agents-human-in-the-loop.md
  • references/agents-sessions.md
  • references/agents-state.md
  • references/agents.md
  • references/common-errors.md
  • references/dev-workflow.md
  • references/dotprompt.md
  • references/evals.md
  • references/examples.md
  • references/fastapi.md
  • references/setup.md

Open the folder on GitHubat commit 7d97937

Used in 1 other repository

We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in google/skills, which our catalogue first saw on October 7, 2026.

Compare with similar skills

Developing Genkit Python next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Developing Genkit Python compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Developing Genkit Python this skillgoogle/skills21k1 repos~1.7kAutomated safety check: PassApache-2.0
MCP Server Builderanthropics/skills180k64 repos~2.3kAutomated safety check: PassApache-2.0
PDF Processinganthropics/skills180k48 repos~2kAutomated safety check: PassProprietary
NotebookLM Research AssistantPleasePrompto/notebooklm-skill7.8k14 repos~2.4kAutomated safety check: NotesMIT
Manim Video Productionbrowser-use/video-use28k6 repos~3kAutomated safety check: PassMIT
Code Review ChecklistshareAI-lab/learn-claude-code78k5 repos~1.1kAutomated safety check: PassMIT

Similar skills

  • MCP Server Builder

    anthropics/skills

    Official

    Guides the design and implementation of Model Context Protocol servers in TypeScript or Python, from tool naming and error messages to evaluation.

    180k GitHub starsUsed in 64 repos~2.3k tokens
    Agent WorkflowsAuto-check passed
  • PDF Processing

    anthropics/skills

    Official

    Handles everyday PDF jobs in Python and on the command line: extract text and tables, merge, split, rotate, watermark, fill forms, encrypt and OCR.

    180k GitHub starsUsed in 48 repos~2k tokens
    Documents & OfficeAuto-check passed
  • NotebookLM Research Assistant

    PleasePrompto/notebooklm-skill

    Lets Claude Code ask questions of your Google NotebookLM notebooks through browser automation and return answers grounded in your uploaded sources.

    7.8k GitHub starsUsed in 14 repos~2.4k tokens
    Knowledge ManagementAuto-check: notes
  • Manim Video Production

    browser-use/video-use

    Produces math and technical explainer videos with Manim Community Edition: concept animations, equation derivations, algorithm walkthroughs and data stories.

    28k GitHub starsUsed in 6 repos~3k tokens
    Media & CreativeAuto-check passed
  • Code Review Checklist

    shareAI-lab/learn-claude-code

    Reviews code against a five-part checklist covering security, correctness, performance, maintainability and testing, and reports findings in a fixed format.

    78k GitHub starsUsed in 5 repos~1.1k tokens
    DevelopmentAuto-check passed
  • PPT Master

    hugohe3/ppt-master

    Generates editable PowerPoint decks, rebuilds slides from images, fills .pptx templates and polishes existing presentations through routed workflows.

    58k GitHub starsUsed in 1 repo~2.5k tokens
    Documents & OfficeAuto-check passed

More from google/skills

All 147 skills in this repo
  • Official

    Query Cloud Trace spans, filter by latency thresholds or error status, correlate distributed traces with Cloud Logging, and diagnose latency bottlenecks across Google Cloud services.

    21k GitHub stars~1.7k tokensUpdated yesterday
    Auto-check passed
  • Official

    Manages Google Cloud Privileged Access Manager entitlements and grants: create and edit entitlements, request temporary access, and approve or deny pending grants.

    21k GitHub stars~3.2k tokensUpdated yesterday
    Auto-check passed
  • Official

    Writes Terraform alerting policies for AI agents that emit OpenTelemetry metrics, covering reliability, cost, safety, security and quality signals on Google Cloud.

    21k GitHub stars~4.2k tokensUpdated yesterday
    Auto-check passed
  • Official

    Deploys open models or custom weights from Model Garden to Agent Platform endpoints, checks deployment status and cleans up endpoints, confirming before any change.

    21k GitHub stars~5k tokensUpdated yesterday
    Auto-check passed
  • Official

    Searches, manages and scaffolds skills in the Gemini Enterprise Agent Platform Skill Registry using bundled Python scripts and Google Cloud credentials.

    21k GitHub stars~584 tokensUpdated yesterday
    Auto-check passed
  • Designs GCP infrastructure as local Terraform, validates and scans it against best practices, then imports it to Application Design Center for deployment and troubleshooting.

    21k GitHub stars~4.4k tokensUpdated yesterday
    Auto-check passed

Works with

Questions about Developing Genkit Python

What does Developing Genkit Python do?

Develop AI-powered applications using Genkit in Python. An agent skill from google/skills. Developing Genkit Python is an agent skill from google/skills, published by the product's own GitHub organization. Develop AI-powered applications using Genkit in Python.

When should I use Developing Genkit Python?

Developing Genkit Python fits situations like: the user asks about Genkit; tools in Python; encountering Genkit errors.

How do I install Developing Genkit Python in Claude Code?

Run `npx skills add google/skills --skill developing-genkit-python -a claude-code`. Or copy the skill folder (skills/cloud/developing-genkit-python in google/skills) into .claude/skills/developing-genkit-python in your project. Claude Code loads it when a task matches its description.

How do I install Developing Genkit Python in Codex?

Run `npx skills add google/skills --skill developing-genkit-python -a codex`. Or copy the skill folder (skills/cloud/developing-genkit-python in google/skills) into .agents/skills/developing-genkit-python in your project. Codex loads it when a task matches its description.

Can I use Developing Genkit Python in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add google/skills --skill developing-genkit-python -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/developing-genkit-python, .gemini/skills/developing-genkit-python, .github/skills/developing-genkit-python and .opencode/skills/developing-genkit-python in your project.

What does Developing Genkit Python need to run?

Going by SKILL.md and its folder, Developing Genkit Python needs the command-line tools its instructions call (uv and npm) and credentials named GEMINI_API_KEY. Our summary lists: Python 3; Node.js; A credential in GEMINI_API_KEY.

Does Developing Genkit Python access the network?

SKILL.md names 1 domain. As links in the text: docs.astral.sh. This is read from the text; nothing was executed.

Is Developing Genkit Python safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Developing Genkit Python use?

Developing Genkit Python is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Developing Genkit Python use?

About 1.7k tokens (SKILL.md is roughly 6.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 15k tokens, read only when the agent opens those files.

What are the alternatives to Developing Genkit Python?

Skills that share tags, products or a category with Developing Genkit Python: MCP Server Builder (anthropics/skills, 180k stars), PDF Processing (anthropics/skills, 180k stars), NotebookLM Research Assistant (PleasePrompto/notebooklm-skill, 7.8k stars) and Manim Video Production (browser-use/video-use, 28k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Developing Genkit Python?

google (a GitHub organization, an official publisher) maintains it in google/skills, which has 21,032 GitHub stars. The repository holds 147 skills in this directory. The repository was last updated on October 8, 2026.

Source: google/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.