Guide · Agent skill
How to use the Scaffold Python ADK Recipe agent skill
Updated · written with AI from the project's own documentation and checked against our catalogue data
The scaffold-python-recipe skill is an agent skill for the google/adk-recipes repository. When it is installed, your AI agent can create the starting folder structure for a new Python agent recipe without you writing the boilerplate by hand. This guide explains what the skill does, how to install it, how to ask for it in plain language, and what to do once the recipe files exist.
Quick start
- 1Download and install the skill. Download the ZIP from this page and unzip it into ~/.claude/skills/, or into a project's .claude/skills/ folder. In the Claude apps you can instead upload it under Settings → Capabilities → Skills.
- 2Check your prerequisites. Confirm you have Python 3 and a local clone of google/adk-recipes. Install uv if you plan to run the quick-start commands.
- 3Ask for the recipe in plain language. Tell the agent you want a new Python ADK recipe and name the output directory and recipe name, or let it ask you for them.
- 4Let the script create the files. The agent runs scripts/scaffold.py with --name and --output-dir, which copies the templates and fills in the recipe name.
- 5Complete manifest.yaml and README.md. Fill in the TODO fields in manifest.yaml and replace the generic README title and description with recipe-specific details.
- 6Run the quick-start commands. From the recipe folder, run uv sync, uv run pytest and uv run adk run app to install, test and try the agent.
What does the scaffold-python-recipe skill make the agent do?
The skill tells the agent to create a new Python ADK recipe inside the google/adk-recipes repository by running a bundled script, scripts/scaffold.py. The script copies template files and fills in basic placeholders such as the recipe name. The templates include an agent, a FastAPI server, telemetry helpers, tests, an evaluation set, a manifest, a README and a pyproject.toml.
The skill is built around the repository's layout. It is designed for adding recipes to contrib/python/, core/python/ or the legacy contrib/ folder. It cannot create vertical plugins under plugins/<vertical>/<solution>/, and it says so rather than scaffolding into the wrong place.
- Copies agent, FastAPI server, telemetry, test, evaluation and config templates
- Fills in the recipe name in the copied files
- Tells the user which manual steps remain, such as completing manifest.yaml and README.md
How do you install the scaffold-python-recipe skill?
Download the skill ZIP from this page. You can add it to Claude in one of two ways.
For a personal setup, unzip the download into ~/.claude/skills/. To limit it to one project, unzip it into that project's .claude/skills/ folder. Alternatively, in the Claude apps, open Settings, go to Capabilities, and upload the skill under Skills.
- Personal use: unzip into ~/.claude/skills/
- Single project: unzip into the project's .claude/skills/ folder
- Claude apps: Settings → Capabilities → Skills, then upload the ZIP
How do you trigger the skill with natural requests?
You do not need a special command. Ask the agent in ordinary language to create a new Python recipe. The skill's description lists phrases such as 'create a new Python ADK recipe', 'scaffold a new Python recipe', 'generate a new Python recipe in contrib' and 'add a new Python recipe to the adk-recipes repository'.
The agent must have both inputs before it runs anything. If you do not name an output directory or a recipe name, it will ask you rather than guess.
- Example: 'Scaffold a new Python recipe called weather-brief in contrib/python/'
- Example: 'Create a new Python ADK recipe in core/python' (the agent will then ask for a name)
- Example: 'Add a new Python recipe to the adk-recipes repository' (the agent will ask for the directory and name)
What inputs does the recipe need, and what rules apply?
The output directory must be one of contrib/python/ (community recipes, preferred for new Python recipes), core/python/ (curated recipes) or contrib/ (legacy flat layout, still accepted). The recipe name may contain only lowercase letters and hyphens, must be 30 characters or less, and must not start or end with a hyphen. If a name breaks a rule, the agent explains which one and asks for a corrected name.
The script accepts exactly two flags, --name and --output-dir, and both are required. The skill also tells the agent to call the recipe a recipe, never a project.
python3 .agents/skills/scaffold-python-recipe/scripts/scaffold.py --name <RECIPE_NAME> --output-dir <OUTPUT_DIRECTORY>What do you need installed, and what does the skill run?
To use the skill for scaffolding you need Python 3 and a local clone of the google/adk-recipes repository. The skill runs a Python script on your machine. The skill definition does not describe any network access, so scaffolding itself does not call online services.
uv is needed for the quick-start commands that install dependencies, run tests and run the agent. Running the generated agent needs Gemini model access, configured through the MODEL_NAME environment variable. You do not need that access just to scaffold the recipe.
Safety note: because the skill runs a script, read scripts/scaffold.py in the ZIP before you install it, and review what the agent does in your clone. The agent is instructed not to write boilerplate by hand and not to change the recipe after the script succeeds in that turn.
- Python 3 (required)
- A local clone of google/adk-recipes (required)
- uv (for uv sync, uv run pytest and uv run adk run app)
- Gemini model access via MODEL_NAME (only to run the generated agent)
What should you do after the recipe is scaffolded?
Once the script succeeds, the agent reports that the recipe is ready and lists two required edits. First, update manifest.yaml by filling in description, ownership.team and ownership.poc; placeholders are marked TODO:, and CI validates this file, so placeholder values are not allowed. The generate-manifest skill can populate it from the source code if you want that. Second, replace the generic title and description in README.md with details specific to your recipe. Ownership information belongs in manifest.yaml, not the README.
Then run the quick-start commands from inside the recipe folder.
- Fill in description, ownership.team and ownership.poc in manifest.yaml
- Replace the generic title and description in README.md
cd <OUTPUT_DIRECTORY>/<RECIPE_NAME>
uv sync # install dependencies
uv run pytest # run the test suite
uv run adk run app # run the agent interactivelyWhat people use it for
- Adding a new Python sample agent to google/adk-recipes under contrib/python/ with the standard layout
- Keeping naming and folder structure consistent across several recipes that a maintainer reviews
- Starting a new recipe that already includes tests, an evaluation set and a FastAPI server file, then editing its logic
Frequently asked questions
How do I install the scaffold-python-recipe skill?
Download the skill ZIP from this page and unzip it into ~/.claude/skills/ for personal use, or into a project's .claude/skills/ folder for one project. In the Claude apps, you can also upload it under Settings → Capabilities → Skills.
What do I need to run the scaffold-python-recipe skill?
You need Python 3 and a local clone of the google/adk-recipes repository. uv is needed for the quick-start commands, and Gemini model access through MODEL_NAME is only needed to run the generated agent, not to scaffold it.
Is the scaffold-python-recipe skill free to use?
The skill is released under the Apache-2.0 licence, as stated on this page. Check the licence file in the repository for the terms that apply to your use.
Can this skill create a general-purpose ADK agent outside the adk-recipes repository?
No. The skill is designed around the repository's directory layout and conventions, and it creates recipes only in contrib/python/, core/python/ or contrib/. For an agent outside the repository, you would need to set up the project yourself.
Can the skill create a vertical plugin under plugins/<vertical>/<solution>/?
No. The skill explicitly cannot scaffold vertical plugins, because they have a different shape and no template exists for them yet. The agent will tell you this instead of creating files in the wrong place.
Why does the agent refuse my recipe name?
Recipe names may contain only lowercase letters and hyphens, must be 30 characters or less, and cannot start or end with a hyphen. The agent will name the rule your name breaks and ask for a corrected name.
New agent skills, repos and AI tools — every week
The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.
Our verdict
Use this skill if you contribute Python sample agents to google/adk-recipes or maintain that repo and want every recipe to follow the same layout. Pick something else if you want a general ADK project generator for your own code or need to create vertical plugins, which this skill cannot do.
Download the skill