Skip to content
Back to skills

Scaffold Python Recipe

ASecurity

> This skill should be used when the user wants to \"create a new Python ADK sample\", \"scaffold a new Python sample recipe\", \"generate a new Python sample in contrib\", \"add a new Python sample to the adk-samples repository\", or \"create a Python adk sample\". It utilizes an automated script to copy template files and resolve basic placeholders.

  • 3 stars
  • 0 votes
  • 0 copies
  • 4 views
  • Added September 12, 2026
ai-agentspythongobashgit

Security analysis

A100/100

Pro scans all 20 files and shows the line behind each finding

Scanned September 12, 2026

npx -y skills add thedixitjain/the-mega-skill-library --skill scaffold-python-recipe --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Scaffold Python Recipe?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Scaffold Python Recipe
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/thedixitjain-scaffold-python-recipe/badge)](https://www.skillsdirectory.com/skills/thedixitjain-scaffold-python-recipe)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: scaffold-python-recipe
description: "> This skill should be used when the user wants to \"create a new Python ADK sample\", \"scaffold a new Python sample recipe\", \"generate a new Python sample in contrib\", \"add a new Python sample to the adk-samples repository\", or \"create a Python adk sample\". It utilizes an automated script to copy template files and resolve basic placeholders."
category: ai-agents-and-harness
source_repo: google/adk-samples
source_path: ".agents/skills/scaffold-python-recipe/SKILL.md"
source_url: https://github.com/google/adk-samples/blob/HEAD/.agents/skills/scaffold-python-recipe/SKILL.md
---


# Scaffolding a New Python ADK Sample

Use this skill to scaffold a new Python ADK sample recipe inside this repository using the automated script at `scripts/scaffold.py`.

---

## Rules

1. **No Manual Boilerplate Writing**: Always use `scripts/scaffold.py` to create the recipe. Never write the boilerplate files manually.
2. **Do Not Modify After Scaffolding**: Once the script runs successfully, do not make any further changes to the recipe in this turn.
3. **Use the Correct Terminology (Recipe)**: Always refer to what is being created as a **recipe**, never as a "project". Ensure all output messages, instructions, and explanations to the user use "recipe" exclusively.

---

## Inputs

You **must** have both pieces of information below before running the script. If either is missing or was not explicitly provided by the user, **ask for it** — do not assume or use a default.

### 1. Output Directory (Required — must ask if not provided)

The user must choose one of these two valid locations:
- `contrib/`
- `core/python/`

If the user has not specified which directory, ask them to choose. Do not proceed until a valid choice is confirmed.

### 2. Recipe Name (Required — must ask if not provided)

The recipe name must satisfy **all** of the following rules:
- Contains only lowercase letters and hyphens (`a-z`, `-`)
- Is 30 characters or less
- Does not start or end with a hyphen

If the user provided a name, validate it against these rules before proceeding. If it is invalid, explain which rule it violates and ask for a corrected name. Do not proceed until a valid name is confirmed.

---

## Run

Execute the scaffold script:
```bash
python3 .agents/skills/scaffold-python-recipe/scripts/scaffold.py --name <RECIPE_NAME> --output-dir <OUTPUT_DIRECTORY>
```
*The script accepts exactly two flags: `--name` (required) and `--output-dir` (required). Do not pass any other flags.*

---
## Respond

Once the script succeeds, inform the user the recipe is ready and highlight the following required next steps:

1. **Update `manifest.yaml`**: Fill in the `description`, `ownership.team`, and `ownership.poc` fields (placeholders are marked with `TODO:`). This file is validated by CI and must not contain placeholder values. Use the `generate-manifest` skill if you want it populated automatically from the source code.
2. **Update `README.md`**: Replace the generic title and description with details specific to this recipe (ownership/POC live in `manifest.yaml`, above — not in the README).

Then, provide these quick-start commands:
```bash
cd <OUTPUT_DIRECTORY>/<RECIPE_NAME>
uv sync                  # install dependencies
uv run pytest            # run the test suite
uv run adk run app       # run the agent interactively
```
Do not make any further changes. End your turn.

---

**Source:** [`google/adk-samples`](https://github.com/google/adk-samples) → `.agents/skills/scaffold-python-recipe/SKILL.md`

Files in this skill

  • SKILL.md3.5 KB
  • resources/templates/.env.example778 B
  • resources/templates/README.md1.4 KB
  • resources/templates/app/__init__.py894 B
  • resources/templates/app/agent.py1.7 KB
  • resources/templates/app/app_utils/__init__.py47 B
  • resources/templates/app/app_utils/telemetry.py2.1 KB
  • resources/templates/app/app_utils/typing.py1 KB
  • resources/templates/app/fast_api_app.py2.7 KB
  • resources/templates/manifest.yaml2.3 KB
  • resources/templates/pyproject.toml682 B
  • resources/templates/tests/eval/eval_config.json551 B
  • resources/templates/tests/eval/evalsets/README.md607 B
  • resources/templates/tests/eval/evalsets/basic.evalset.json855 B
  • resources/templates/tests/integration/test_agent.py1.9 KB
  • resources/templates/tests/integration/test_server_e2e.py6.3 KB
  • resources/templates/tests/test_runnability.py2.3 KB
  • resources/templates/tests/unit/test_tools.py1 KB
  • scripts/scaffold.py6.8 KB
  • tests/conftest.py421 B

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.