{"id":"3fe16ee3-8eba-4466-8886-c1914aaed4b4","shortId":"nJNgnQ","kind":"skill","title":"python","tagline":"Use when editing Python files, pyproject.toml, requirements.txt, setup.py, setup.cfg, uv workflows, ruff, mypy, typing, packaging, scripts, Cython, or Mypyc extension builds.","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-05-18T19:07:38.889Z","embedding":null,"createdAt":"2026-04-23T13:04:01.015Z","updatedAt":"2026-05-18T19:07:38.889Z","lastSeenAt":"2026-05-18T19:07:38.889Z","tsv":"'/cofin/flow/blob/main/templates/styleguides/general.md)':287 '/cofin/flow/blob/main/templates/styleguides/languages/python.md)':291 '/ruff/':264 '/uv/':261 '0.1.0':216 '0.8':233 '1':53 '1.13':235 '120':244 '2':66 '2.0':223,225 '3':77 '3.10':92 '3.12':220,256 '4':89 '5':105 '585':97 '8.0':231 'add':307,312 'aggreg':36 'alway':68 'ann101':250 'annot':111 'baselin':269 'better':131 'binari':186 'build':22,38,178,182 'c':194 'cannot':127 'case':302 'clarifi':129 'class':204 'code':168 'comment':106,114,117 'compat':203 'compil':180,193,206 'configur':177 'core':43 'cython':18,190 'd':249 'depend':162,221,229 'detail':139,305 'dev':228 'dev-depend':227 'develop':30 'dict':99 'distribut':189 'docs.astral.sh':260,263 'docs.astral.sh/ruff/':262 'docs.astral.sh/uv/':259 'docstr':108 'document':152 'duplic':279 'e.g':98 'edg':301 'edit':4 'environ':64,88 'exampl':208 'execut':67,166 'expert':26 'extens':21,181,191,195,199 'file':6 'focus':295 'follow':50,151 'general':283 'generic':274 'github.com':286,290 'github.com/cofin/flow/blob/main/templates/styleguides/general.md)':285 'github.com/cofin/flow/blob/main/templates/styleguides/languages/python.md)':289 'guardrail':306,308 'guid':140,157 'hint':135 'ignor':248 'index':137 'initi':159 'inlin':113,116 'instal':78,84 'instead':101 'instruct':309,314 'integr':304 'keep':292 'knowledg':27 'language/framework':275 'length':243 'line':242 'line-length':241 'list':100 'litestar':222 'logic':121 'manag':65,155,161 'mandatori':52 'myapp':214 'mypi':14,174,234 'mypy.readthedocs.io':265 'mypyc':20,198,202 'mypyc-compat':201 'mypyc.readthedocs.io':266 'name':132,213 'non':124 'non-obvi':123 'obvious':125 'offici':257 'overview':25 'packag':16,62,153,183 'patch':187 'pep':96 'per':46,95 'perform':197 'prefer':107 'prefix':76 'principl':284 'program':71 'project':154,160,212 'py312':240 'pyproject.toml':7,82,209 'pyright':176 'pytest':230 'python':1,5,23,29,61,70,219,254,288 'qualiti':41,169,170 'reduc':278 'refer':136,148,258 'references/build.md':184 'references/cython.md':192 'references/mypyc.md':200 'references/quality.md':172 'references/uv.md':158 'requir':58,218 'requirements.txt':8 'requires-python':217 'ruff':13,173,232 'rule':48,276 'run':69,75 'script':17 'select':246 'setup':210 'setup.cfg':10 'setup.py':9 'share':267,271 'skill':24,35,282,294 'skill-python' 'source-cofin' 'specif':142,299 'sqlalchemi':224 'standalon':185 'standard':42,44,171 'strict':252 'styleguid':268,272 'sub':146 'sub-system':145 'system':39,147,179 'target':238 'target-vers':237 'toml':211 'tool':37,54,59,143,165,298 'tool-specif':297 'tool.mypy':251 'tool.ruff':236 'tool.ruff.lint':245 'tool.uv':226 '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':253 'type':15,90,93,110,134 'typing.dict':103 'typing.list':104 'use':2,79,91,115,270 'uv':11,55,74,80,156 'uvx':167 'valid':311,313 'version':215,239,255 'virtual':87 'workflow':12,207,300 'workspac':33,47,163","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-05-18T19:07:38.889Z"}],"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-27T19:07:26Z","description":"Context-Driven Development toolkit for AI agents — spec-first planning, TDD workflow, and Beads integration.","skill_md_sha":"565b7196c95e99c2093e9a6a7365a5c25c208d0c","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":"Use when editing Python files, pyproject.toml, requirements.txt, setup.py, setup.cfg, uv workflows, ruff, mypy, typing, packaging, scripts, Cython, or Mypyc extension builds."},"skills_sh_url":"https://skills.sh/cofin/flow/python"},"updatedAt":"2026-05-18T19:07:38.889Z"}}