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/tedivm/robs_awesome_python_template/sqlalchemy-modelsnpx skills add tedivm/robs_awesome_python_template --skill sqlalchemy-modelsgit clone --depth 1 https://github.com/tedivm/robs_awesome_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.00044 | $0.01557 |
| Opus 5 | $0.00022 | $0.00779 |
| Sonnet 5 | $0.00009 | $0.00311 |
| Haiku 4.5 | $0.00004 | $0.00156 |
Grade A, and why
sqlalchemy-models 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.
How it starts
The opening of the file, as written. The whole thing — 186 lines — stays where its author put it; the contents beside it link to each section on GitHub.
SQLAlchemy Models and Migrations
context7: If the
mcp_context7tool is available, load the fullsqlalchemyandalembicdocumentation before debugging, creating or modifying models or queries, or writing migrations:mcp_context7_resolve-library-id: "sqlalchemy" mcp_context7_get-library-docs: <resolved-id> mcp_context7_resolve-library-id: "alembic" mcp_context7_get-library-docs: <resolved-id>
Guidelines and patterns for database models, queries, and Alembic migrations in this codebase.
Core Requirements
- Always use async SQLAlchemy APIs (never synchronous).
- Always use SQLAlchemy 2.0 syntax.
- Represent database tables with the declarative class system (
Basesubclass). - Use Alembic for all schema changes — never alter the schema manually.
- Migrations must be compatible with both SQLite and PostgreSQL.
Model Definition
Models live in {{cookiecutter.__package_slug}}/models/. Import and extend the shared Base from {{cookiecutter.__package_slug}}.models.base.
from uuid import UUID, uuid4
from sqlalchemy.orm import Mapped, mapped_column
from {{cookiecutter.__package_slug}}.models.base import Base
class User(Base):
__tablename__ = "users"
id: Mapped[UUID] = mapped_column(primary_key=True, default=uuid4)
email: Mapped[str] = mapped_column(unique=True)
name: Mapped[str]
is_active: Mapped[bool] = mapped_column(default=True)
Typing Conventions
| Pattern | Meaning |
|---|---|
Mapped[str] |
NOT NULL column |
Mapped[str | None] |
NULLable column |
mapped_column(default=...) |
Server-side / Python-side default |
mapped_column(primary_key=True) |
Primary key |
mapped_column(unique=True) |
Unique constraint |
mapped_column(index=True) |
Index |
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 · 186 lines · 44 tokens per session scan A 4bb09766dae8
sqlalchemy-models is a skill published in the GitHub repository tedivm/robs_awesome_python_template (309 stars, last pushed 3mo ago), licensed MIT. It adds 44 tokens to every session and 1,557 once invoked, about $0.0002 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
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 }}.
agent-tool
Add a new tool/function the AI agent can call (e.g. look something up, hit an external API, perform an action). Use when extending the assistant's capabilities, wiring a new function into the agent, or when the model needs a new action. This project uses {{ cookiecutter.aiframework }}.
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.
channel-bot
Work with messaging-channel bots (Telegram / Slack) — register a bot, route inbound messages through the AI agent, handle webhooks vs polling, or add a new channel adapter. Use when wiring chat into a messaging platform or debugging bot delivery.