{"id":"3fe16ee3-8eba-4466-8886-c1914aaed4b4","shortId":"nJNgnQ","kind":"skill","title":"python","tagline":"Auto-activate for .py files, pyproject.toml, requirements.txt, setup.py, setup.cfg. Python project conventions and tooling: uv, ruff, mypy, typing, Cython, Mypyc. Use when: configuring Python packages, linting, type-checking, building extensions, or running scripts with uv. Produ","description":"# Python Skill\n\n## Overview\n\nExpert knowledge for Python development in this workspace. This skill aggregates tooling, build systems, and quality standards.\n\n### Core Standards\n\nAs per workspace rules, the following are **MANDATORY**:\n\n1. **Tooling**: `uv` is the required tool for Python package and environment management.\n2. **Execution**: Always run python programs with the `uv run` prefix.\n3. **Installation**: Use `uv` with `pyproject.toml` and install to a virtual environment.\n4. **Typing**: Use `>=3.10` types as per PEP 585 (e.g., `dict`, `list` instead of `typing.Dict`, `typing.List`).\n5. **Comments**: Prefer docstrings and type annotations over inline comments. Use inline comments only when the logic is non-obvious and cannot be clarified through better naming or type hints.\n\n---\n\n<workflow>\n\n## References Index\n\nFor detailed guides on specific tools and sub-systems, refer to the following documents:\n\n### Package & Project Management\n\n- **[`uv` Guide](references/uv.md)**\n  - Initializing projects, managing dependencies, workspaces, and tool execution (`uvx`).\n\n### Code Quality\n\n- **[Quality Standards](references/quality.md)**\n  - Ruff, Mypy, and Pyright configurations.\n\n### Build Systems & compiled Extensions\n\n- **[Building & Packaging](references/build.md)**\n  - Standalone binaries, patching, and distributing.\n- **[Cython Extensions](references/cython.md)**\n  - Compiling C extensions for performance.\n- **[Mypyc Extensions](references/mypyc.md)**\n  - Mypyc-compatible classes and compilation workflows.\n\n</workflow>\n\n<example>\n\n## Example: pyproject.toml Setup\n\n```toml\n[project]\nname = \"myapp\"\nversion = \"0.1.0\"\nrequires-python = \">=3.12\"\ndependencies = [\"litestar>=2.0\", \"sqlalchemy>=2.0\"]\n\n[tool.uv]\ndev-dependencies = [\"pytest>=8.0\", \"ruff>=0.8\", \"mypy>=1.13\"]\n\n[tool.ruff]\ntarget-version = \"py312\"\nline-length = 120\n\n[tool.ruff.lint]\nselect = [\"ALL\"]\nignore = [\"D\", \"ANN101\"]\n\n[tool.mypy]\nstrict = true\npython_version = \"3.12\"\n```\n\n</example>\n\n---\n\n## Official References\n\n- <https://docs.astral.sh/uv/>\n- <https://docs.astral.sh/ruff/>\n- <https://mypy.readthedocs.io/>\n- <https://mypyc.readthedocs.io/>\n\n## Shared Styleguide Baseline\n\n- Use shared styleguides for generic language/framework rules to reduce duplication in this skill.\n- [General Principles](https://github.com/cofin/flow/blob/main/templates/styleguides/general.md)\n- [Python](https://github.com/cofin/flow/blob/main/templates/styleguides/languages/python.md)\n- Keep this skill focused on tool-specific workflows, edge cases, and integration details.\n\n<guardrails>\n## Guardrails\n\nAdd guardrails instructions here.\n</guardrails>\n\n<validation>\n## Validation\n\nAdd validation instructions here.\n</validation>","tags":["python","flow","cofin","agent-skills","ai-agents","beads","claude-code","codex","cursor","developer-tools","gemini-cli","opencode"],"capabilities":["skill","source-cofin","skill-python","topic-agent-skills","topic-ai-agents","topic-beads","topic-claude-code","topic-codex","topic-cursor","topic-developer-tools","topic-gemini-cli","topic-opencode","topic-plugin","topic-slash-commands","topic-spec-driven-development"],"categories":["flow"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/cofin/flow/python","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add cofin/flow","source_repo":"https://github.com/cofin/flow","install_from":"skills.sh"}},"qualityScore":"0.455","qualityRationale":"deterministic score 0.46 from registry signals: · indexed on github topic:agent-skills · 11 github stars · SKILL.md body (2,706 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-04-24T07:03:19.411Z","embedding":null,"createdAt":"2026-04-23T13:04:01.015Z","updatedAt":"2026-04-24T07:03:19.411Z","lastSeenAt":"2026-04-24T07:03:19.411Z","tsv":"'/cofin/flow/blob/main/templates/styleguides/general.md)':304 '/cofin/flow/blob/main/templates/styleguides/languages/python.md)':308 '/ruff/':281 '/uv/':278 '0.1.0':233 '0.8':250 '1':70 '1.13':252 '120':261 '2':83 '2.0':240,242 '3':94 '3.10':109 '3.12':237,273 '4':106 '5':122 '585':114 '8.0':248 'activ':4 'add':324,329 'aggreg':53 'alway':85 'ann101':267 'annot':128 'auto':3 'auto-activ':2 'baselin':286 'better':148 'binari':203 'build':32,55,195,199 'c':211 'cannot':144 'case':319 'check':31 'clarifi':146 'class':221 'code':185 'comment':123,131,134 'compat':220 'compil':197,210,223 'configur':25,194 'convent':14 'core':60 'cython':21,207 'd':266 'depend':179,238,246 'detail':156,322 'dev':245 'dev-depend':244 'develop':47 'dict':116 'distribut':206 'docs.astral.sh':277,280 'docs.astral.sh/ruff/':279 'docs.astral.sh/uv/':276 'docstr':125 'document':169 'duplic':296 'e.g':115 'edg':318 'environ':81,105 'exampl':225 'execut':84,183 'expert':43 'extens':33,198,208,212,216 'file':7 'focus':312 'follow':67,168 'general':300 'generic':291 'github.com':303,307 'github.com/cofin/flow/blob/main/templates/styleguides/general.md)':302 'github.com/cofin/flow/blob/main/templates/styleguides/languages/python.md)':306 'guardrail':323,325 'guid':157,174 'hint':152 'ignor':265 'index':154 'initi':176 'inlin':130,133 'instal':95,101 'instead':118 'instruct':326,331 'integr':321 'keep':309 'knowledg':44 'language/framework':292 'length':260 'line':259 'line-length':258 'lint':28 'list':117 'litestar':239 'logic':138 'manag':82,172,178 'mandatori':69 'myapp':231 'mypi':19,191,251 'mypy.readthedocs.io':282 'mypyc':22,215,219 'mypyc-compat':218 'mypyc.readthedocs.io':283 'name':149,230 'non':141 'non-obvi':140 'obvious':142 'offici':274 'overview':42 'packag':27,79,170,200 'patch':204 'pep':113 'per':63,112 'perform':214 'prefer':124 'prefix':93 'principl':301 'produ':39 'program':88 'project':13,171,177,229 'py':6 'py312':257 'pyproject.toml':8,99,226 'pyright':193 'pytest':247 'python':1,12,26,40,46,78,87,236,271,305 'qualiti':58,186,187 'reduc':295 'refer':153,165,275 'references/build.md':201 'references/cython.md':209 'references/mypyc.md':217 'references/quality.md':189 'references/uv.md':175 'requir':75,235 'requirements.txt':9 'requires-python':234 'ruff':18,190,249 'rule':65,293 'run':35,86,92 'script':36 'select':263 'setup':227 'setup.cfg':11 'setup.py':10 'share':284,288 'skill':41,52,299,311 'skill-python' 'source-cofin' 'specif':159,316 'sqlalchemi':241 'standalon':202 'standard':59,61,188 'strict':269 'styleguid':285,289 'sub':163 'sub-system':162 'system':56,164,196 'target':255 'target-vers':254 'toml':228 'tool':16,54,71,76,160,182,315 'tool-specif':314 'tool.mypy':268 'tool.ruff':253 'tool.ruff.lint':262 'tool.uv':243 'topic-agent-skills' 'topic-ai-agents' 'topic-beads' 'topic-claude-code' 'topic-codex' 'topic-cursor' 'topic-developer-tools' 'topic-gemini-cli' 'topic-opencode' 'topic-plugin' 'topic-slash-commands' 'topic-spec-driven-development' 'true':270 'type':20,30,107,110,127,151 'type-check':29 'typing.dict':120 'typing.list':121 'use':23,96,108,132,287 'uv':17,38,72,91,97,173 'uvx':184 'valid':328,330 'version':232,256,272 'virtual':104 'workflow':224,317 'workspac':50,64,180","prices":[{"id":"26cea7f9-5535-4ec6-9f07-ea8c4c024db2","listingId":"3fe16ee3-8eba-4466-8886-c1914aaed4b4","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"cofin","category":"flow","install_from":"skills.sh"},"createdAt":"2026-04-23T13:04:01.015Z"}],"sources":[{"listingId":"3fe16ee3-8eba-4466-8886-c1914aaed4b4","source":"github","sourceId":"cofin/flow/python","sourceUrl":"https://github.com/cofin/flow/tree/main/skills/python","isPrimary":false,"firstSeenAt":"2026-04-23T13:04:01.015Z","lastSeenAt":"2026-04-24T07:03:19.411Z"}],"details":{"listingId":"3fe16ee3-8eba-4466-8886-c1914aaed4b4","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"cofin","slug":"python","github":{"repo":"cofin/flow","stars":11,"topics":["agent-skills","ai-agents","beads","claude-code","codex","context-driven-development","cursor","developer-tools","gemini-cli","opencode","plugin","slash-commands","spec-driven-development","subagents","tdd","workflow"],"license":"apache-2.0","html_url":"https://github.com/cofin/flow","pushed_at":"2026-04-19T23:22:27Z","description":"Context-Driven Development toolkit for AI agents — spec-first planning, TDD workflow, and Beads integration.","skill_md_sha":"271e270f983ba47654654e4d1a559feec4269d1d","skill_md_path":"skills/python/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/cofin/flow/tree/main/skills/python"},"layout":"multi","source":"github","category":"flow","frontmatter":{"name":"python","description":"Auto-activate for .py files, pyproject.toml, requirements.txt, setup.py, setup.cfg. Python project conventions and tooling: uv, ruff, mypy, typing, Cython, Mypyc. Use when: configuring Python packages, linting, type-checking, building extensions, or running scripts with uv. Produces Python project configurations with uv, ruff, mypy, and proper packaging. Not for Mojo (see mojo), Cython build details (see references), or web framework specifics (see litestar)."},"skills_sh_url":"https://skills.sh/cofin/flow/python"},"updatedAt":"2026-04-24T07:03:19.411Z"}}