Skip to content

Guide · Agent skill

How to use the Prepare Python Recipe agent skill

Updated · written with AI from the project's own documentation and checked against our catalogue data

The prepare-python-recipe skill is an agent skill for contributors and maintainers of the google/adk-recipes repository. Once installed, it takes a Python recipe that is already in place and works through the repository's standards in one guided run. After reading this guide you will know what the skill does, how to install it, how to phrase a request that triggers it, and what to check before and after a run.

Prepare Python Recipegoogle/adk-recipes · Apache-2.0

Quick start

  1. 1Download the ZIP. Download the skill ZIP from this page and unzip it. You should get a folder containing SKILL.md and scripts/check_folder_name.py.
  2. 2Install the skill. Move the folder to ~/.claude/skills/ for personal use, or to .claude/skills/ in your project. Alternatively, upload it in the Claude apps under Settings → Capabilities → Skills.
  3. 3Complete the manual prerequisites. Deactivate any virtual environment, run git pull and uv sync at the repository root, place the recipe at its target path, and commit the original recipe.
  4. 4Ask the agent to prepare the recipe. Give a request such as 'prepare the recipe at core/python/my-recipe so it is PR-ready', including the recipe path.
  5. 5Confirm the plan and review the diff. Approve the plan the skill shows once. Answer any questions it asks, then review everything with git diff before you commit.
  6. 6Fill in the ownership placeholders. Replace the team and GitHub user ID placeholders in manifest.yaml yourself, then rerun the validators so CI can pass.

What does the prepare-python-recipe skill make the agent do?

The skill runs eight ordered phases against one recipe. Each phase either calls an existing sub-skill or runs a repository-standard command. The goal is that the recipe passes every check in the repository's python-validate-recipe CI workflow.

The phases are: generate manifest.yaml, extract environment variables, align pyproject.toml, lint with ruff, regenerate uv.lock, create a runnability test, compile and run that test, and run the repository's own validators. The skill pauses to ask you a question when something is ambiguous, and it leaves ownership placeholder fields for you to fill in. It never commits changes.

  • Phase 1: generate manifest.yaml if it is missing
  • Phase 2: extract environment variables into .env.example
  • Phase 3: align pyproject.toml with repository rules
  • Phase 4: run ruff format and ruff check --fix
  • Phase 5: regenerate uv.lock with uv lock
  • Phase 6: generate tests/test_runnability.py if it is missing
  • Phase 7: py_compile the test, then run it with pytest
  • Phase 8: run the repository's validators
uv run validate manifest uv run validate structure

What do you need before you run the skill?

The skill assumes you have finished some manual preparation. If you have not, the skill tells you to stop and complete these steps first. It will not run git pull, git commit, deactivate your virtual environment, or move or rename directories for you.

You also need Python, the uv package manager, ruff, pytest, and git, plus a checkout of the google/adk-recipes repository with its validate tooling.

  • Deactivate any active Python virtual environment.
  • Run git pull at the repository root.
  • Run uv sync at the repository root.
  • Place the recipe at its target path, such as core/python/<name>/, contrib/python/<name>/, or plugins/<vertical>/<solution>/.
  • Commit the original recipe so that git diff shows only what the skill changed.

How do you install the skill?

Download the skill as a ZIP file from this page and unzip it. Put the resulting folder in one of two places: your personal skills folder at ~/.claude/skills/, or a project-level .claude/skills/ folder inside the project where you want to use it.

If you use the Claude apps instead, you can upload the skill under Settings → Capabilities → Skills.

  • Personal install: place the unzipped folder in ~/.claude/skills/
  • Project install: place the unzipped folder in .claude/skills/ inside your project
  • Claude apps: upload the skill under Settings → Capabilities → Skills

How do you trigger the skill with a natural request?

You can ask for the skill by describing your goal, or by naming it directly. The skill's description lists phrases such as 'prepare a recipe', 'update a recipe end to end', 'run all the checks and fixes', and 'make this recipe PR-ready'. Include the path to your recipe so the agent knows which folder to work on.

Before the first phase starts, the skill shows you the plan and asks for one confirmation. It does not ask again for each phase unless a decision is needed.

  • Prepare the recipe at core/python/my-recipe so it is PR-ready.
  • Update the recipe in contrib/python/my-recipe end to end and run all the checks and fixes.
  • Use the prepare-python-recipe skill on plugins/<vertical>/<solution>.

What are the safety notes for scripts and network use?

This skill runs scripts and uses the network, according to its listing. Its bundled files are SKILL.md and scripts/check_folder_name.py. Review the script and the plan the skill shows you before you confirm.

The skill is designed to leave placeholder ownership values in place so that CI fails until a human fills them in. Replace those values yourself. Review the output with git diff before you commit anything.

  • The skill runs scripts and uses the network.
  • Bundled files: SKILL.md and scripts/check_folder_name.py.
  • It never commits and never runs git pull or git commit for you.
  • Ownership fields are left as placeholders for you to replace.

What tips help the run go smoothly?

Run the skill on a clean working tree so the diff only shows the skill's changes. Expect the validators to fail until you replace the ownership placeholders. The skill is meant for recipes that are already in the right place, so finish the manual steps first.

If you want a deployable recipe with serving files, the skill notes that a separate opt-in skill, make-python-recipe-deployable, handles that. Run it only after this pipeline finishes.

  • Start from a clean git state so git diff shows only the skill's edits.
  • Expect validation to fail until the ownership placeholders are filled in.
  • Review every change with git diff before committing.
  • Use the separate make-python-recipe-deployable skill only if you need serving files.

What people use it for

  • Preparing a new Python recipe for a pull request to google/adk-recipes.
  • Updating an existing recipe so it passes the python-validate-recipe CI workflow.
  • Bringing a recipe that was moved or renamed up to the repository's placement and validation rules.
  • Regenerating uv.lock and the runnability test after changing pyproject.toml.

Frequently asked questions

How do I install the prepare-python-recipe skill?

Download the ZIP from this page and unzip it. Put the folder in ~/.claude/skills/ for personal use, or in .claude/skills/ inside a project. In the Claude apps, you can upload it under Settings → Capabilities → Skills.

What do I need to run prepare-python-recipe?

You need Python, the uv package manager, ruff, pytest, and git. You also need a checkout of the google/adk-recipes repository with its validate tooling, and the recipe must already be placed and committed.

Is the prepare-python-recipe skill free to use?

The skill is listed under the Apache-2.0 licence. Check the licence file in the repository for the full terms.

Can I use this skill outside the google/adk-recipes repository?

No. The skill depends on that repository's paths, workflows, and validators, so it is not meant for other projects.

Why does validation still fail after the skill finishes?

The skill intentionally leaves the ownership placeholders in place. Replace the team and GitHub user ID values in manifest.yaml, then run uv run validate manifest and uv run validate structure again.

Does the skill commit my changes?

No. The skill never commits. Review the changes with git diff and commit them yourself.

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 are a contributor or maintainer preparing a Python recipe for google/adk-recipes and want the repository's checks run in one guided pass. Pick something else if your recipe lives outside that repository, or if you want to make every change by hand without an agent.

Download the skill