Skip to content
cccskills
FreePublished on GitHub

adk-sample-creator

Author new samples for the ADK Python repository. Use this skill when the user wants to create a new sample demonstrating a feature or agent pattern (e.g., dynamic nodes, standalone agents, fan-out/fan-in) or when adding examples to subdirectories under `contributing/`.

The English summary is being prepared. Showing the original description.

karanmrn/karanagentskills3 stars(GitHub 3 + cccskills 0)

Run score Not tested

See how to install

Files included (1)

  • SKILL.md4.5 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

ADK Sample Creator

This skill helps you create new samples for the ADK Python repository. You should search for subdirectories under contributing (such as new_workflow_samples, workflow_samples, etc.) and confirm with the user which folder they want to use before creating the sample.

[!TIP]

Before creating samples, you can use the adk-style skill to learn about ADK 2.0 architecture knowledge and best practices.

A sample consists of:

  1. A directory per sample.
  2. An agent.py file defining the agent or workflow logic.
  3. A README.md file explaining the sample.

Guidelines

1. Folder Name

Use snake_case for the folder name (e.g., dynamic_nodes, fan_out_fan_in).

2. agent.py Content

The agent.py should focus on demonstrating a specific feature or agent pattern. Use absolute imports for testing convenience.

[!IMPORTANT] Model Selection: Do not set the model parameter explicitly (e.g., model="gemini-2.5-flash") on Agent instances in sample agents. Instead, let them default to the system-configured model, unless a specific model is explicitly requested by the user.

Choose one of the following patterns:

Pattern A: Workflows (for complex graphs)

Use this when you need multiple nodes, routing, or parallel execution.

Imports:

from google.adk import Agent
from google.adk import Context
from google.adk.workflow import node
from google.adk.workflow import JoinNode
from google.adk.workflow._workflow_class import Workflow

Anatomy:

my_agent = Agent(name="my_agent", ...)

@node()
async def my_node(node_input: str):
    return "result"

root_agent = Workflow(
    name="root_wf",
    edges=[("START", my_node)],
)

Pattern B: Standalone Agents (for single-agent or simple tool use)

Use this when you don't need a graph and the agent handles the loop.

Imports:

from google.adk import Agent
from google.adk.tools import google_search  # example

Anatomy:

root_agent = Agent(
    name="standalone_assistant",
    instruction="You are a helpful assistant.",
    description="An assistant that can help with queries.",
    tools=[google_search],
)

3. README.md Content

Each sample should have a README.md with the following structure:

  • Overview: What the sample does.
  • Sample Inputs: Examples of inputs to test with. Each prompt must be wrapped in backticks. If a prompt has an explanation, always add a blank line between the prompt and the explanation, and indent the explanation by two spaces.
  • Graph: Visualization of the graph flow (Mermaid recommended). For Workflow root agents, visualize the graph flow of nodes. For agents that orchestrate tools or sub-agents (e.g., LlmAgent, ManagedAgent), visualize the topology of the agent and its tools/sub-agents instead of internal workflow nodes. Keep it a simple topology diagram (a few nodes and edges). Do not draw a request/response data-flow sequence (e.g., user -> agent -> API -> tool -> ... -> user); those are noisy and add little value over the topology.
  • How To: Explanation of key techniques used (e.g., ctx.run_node).
  • Related Guides: Links to relevant developer guides in docs/guides/ that explain the concepts or classes used.

README Example Template:

# ADK Sample Name

## Overview

Brief description.

## Sample Inputs

- `Prompt example 1`

- `Prompt example 2`

  *Explanation or expected behavior*

## Graph

For Workflow root agents:
```mermaid
graph TD
    START --> MyNode
```

For agents that orchestrate tools or sub-agents (`LlmAgent`, `ManagedAgent`, ...):
```mermaid
graph TD
    MyAgent[my_agent] -->|calls| MyTool(my_tool)
```

## How To

Explain the details.

## Related Guides

- [Guide Title](../../docs/guides/path/to/guide.md) - Brief description of what the guide covers.

Examples

Dynamic Nodes

Snippet from dynamic_nodes/agent.py:

@node(rerun_on_resume=True)
async def orchestrate(ctx: Context, node_input: str) -> str:
    while True:
        headline = await ctx.run_node(generate_headline)
        # ...

Fan Out Fan In

Snippet from fan_out_fan_in/agent.py:

root_agent = Workflow(
    name="root_agent",
    edges=[("START", (node_a, node_b), join_node, aggregate)],
)

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Automate 21risk tasks via Rube MCP (Composio). Always search tools first for current schemas.

The English summary is being prepared. Showing the original description.

karanmrn/karanagentskills3Updated Aug 28, 2026

Automate 2chat tasks via Rube MCP (Composio). Always search tools first for current schemas.

The English summary is being prepared. Showing the original description.

karanmrn/karanagentskills3Updated Aug 28, 2026

Set up and use 1Password CLI for sign-in, desktop integration, and reading or injecting secrets.

The English summary is being prepared. Showing the original description.

karanmrn/karanagentskills3Updated Aug 28, 2026

Build integrated IS/BS/CF financial workbooks in Excel.

The English summary is being prepared. Showing the original description.

karanmrn/karanagentskills3Updated Aug 28, 2026

Entry point for 9Router — local/remote AI gateway with OpenAI-compatible REST for chat, image, TTS, embeddings, web search, web fetch. Use when the user mentions 9Router, NINEROUTER_URL, or wants AI without writing provider boilerplate. This skill covers setup + indexes capability skills; fetch the relevant capability SKILL.md from the URLs below when needed.

The English summary is being prepared. Showing the original description.

karanmrn/karanagentskills3Updated Aug 28, 2026

Chat / code generation via 9Router using OpenAI /v1/chat/completions or Anthropic /v1/messages format with streaming + auto-fallback combos. Use when the user wants to ask an LLM, generate code, summarize text, or run prompts through 9Router.

The English summary is being prepared. Showing the original description.

karanmrn/karanagentskills3Updated Aug 28, 2026

See all skills by karanmrn

Report a problem with this skill