faion-python-developer

Python development: Django, FastAPI, async patterns, testing, type hints.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "faion-python-developer" with this command: npx skills add faionfaion/faion-network/faionfaion-faion-network-faion-python-developer

Entry point: /faion-net — invoke this skill for automatic routing to the appropriate domain.

Python Developer Skill

Python development specializing in Django, FastAPI, async programming, and modern Python patterns.

Purpose

Handles all Python backend development including Django full-stack apps, FastAPI async APIs, pytest testing, and Python best practices.


Context Discovery

Auto-Investigation

Gather Python project context before asking questions:

SignalHow to CheckWhat It Tells Us
manage.pyGlob("**/manage.py")Django project
pyproject.tomlRead("pyproject.toml")Dependencies, Python version, tools
requirements.txtRead("requirements.txt")Dependencies (legacy setup)
settings/*.pyGlob("**/settings/*.py")Django settings structure
services/*.pyGlob("**/services/*.py")Service layer exists → follow pattern
conftest.pyGlob("**/conftest.py")pytest fixtures exist → check style
factories.pyGlob("**/factories.py")Factory Boy used for tests
tasks.py or celery.pyGlob("**/tasks.py")Celery async tasks used
.pre-commit-config.yamlGlob("**/.pre-commit-config.yaml")Pre-commit hooks, linting tools
mypy.ini or pyproject.toml [tool.mypy]Check for mypy configType checking enforced

Read existing code to understand patterns:

- Read a model file to see BaseModel pattern
- Read a service file to see service layer style
- Read a test file to see testing conventions
- Read serializers to see DRF patterns

Discovery Questions

Use AskUserQuestion for Python-specific decisions not clear from investigation.

Q1: Framework Choice (only if not detected)

question: "Which Python framework are you using?"
header: "Framework"
multiSelect: false
options:
  - label: "Django"
    description: "Full-featured web framework with ORM"
  - label: "FastAPI"
    description: "Modern async API framework"
  - label: "Flask"
    description: "Lightweight microframework"
  - label: "No framework (scripts/CLI)"
    description: "Pure Python application"

Routing:

  • "Django" → django-* methodologies
  • "FastAPI" → python-fastapi, python-async
  • "Flask" → python-web-frameworks
  • "No framework" → python-basics, python-code-quality

Q2: Code Placement (for new code in Django)

question: "What type of code are you writing?"
header: "Code Type"
multiSelect: false
options:
  - label: "Database operations (create/update/delete)"
    description: "Code that modifies data"
  - label: "Business logic (calculations, transformations)"
    description: "Pure functions, no side effects"
  - label: "API endpoint"
    description: "HTTP request handling"
  - label: "Background task"
    description: "Async/scheduled processing"
  - label: "Not sure"
    description: "I'll help you decide based on what it does"

Routing (Django decision tree):

  • "Database operations" → services/ directory
  • "Business logic" → utils/ directory (pure functions)
  • "API endpoint" → views/ or viewsets/
  • "Background task" → tasks/ with Celery
  • "Not sure" → Ask what the code does, apply decision tree

Q3: Async Requirements

question: "Does this need async/concurrent execution?"
header: "Async"
multiSelect: false
options:
  - label: "Yes, I/O bound (API calls, file ops)"
    description: "Multiple external calls that can run in parallel"
  - label: "Yes, background processing"
    description: "Long-running tasks that shouldn't block"
  - label: "No, synchronous is fine"
    description: "Simple request-response flow"
  - label: "Not sure"
    description: "I'll analyze and recommend"

Routing:

  • "I/O bound" → python-async, asyncio patterns
  • "Background processing" → django-celery or FastAPI BackgroundTasks
  • "Synchronous" → Standard patterns
  • "Not sure" → Analyze task characteristics

Q4: Type Safety Level

question: "What level of type safety do you want?"
header: "Types"
multiSelect: false
options:
  - label: "Strict (full type hints, mypy strict)"
    description: "Maximum type safety, catch errors early"
  - label: "Gradual (key interfaces typed)"
    description: "Type public APIs, internal can be looser"
  - label: "Minimal (match existing code)"
    description: "Follow project's current style"

Routing:

  • "Strict" → python-type-hints strict mode, Protocol, TypedDict
  • "Gradual" → Type annotations on public functions
  • "Minimal" → Match existing codebase style

Q5: Testing Approach (for new features)

question: "How should we approach testing?"
header: "Testing"
multiSelect: false
options:
  - label: "TDD (tests first)"
    description: "Write tests before implementation"
  - label: "Tests after implementation"
    description: "Write tests once code works"
  - label: "Match existing test coverage"
    description: "Follow project's testing patterns"
  - label: "No tests needed"
    description: "Spike/prototype, tests later"

Routing:

  • "TDD" → tdd-workflow, write test first
  • "Tests after" → django-pytest or python-testing-pytest
  • "Match existing" → Read conftest.py, follow patterns
  • "No tests" → Skip testing methodologies

When to Use

  • Django projects (models, services, API, testing)
  • FastAPI async APIs
  • Python async patterns and concurrency
  • Python type hints and strict typing
  • Python testing with pytest
  • Python code quality and tooling

Methodologies

CategoryMethodologyFile
Django Core
Django standardsDjango coding standards, project structuredjango-coding-standards.md
Django modelsModel design, base model patternsdjango-base-model.md
Django models referenceModel fields, managers, migrationsdjango-models.md
Django servicesService layer architecturedjango-services.md
Django APIDRF patterns, serializers, viewsetsdjango-api.md
Django testingDjango test patterns, factoriesdjango-testing.md
Django pytestpytest-django, fixtures, parametrizedjango-pytest.md
Django celeryAsync tasks, queues, beatdjango-celery.md
Django qualityCode quality, linting, formattingdjango-quality.md
Django importsImport organization, circular importsdjango-imports.md
Django decision treeFramework selection, when to use Djangodjango-decision-tree.md
Django decompositionBreaking down Django monolithsdecomposition-django.md
FastAPI
FastAPI basicsRoutes, dependencies, validationpython-fastapi.md
Web frameworksDjango vs FastAPI vs Flask comparisonpython-web-frameworks.md
Async Python
Async basicsasyncio, await, event looppython-async.md
Async patternsConcurrent patterns, asyncio best practicespython-async-patterns.md
Type Safety
Type hintsGradual typing, annotationspython-type-hints.md
Python typingTypedDict, Protocol, Genericpython-typing.md
Testing
pytest basicsFixtures, parametrize, markerspython-testing-pytest.md
Python Core
Python basicsLanguage fundamentals, patternspython-basics.md
Python overviewQuick referencepython.md
Python modern 2026Python 3.12/3.13 featurespython-modern-2026.md
Python code qualityruff, mypy, black, isortpython-code-quality.md
Poetry setupDependency management, pyproject.tomlpython-poetry-setup.md

Tools

  • Frameworks: Django 5.x, FastAPI 0.1x, Flask
  • Testing: pytest, pytest-django, pytest-asyncio, factory-boy
  • Type checking: mypy, pyright
  • Linting: ruff, flake8, pylint
  • Formatting: black, isort
  • Package management: poetry, pip-tools, uv

Related Sub-Skills

Sub-skillRelationship
faion-backend-developerDatabase patterns (PostgreSQL, Redis)
faion-api-developerREST/GraphQL API design
faion-testing-developerAdvanced testing patterns
faion-devtools-developerArchitecture patterns, code quality

Integration

Invoked by parent skill faion-software-developer when working with Python code.


faion-python-developer v1.0 | 24 methodologies

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

faion-software-developer

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

faion-claude-code

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

faion-devops-engineer

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

faion-frontend-developer

No summary provided by upstream source.

Repository SourceNeeds Review