Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/leynier/python-template/compose-python-stacknpx skills add leynier/python-template --skill compose-python-stackgit clone --depth 1 https://github.com/leynier/python-templateWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00065 | $0.00425 |
| Opus 5 | $0.00032 | $0.00212 |
| Sonnet 5 | $0.00013 | $0.00085 |
| Haiku 4.5 | $0.00006 | $0.00042 |
Grade A, and why
compose-python-stack scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
What it actually says
Compose Python Stack
Turn a product goal into a supported stack, explain the consequential choices, and generate it with Copier.
Workflow
- Read
docs/reference/presets.mdanddocs/reference/components.md. When exact compatibility matters, also readcatalog/generated/catalog.json. - Ask only about choices that change the architecture. Prefer one of the documented presets when it is close; otherwise select
customand compose the layers. - Keep model and embedding providers independent. Select at most one provider for each data role. Do not add AI to a simple library, Typer CLI, or FastAPI/Flask API unless requested.
- Select one deployment target. Docker is the portable base for deployed projects; select either no IaC, Pulumi, or Terraform where the chosen target supports it.
- Generate into a new directory with
copier copy gh:leynier/python-template <destination>, answering interactively. For automation, pass explicit values with repeated-d key=valuearguments. - Enter the generated directory and run
uv sync --all-groups,uv run pytest,uv run ruff check ., anduv run ruff format --check .. - Report the selected layers, generated entry points, required environment variables, and any cloud resources the user must configure.
Guardrails
- Treat catalog compatibility rules as authoritative; do not force an invalid combination.
- Preserve the first-class
python-library,typer-cli, andfastapi-apipaths. - Prefer Python 3.12 or newer and
uvfor environment and command execution. - Never deploy, create paid resources, or write credentials unless the user explicitly authorizes that action.
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2d ago First seen · 26 lines · 65 tokens per session scan A 13f603346f5d
compose-python-stack is a skill published in the GitHub repository leynier/python-template (37 stars, last pushed 4d ago), licensed MIT. It adds 65 tokens to every session and 425 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
heaven-style
Standalone personal code-quality, architecture, documentation, graphical-interface, and project-management guide for TypeScript and Python repositories. Use when writing or reviewing code or docs, designing architecture or UI, refactoring, or aligning tests; apply repository policy first, then shared design philosophy…
datamodel-code-generator
Use this skill when the user wants Python data models, Pydantic models, dataclasses, TypedDicts, msgspec structs, or type-safe Python classes generated from OpenAPI, AsyncAPI, JSON Schema, GraphQL, JSON/YAML/CSV sample data, MCP tool schemas, Protocol Buffers, XML Schema, Apache Avro, or existing Python model objects.…
background-task
Add or modify work that runs outside the request/response cycle — emails, document ingestion, webhooks, cleanups, scheduled jobs. Use when something is slow or fire-and-forget, or when adding a periodic/cron task. This project's queue is {{ cookiecutter.backgroundtasks }}.
frontend-feature
Build a new page, view, or data-driven feature in the Next.js frontend. Use when adding a route under the dashboard/marketing area, wiring UI to a backend endpoint, adding client state, or creating a localized page. Covers App Router, data fetching, Zustand stores, and i18n.
rag-knowledge
Work with the RAG knowledge base — ingest documents, run semantic search, manage collections, or add a sync source/connector (Google Drive, S3). Use when populating or debugging the knowledge base, tuning retrieval, or adding a new document source. This project uses {{ cookiecutter.vectorstore }} + {{…
alembic-migration
Create, review, and apply database schema changes with Alembic. Use whenever a SQLAlchemy model is added or changed, a column/index/constraint needs to change, or a data backfill is required — anything that alters the PostgreSQL schema.