What problem does it solve? Python codebases grow tangled when modules import across layers without rules, producing circular imports, hidden dependencies, and misplaced utility code. This Skill defines a strict directed acyclic graph of package layers so every new import points downward and cycles are caught before they ship. ## Core Features & Use Cases - Layered architecture rules: Defines top-level layers (utils, platform, pipelines, bots, analytics, orchestration) plus a utils sub-DAG, with explicit rules about which layer may import which. - Placement guidance: Provides a lookup table for where new code belongs (env helpers, logging, storage, DB access, NN training, bots, analytics) and forbids catch-all dump packages. - Third-party import policy: Specifies when to wrap stdlib or heavy libraries (tensorflow, boto3, redis) in utils versus importing domain libraries (chess, polars) directly. - Use Case: When adding a new preprocessing module that needs logging and object storage, use this Skill to verify the import edges point down the layer list and do not create a logging-core-to-storage cycle. ## Quick Start Ask the agent to review whether a planned new import or module placement in the chess_teacher package respects the import DAG layering rules.