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/moberghr/mtk-agent-toolkit/tech-stack-pythonnpx skills add moberghr/mtk-agent-toolkit --skill tech-stack-pythongit clone --depth 1 https://github.com/moberghr/mtk-agent-toolkitWhat 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.00027 | $0.04128 |
| Opus 5 | $0.00014 | $0.02064 |
| Sonnet 5 | $0.00005 | $0.00826 |
| Haiku 4.5 | $0.00003 | $0.00413 |
Grade A, and why
tech-stack-python 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 — 331 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Tech Stack: Python
Overview
This tech stack skill provides Python-specific context for the generic workflow skills (spec-driven-development, incremental-implementation, test-driven-development) and for review agents. It is loaded when .claude/tech-stack contains python.
When To Use
Loaded automatically by commands and skills when the active tech stack is python. Not invoked directly.
Build & Test Commands
Python is interpreted, so there's no separate compile step. Use type checking and tests as your verification gates.
- Type check (compile-equivalent):
mypy .orpyright(whichever the project uses) - Test (batch):
pytest <path/to/module>orpytest -k <pattern> - Test (full):
pytest - Format:
ruff format <path>(orblack <path>if the project uses black). Wired throughhooks/format-on-edit.sh, which queues edited paths at PostToolUse and formats them at Stop — both halves must be wired or nothing is formatted. Do NOT use$CLAUDE_FILE— it is not a Claude Code env var. - Lint:
ruff check <path>(orflake8/pylintper project)
If the project uses tox, the full test command is tox. If Poetry: poetry run pytest. If a Makefile or justfile exists, prefer the project-defined targets (make test, just test).
File Extensions & Markers
How setup-bootstrap detects this stack in a repository:
| Marker | Confidence |
|---|---|
pyproject.toml |
High |
setup.py or setup.cfg |
High |
requirements.txt |
Medium |
Pipfile or poetry.lock |
High |
.python-version |
Low (supplemental) |
Detection command:
find . -maxdepth 2 \( -name "pyproject.toml" -o -name "setup.py" -o -name "requirements.txt" -o -name "Pipfile" \) 2>/dev/null | head -3
ORM & Data Layer Guidance
SQLAlchemy rules (when SQLAlchemy is detected):
- Use
select()(SQLAlchemy 2.0 style) over the legacyQueryAPI. - For read-only queries, use
expire_on_commit=Falseor detached sessions to avoid unnecessary lazy-load round trips. - Avoid implicit lazy loading in production code paths — eager-load with
joinedloadorselectinloadexplicitly. Implicit lazy loading is a common N+1 source. - Always use
with session.begin():or explicit transaction boundaries for writes. - One commit per request/handler unless multiple aggregates demand otherwise.
- Use
Session.execute(select(...))returning DTOs, not full ORM objects, when you only need projection.
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 · 331 lines · 27 tokens per session scan A 449f3dca6f18
tech-stack-python is a skill published in the GitHub repository moberghr/mtk-agent-toolkit (6 stars, last pushed 8d ago), licensed MIT. It adds 27 tokens to every session and 4,128 once invoked, about $0.0001 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-31.
Other skills, from other repositories
bump-dependency
Bumps a Python package dependency across Home Assistant Core integrations, regenerates core requirement files, runs verification tests and prek lint, and prepares a pull request with proper release/compare links.
agent-framework-azure-ai-py
Build persistent agents on Azure AI Foundry using the Microsoft Agent Framework Python SDK.
biopython
Comprehensive molecular biology toolkit. Use for sequence manipulation, file parsing (FASTA/GenBank/PDB), phylogenetics, and programmatic NCBI/PubMed access (Bio.Entrez). Best for batch processing, custom bioinformatics pipelines, BLAST automation. For quick lookups use gget; for multi-service integration use…
python-feature-lifecycle
Guidance for package and feature lifecycle in the Agent Framework Python codebase, including stage meanings, feature-stage decorators, feature enums, and how to move APIs from one stage to the next.
python-development
Coding standards, conventions, and patterns for developing Python code in the Agent Framework repository. Use this when writing or modifying Python source files in the python/ directory.
marimo-pair
Work inside the user's live marimo notebook from the code editor: run Python in the same kernel the user does, inspect live notebook state, and commit durable notebook changes through code mode. Use whenever you create, analyze, or improve the user's marimo notebook.