# Align Recipe Pyproject

Aligns a Python recipe's pyproject.toml with the repo's standards enforced by...

- Repository: https://github.com/google/adk-recipes (10565 stars)
- Category: Git and review
- License: Apache-2.0
- Last updated: 2026-11-01
- Runs scripts: yes, review before use

## Install

Claude Code: `npx skills add google/adk-recipes --skill align-recipe-pyproject -g -a claude-code -y`
Codex: `npx skills add google/adk-recipes --skill align-recipe-pyproject -g -a codex -y`
Cursor: `npx skills add google/adk-recipes --skill align-recipe-pyproject -g -a cursor -y`
Gemini CLI: `npx skills add google/adk-recipes --skill align-recipe-pyproject -g -a gemini-cli -y`

## Description

Aligns a Python recipe's pyproject.toml with the repo's standards enforced by .github/workflows/python-validate-recipe.yml, plus one critical [build-system] presence check. Scope is pyproject.toml only, standalone ruff.toml / .ruff.toml files (also forbidden in recipes) are caught by the CI workflow instead, not by this skill. Runs in two modes: a read-only --dry-run that reports what needs alignment, and an apply mode that rewrites pyproject.toml (and optionally manifest.yaml) using comment-preserving TOML/YAML editors. Use when the user wants to "align the recipe's pyproject.toml", "fix pyproject to match the repo standard", "check what needs changing in a recipe's pyproject", or clean up a recipe before submitting a PR.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Align Recipe pyproject.toml

Use this skill to bring a Python recipe's `pyproject.toml` (and, when it disagrees, its `manifest.yaml` description) into conformance with the repo standard enforced by `.github/workflows/python-validate-recipe.yml`.

Scope: **`pyproject.toml` only**. Standalone `ruff.toml` / `.ruff.toml` files are also forbidden in recipes but are enforced by the CI workflow (Check 7 in `python-validate-recipe.yml`), outside this skill's concern.

**Not in scope: `adk-major-current`.** The CI validator also emits a warn-only notice when a `core/` recipe resolves to an older `google-adk` major. This skill deliberately does not implement it, and you should not add it. The mechanical fix, widening `<2.0.0` to `<3.0.0` and re-locking, produces a recipe importing a major it was never ported to, and that break surfaces at runtime rather than in any check. Crossing an ADK major is a code migration; this skill only rewrites metadata. If you are asked to "fix the ADK notice", port the recipe by hand.

---

## What This Skill Checks

Runs `scripts/align_pyproject.py` against a recipe directory. Eight rules:

The rest: https://github.com/google/adk-recipes/blob/HEAD/.agents/skills/align-recipe-pyproject/SKILL.md
