developing-genkit-dart
Generates code and provides documentation for the Genkit Dart SDK.
Skill by googleOfficial
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-dart
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-dart
What's inside
- Skill name
developing-genkit-dart- Description
- Generates code and provides documentation for the Genkit Dart SDK. Use when the user asks to build AI agents in Dart, use Genkit flows, or integrate LLMs into Dart/Flutter applications.
- License
- Apache-2.0
- Metadata
- version: 1.0.0 · category: AiAndMachineLearning
- Instructions
- 168 lines in SKILL.md · view on GitHub
Before installing
- Instructions call the network
Files (24)
- 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/
- dotprompt.md · references/
- genkit.md · references/
- genkit_anthropic.md · references/
- genkit_chrome.md · references/
- genkit_firebase_ai.md · references/
- genkit_google_genai.md · references/
- genkit_mcp.md · references/
- genkit_middleware.md · references/
- genkit_openai.md · references/
- genkit_shelf.md · references/
- genkit_vertexai.md · references/
- schemantic.md · references/
SKILL.md (first lines)
# Genkit Dart
Genkit Dart is an AI SDK for Dart that provides a unified interface for code generation, structured outputs, tools, flows, and AI agents.
## Core Features and Usage
If you need help with initializing Genkit (`Genkit()`), Generation (`ai.generate`), Tooling (`ai.defineTool`), Flows (`ai.defineFlow`), Embeddings (`ai.embed`), streaming, or calling remote flow endpoints, please load the core framework reference:
[references/genkit.md](references/genkit.md)
## 1.0 vs pre-1.0 APIs
This skill targets Genkit Dart **1.0** (`genkit: ^1.0.0`). Older code and
training data use pre-1.0 names that no longer compile; the common ones:
- HTTP: `startFlowServer` / per-route `shelfHandler` / `shelf_cors_headers` are
now `GenkitRouter` + `serve()` or `asShelfHandler()`, with `CorsOptions`;
context providers take `RequestData` ([genkit_shelf.md](references/genkit_shelf.md)).
- `StatusCodes.UNAUTHENTICATED` is `StatusCode.unauthenticated` (lowerCamelCase,
same for `EvalStatus.pass`, `ToolChoice.required`).
- No `RetryPlugin`; `retry()` is built in and takes `Duration`s
(`initialDelay`, `maxDelay`, also `cacheTtl` elsewhere).
- Renames: `GenerateResponseHelper` -> `GenerateResult` (`modelResponse`,
`chunk.modelChunk`), `ExecutablePrompt` -> `Prompt<Input, Output>`,
`embedMany` -> `embed`, `ToolFnArgs` -> `ToolFnArg`, `toolOutputSchema` ->
`outputSchema`, `underlyingException` -> `cause`, `modelInfo:` -> `info:`,
`RemoteAction.dispose()` -> `close()`, `prompt(input, PromptGenerateOptions(config: ...))`
-> `prompt(input, config: ...)` (named options, like `generate`), `defineMiddleware` ->
`ai.defineGenerateMiddleware` (app) / `generateMiddleware` (plugins).
- Provider config types are prefixed: `GeminiThinkingConfig`,
`GeminiSafetySettings`, `GeminiGoogleSearch`, `GeminiSpeechConfig`,
`GoogleGenAiEmbedderOptions`, `AnthropicThinkingConfig`.
- Removed: `ToolInterruptException` / `ctx.interrupt()` (return `.interrupt(...)`),
`GoogleAiModels` / `OpenAIModels` constants (use `googleAI.gemini('...')`,
`openAI.model('...')`). Simulated constrained output is opt-in via
`simulateConstrainedGeneration()`.
- `.prompt` Picoschema is spec-compliant: `name: type, description`, never
`name(description): type` ([dotprompt.md](references/dotprompt.md)).
## Prompts (Dotprompt)
`.prompt` files keep prompt content out of Dart code with YAML frontmatter plus a
Handlebars template. See [references/dotprompt.md](references/dotprompt.md):
`promptDir`, `ai.prompt()` (call/stream/render), variants, partials, named
schemas via `defineSchema`, and the `tools`/`maxTurns`/`returnToolRequests`/`use`
(middleware) frontmatter fields. A `.prompt` file can also back an agent directly
via `definePromptAgent`.
## Agents
Genkit Dart has an **agent** API for persistent, multi-turn conversations
(sessions, snapshots, interrupts, branching, background execution, custom state,
artifacts, and multi-agent delegation). The agent/session/snapshot APIs are
**experimental** and live behind opt-in imports: server APIs come from
`package:genkit/experimental.dart` (alongside `package:genkit/genkit.dart`), the
browser/HTTP client from `package:genkit/experimental_client.dart` (alongside
`package:genkit/client.dart`), and `dart:io` extras like `FileSessionStore` from
`package:genkit/experimental_io.dart`. These entry points are `@experimental`, so
importing them raises an `experimental_member_use` analyzer warning you can
silence in `analysis_options.yaml`. The `remoteAgent` client works from any Dart
app, including **Flutter**, and the backend is fully interchangeable — it can talk
to a Genkit agent implemented in Dart, JS/TypeScript, or Go over the same HTTP
protocol. A few Dart specifics: interrupts are `ai.defineInterrupt(...)` or
tools that return `.interrupt(...)` (there is no `ctx.interrupt()`), sub-agent delegation uses
the `agents()` middleware from `package:genkit_middleware`, and there is no
`artifacts()` middleware yet (define artifact tools directly).
For more details see:
- [Agents](references/agents.md): defining/serving an agent and client-managed state (start here).
- [Sessions & persistence](references/agents-sessions.md): session stores (`InMemorySessionStore`/`FileSessionStore`/`FirestoreSessionStore`).
- [Human-in-the-loop / interrupts](references/agents-human-in-the-loop.md): pausing for approval/input via `.interrupt(...)` 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, auto-synced to the client.
- [Artifacts](references/agents-artifacts.md): producing and reading named deliverables.
- [Multi-agent orchestration](references/agents-multi-agent.md): delegating to sub-agents with the `agents()` middleware.
- [Advanced custom agents](references/agents-custom.md): `defineCustomAgent` for full turn control.
- [Deploying agents](references/agents-deployment.md): serving agents over HTTP with `GenkitRouter.addAgent` (multiple agents, shelf, CORS).
## Generative UI (A2UI)
Genkit Dart has an **A2UI** (Agent-to-UI) plugin (`genkit_a2ui`)
that lets an agent stream interactive UI **surfaces** (cards, lists, forms,
buttons), not just prose. The whole server-side integration is the `a2ui()` model
middleware in an agent's (or `ai.generate`'s) `use` list; the Flutter client
renders surfaces with the [`genui`](https://pub.dev/packages/genui) package plus
the helpers in `package:genkit_a2ui/client.dart`. Dart specific: you must
register `A2uiPlugin()` in `Genkit(plugins: [...])` (unlike JS, middleware is
resolved by name from the registry).
- [A2UI](references/a2ui.md): server middleware, options, Flutter/genui client rendering, user actions/forms, custom catalogs, and the security/trust boundary.
## Genkit CLI (recommended)
`genkit start` unintrusively wraps any Dart 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 (`dart run`) skips trace capture, so you're debugging blind. Check install with `genkit --version`.
**Installation:**
```bash
curl -sL cli.genkit.dev | bash # Native CLI
# OR
npm install -g genkit-cli # Via npm
# OR run commands directly with npx without a global install (prefix every genkit command):
# npx genkit-cli start -- dart run main.dart
```
**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. Starts the Developer UI (usually http://localhost:4000) for running flows, model and agent playground, and browsing traces:
```bash
genkit start -- dart run main.dart
genkit start --noui -- dart run main.dart # 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 -- dart run main.dart` (works with `flow:run` too).
**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"}' -- dart run main.dart
```
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.defineFlow`), not agents; you can't `flow:run` an agent (`ai.defineAgent`) directly. To exercise an agent from the CLI, wrap one turn in a throwaway flow and run that (see [Agents](references/agents.md)). Traces for this run can be inspected using the trace commands below.From 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 (6 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
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
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
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
Cite this page
developing-genkit-dart skill. Agent Mart. https://agentmart.dev/skills/google-developing-genkit-dart (last updated 2026-10-24)