# Maintain Python Template

> Extend or repair the Python Template repository while keeping its catalog, Copier questions, templates, generated references, and tests synchronized. Use for adding a framework, provider, database, interface, ML tool, deployment target, preset, compatibility rule, or generated-project capability.

- **Type:** Skill
- **Install:** `agentstack add skill-leynier-python-template-maintain-python-template`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [leynier](https://agentstack.voostack.com/s/leynier)
- **Installs:** 0
- **Category:** [Databases](https://agentstack.voostack.com/c/databases)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [leynier](https://github.com/leynier)
- **Source:** https://github.com/leynier/python-template/tree/main/skills/maintain-python-template
- **Website:** https://python-template.leynier.dev

## Install

```sh
agentstack add skill-leynier-python-template-maintain-python-template
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# Maintain Python Template

Make catalog-driven changes without creating a choice that renders but cannot run.

## Change Workflow

1. Inspect `catalog/components.yml`, `catalog/presets.yml`, `copier.yml`, the relevant files under `template/`, and existing tests before editing.
2. Define the component metadata and compatibility constraints in the catalog first. Keep each choice in exactly one architectural role unless it genuinely serves several roles.
3. Wire Copier defaults and choices to the catalog. Preserve the three simple presets and reject incompatible combinations with an actionable validator message.
4. Add functional source, dependency, configuration, test, README, and environment-variable templates for the component. Avoid placeholder-only integrations.
5. Run `uv run python scripts/compile_catalog.py --check`. If generated files are stale, run the command without `--check`, review all generated changes, then check again.
6. Add focused repository tests and generate at least one representative project. Validate its imports or endpoints, not only file presence.
7. Run the gates in `validate-python-stack` before proposing delivery.

## Invariants

- `catalog/generated/catalog.json`, `catalog/generated/choices.yml`, and `docs/reference/*.md` are compiler outputs; edit their sources instead.
- Generated projects use a `src` layout, `uv`, Ruff, pytest, typing, and reproducible dependency bounds.
- Optional layers must disappear cleanly when disabled.
- Conditional template path components must remain short enough to render on Windows.
- A deploy target keeps Docker portability; cloud IaC is limited to supported target/provider pairs.

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [leynier](https://github.com/leynier)
- **Source:** [leynier/python-template](https://github.com/leynier/python-template)
- **License:** MIT
- **Homepage:** https://python-template.leynier.dev

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-leynier-python-template-maintain-python-template
- Seller: https://agentstack.voostack.com/s/leynier
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
