developing-genkit-go
Develop AI-powered applications using Genkit in Go.
Skill by googleOfficial
Chalk Labs
Need help deploying developing-genkit-go?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/google-developing-genkit-go
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/developing-genkit-go
What's inside
- Skill name
developing-genkit-go- Description
- Develop AI-powered applications using Genkit in Go. Use when the user asks to build AI features, agents, flows, or tools in Go using Genkit, or when working with Genkit Go code involving generation, prompts, streaming, tool calling, or model providers.
- License
- Apache-2.0
- Metadata
- version: 1.0.0 · category: AiAndMachineLearning
- Instructions
- 152 lines in SKILL.md · view on GitHub
Before installing
- Instructions call the network
Files (20)
- SKILL.md
- a2ui.md · references/
- agents-artifacts.md · references/
- agents-background.md · references/
- agents-branching.md · references/
- agents-custom.md · references/
- agents-deployment.md · references/
- agents-human-in-the-loop.md · references/
- agents-multi-agent.md · references/
- agents-sessions.md · references/
- agents-state.md · references/
- agents.md · references/
- flows-and-http.md · references/
- generation.md · references/
- getting-started.md · references/
- middleware.md · references/
- observability.md · references/
- prompts.md · references/
- providers.md · references/
- tools.md · references/
SKILL.md (first lines)
# Genkit Go
Genkit Go is an AI SDK for Go that provides generation, structured output,
streaming, tool calling, prompts, and flows with a unified interface across
model providers.
## Hello World
```go
package main
import (
"context"
"fmt"
"log"
"net/http"
"github.com/firebase/genkit/go/ai"
"github.com/firebase/genkit/go/genkit"
"github.com/firebase/genkit/go/plugins/googlegenai"
"github.com/firebase/genkit/go/plugins/server"
)
func main() {
ctx := context.Background()
g := genkit.Init(ctx, genkit.WithPlugins(&googlegenai.GoogleAI{}))
genkit.DefineFlow(g, "jokeFlow", func(ctx context.Context, topic string) (string, error) {
return genkit.GenerateText(ctx, g,
ai.WithModelName("googleai/gemini-flash-latest"),
ai.WithPrompt("Tell me a joke about %s", topic),
)
})
mux := http.NewServeMux()
for _, f := range genkit.ListFlows(g) {
mux.HandleFunc("POST /"+f.Name(), genkit.Handler(f))
}
log.Fatal(server.Start(ctx, "127.0.0.1:8080", mux))
}
```
## Core Features
Load the appropriate reference based on what you need:
| Feature | Reference | When to load |
| --- | --- | --- |
| Initialization | [references/getting-started.md](references/getting-started.md) | Setting up `genkit.Init`, plugins, the `*Genkit` instance pattern |
| Generation | [references/generation.md](references/generation.md) | `Generate`, `GenerateText`, `GenerateData`, streaming, output formats, `Embed` |
| Prompts | [references/prompts.md](references/prompts.md) | `DefinePrompt`, `DefineDataPrompt`, `.prompt` files, schemas |
| Tools | [references/tools.md](references/tools.md) | `DefineTool`, `DefineResumableTool` interrupts (`Interrupted` claim, `Restart`/`Respond`, `WithResume`), `ai/tool` helpers (`tool.Interrupt`, `tool.Fail`, `tool.AttachParts`) |
| Middleware | [references/middleware.md](references/middleware.md) | `ai.Middleware`, `ai.WithUse`, `Hooks` (Generate/Model/Tool), built-ins (`Retry`, `Fallback`, `ToolApproval`, `Filesystem`, `Skills`, `SoftToolErrors`, `ContextCompression`, `Budget`) |
| Observability | [references/observability.md](references/observability.md) | OpenTelemetry export (`otelgenai`), `tracing.SetInstrumentation`, `aix.Observer`, reflection API outside dev |
| Flows & HTTP | [references/flows-and-http.md](references/flows-and-http.md) | `DefineFlow`, `DefineStreamingFlow`, `genkit.Handler`, HTTP serving |
| Model Providers | [references/providers.md](references/providers.md) | Google AI, Vertex AI, Anthropic, OpenAI-compatible, Ollama setup |
## Agents (Experimental)
Genkit Go has an **experimental** agent API for persistent, multi-turn
conversations (sessions, snapshots, interrupts, branching, background
execution).
It is gated: initialize with `genkit.Init(ctx, genkit.WithExperimental())` or
the
constructors panic. Server constructors come from `genkit/exp` (aliased
`genkitx`); types and options from `ai/exp` (aliased `aix`); session stores from
`ai/exp/localstore`.
- **Agent or flow?** If the task is conversational, multi-turn, or described as
"an agent", "assistant", or "chatbot", build it with `genkitx.DefineAgent`
rather than hand-rolling a `Generate` + tools loop in a flow. Reach for a
plain flow only for single-shot, stateless generation.
For details see:
- [Agents](references/agents.md): defining/serving an agent, running turns,
and client- vs server-managed state (start here).
- [Sessions & persistence](references/agents-sessions.md): session stores
(`localstore.NewInMemorySessionStore`/`NewFileSessionStore`, PostgreSQL),
snapshots, and the `sessionstoretest` conformance suite.
- [Human-in-the-loop / interrupts](references/agents-human-in-the-loop.md):
pausing for approval/input and resuming.
- [Branching](references/agents-branching.md): forking a conversation from a
snapshot.
- [Background agents](references/agents-background.md): detaching long-running
turns and polling.
- [Working with state](references/agents-state.md): typed custom session
state, streamed as JSON patches.
- [Artifacts](references/agents-artifacts.md): producing and reading named
deliverables.
- [Multi-agent orchestration](references/agents-multi-agent.md): delegating to
sub-agents, background delegation, `continue_task`, and remote agents
(`DefineRemoteAgent`).
- [Advanced custom agents](references/agents-custom.md): `DefineCustomAgent`
for full turn control.
- [Deploying agents](references/agents-deployment.md): serving agents over
HTTP with `genkit.Handler`.
## Generative UI (A2UI)
Genkit Go has an **A2UI** (Agent-to-UI) plugin
(`github.com/firebase/genkit/go/plugins/a2ui/exp`, imported as `a2uix`) that
lets an agent stream interactive UI **surfaces** (cards, lists, forms, buttons),
not just prose. The whole integration is the `&a2uix.Surfaces{}` model
middleware added via `ai.WithUse`
on a generate call or agent inline prompt. **Go is server-only: it has no A2UI
client/renderer.** Render surfaces with a JS or Dart/Flutter client that talks
to
your Go agent over HTTP (the server and clients are wire-compatible).
- [A2UI](references/a2ui.md): server middleware, options, custom catalogs, and
security. For the client (rendering surfaces), refer to the A2UI reference
in the Genkit JS or Dart skill.
## Genkit CLI (recommended)
`genkit start` unintrusively wraps any Go 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, evenFrom google/skills, Apache-2.0.
More from google/skills
- 0.865score
google-ads-api-account-diagnostics
google-ads-api-teamOfficial
Diagnoses Google Ads account performance issues such as conversion loss (value or volume), low lead flow/volume, and lost impression share (opportunities) due…
SkillAFreshness: A★ 21.5KClaude Code +9 - 0.861score
secops-triage
Google LLCOfficial
Expert guidance for security alert triage in Google SecOps.
SkillAFreshness: A★ 21.5KClaude Code +9 - 0.861score
secops-detection-engineering
Google LLCOfficial
Author, validate, test, and deploy YARA-L 2.0 detection rules and evaluate end-to-end detection coverage gaps in Google SecOps.
SkillAFreshness: A★ 21.5KClaude Code +9 - 0.861score
secops-hunt
Google LLCOfficial
Expert guidance for proactive threat hunting in Google SecOps.
SkillAFreshness: A★ 21.5KClaude Code +9 - 0.861score
secops-cases
Google LLCOfficial
Manage Google Security Operations (SecOps) SOAR cases throughout their lifecycle.
SkillAFreshness: A★ 21.5KClaude Code +9 - 0.861score
secops-investigate
Google LLCOfficial
Expert guidance for deep security incident and entity investigations in Google SecOps.
SkillAFreshness: A★ 21.5KClaude Code +9 - 0.824score
google-ads-api-quickstart
google-ads-api-teamOfficial
Guides developers through Google Ads API quickstart: credential setup, choosing from 6 client libraries/REST, configuring environments, and running a…
SkillBFreshness: B★ 21.5KClaude Code +9 - 0.819score
google-ads-api-mcp-setup
google-ads-api-teamOfficial
Guides developers through downloading, configuring, and installing the official open-source Google Ads MCP Server.
SkillBFreshness: B★ 21.5KClaude Code +9 - 0.815score
ima-dai-sdk
Google LLCOfficial
Integrates the Google Interactive Media Ads (IMA) Dynamic Ad Insertion (DAI) SDK into websites, web apps, mobile apps, or TV apps.
SkillBFreshness: B★ 21.5KClaude Code +9 - 0.815score
ima-sdk-client-side
Google LLCOfficial
Supports Interactive Media Ads (IMA) SDK.
SkillBFreshness: B★ 21.5KClaude Code +9 - 0.699score
gcloud
googleOfficial
Provides safety-critical validation, guardrails, and data reduction for gcloud CLI operations across Google Cloud Platform (GCP) services and infrastructure.
SkillAFreshness: A★ 21.5KClaude Code +9 - 0.699score
agent-platform-deploy
googleOfficial
Deploy open models or custom weights from Model Garden to Agent Platform endpoints, check the status of an in-progress deployment operation, or clean up…
SkillAFreshness: A★ 21.5KClaude Code +9
Signals
- Stars
- 21,542
- Forks
- 1,821
- Open issues
- 21
- Last commit (this folder)
- Oct 22, 2026 (20 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- Version
- 1.0.0
- License
- Apache-2.0
- Repository
- github.com/google/skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from google
- 0.699score
data-manager-api-setup
googleOfficial
Guides developers through client library installation and authentication setup steps for the Data Manager API.
SkillAFreshness: A★ 21.5KClaude Code +9 - 0.699score
retrieving-developer-knowledge
googleOfficial
Searches, retrieves, and synthesizes official Google developer documentation across Google Cloud, AI/Gemini, Android, Chrome, Web, Flutter, Go, Firebase, and…
SkillAFreshness: A★ 21.5KClaude Code +9 - 0.699score
agent-platform-migrate-from-ai-studio
googleOfficial
Guides agents and users through migrating from Gemini API in Google AI Studio to Gemini Enterprise Agent Platform (formerly Vertex AI).
SkillAFreshness: A★ 21.5KClaude Code +9 - 0.699score
gcloud
googleOfficial
Provides safety-critical validation, guardrails, and data reduction for gcloud CLI operations across Google Cloud Platform (GCP) services and infrastructure.
SkillAFreshness: A★ 21.5KClaude Code +9 - 0.699score
google-cloud-recipe-onboarding
googleOfficial
Guides a developer's first steps on Google Cloud, covering account creation, billing setup, project management, and deploying a first resource.
SkillAFreshness: A★ 21.5KClaude Code +9 - 0.699score
agent-platform-deploy
googleOfficial
Deploy open models or custom weights from Model Garden to Agent Platform endpoints, check the status of an in-progress deployment operation, or clean up…
SkillAFreshness: A★ 21.5KClaude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get developing-genkit-go running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
developing-genkit-go skill. Agent Mart. https://agentmart.dev/skills/google-developing-genkit-go (last updated 2026-10-24)