From firebase
Develops AI apps in Go using Genkit SDK for generation, prompts, streaming, tool calling, flows, and model providers including Google AI, Anthropic, OpenAI, Ollama.
How this skill is triggered — by the user, by Claude, or both
Slash command
/firebase:developing-genkit-goThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
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.
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.
package main
import (
"context"
"fmt"
"log"
"net/http"
"github.com/genkit-ai/genkit/go/ai"
"github.com/genkit-ai/genkit/go/genkit"
"github.com/genkit-ai/genkit/go/plugins/googlegenai"
"github.com/genkit-ai/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))
}
Load the appropriate reference based on what you need:
| Feature | Reference | When to load |
|---|---|---|
| Initialization | references/getting-started.md | Setting up genkit.Init, plugins, the *Genkit instance pattern |
| Generation | references/generation.md | Generate, GenerateText, GenerateData, streaming, output formats |
| Prompts | references/prompts.md | DefinePrompt, DefineDataPrompt, .prompt files, schemas |
| Tools | references/tools.md | DefineTool, tool interrupts, RestartWith/RespondWith |
| Flows & HTTP | references/flows-and-http.md | DefineFlow, DefineStreamingFlow, genkit.Handler, HTTP serving |
| Model Providers | references/providers.md | Google AI, Vertex AI, Anthropic, OpenAI-compatible, Ollama setup |
Check if installed: genkit --version
Installation:
curl -sL cli.genkit.dev | bash
Key commands:
# Start app with Developer UI (tracing, flow testing) at http://localhost:4000
genkit start -- go run .
genkit start -o -- go run . # also opens browser
# Run a flow directly from the CLI
genkit flow:run myFlow '{"data": "input"}'
genkit flow:run myFlow '{"data": "input"}' --stream # with streaming
genkit flow:run myFlow '{"data": "input"}' --wait # wait for completion
# Look up Genkit documentation
genkit docs:search "streaming" go
genkit docs:list go
genkit docs:read go/flows.md
See references/getting-started.md for full CLI and Developer UI details.
g explicitly. The *Genkit instance returned by genkit.Init is the central registry. Pass it to all Genkit functions rather than storing it as a global. This is a core pattern throughout the SDK.genkit.Handler, and the ability to test from the Developer UI and CLI. Any generation call worth keeping should live in a flow.jsonschema:"description=..." struct tags on output types. The model uses these descriptions to understand what each field should contain. Without them, structured output quality drops significantly..prompt files for complex prompts. They separate prompt content from Go code, support Handlebars templating, and can be iterated on without recompilation. Code-defined prompts are better for simple, single-line cases.npx claudepluginhub firebraised/agent-skills --plugin firebaseBuilds production Firebase Genkit apps with RAG, multi-step flows, and tool calling in Node.js, Python, or Go. Deploys to Firebase Functions or Cloud Run with OpenTelemetry monitoring.
Provides expert guidance on Vercel AI SDK for building AI features like chat interfaces, text generation, structured output, tool calling, agents, streaming, embeddings, reranking, image generation, and LLM providers.
Build, integrate, and debug Gemini API applications on Google Cloud Agent Platform using the unified google-genai SDK. Covers text, multimodal, function calling, structured output, embeddings, caching, streaming, Live API, and model tuning across Python, TypeScript, Go, Java, and C#.