modular-code
Modular Code Organization
By parcadei · 557 installs
npx skills add parcadei/continuous-claude-v3 --skill modular-code
Source repository · Upstream listing
Modular Code Organization
Write modular Python code with files sized for maintainability and AI assisted development.
File Size Guidelines
Lines Status Action
150 500 Optimal Sweet spot for AI code editors and human comprehension
500 1000 Large Look for natural split points
1000 2000 Too large Refactor into focused modules
2000+ Critical Must split causes tooling issues and cognitive overload
When to Split
Split when ANY of these apply:
File exceeds 500 lines
Multiple unrelated concerns in same file
Scroll fatigue finding functions
Tests for the file are hard to organize
AI tools truncate or miss context
How to Split
Natural Split Points
1. By domain concept : auth.py → auth/login.py , auth/tokens.py , auth/permissions.py
2. By abstraction layer : Separate interface from implementation
3. By data type : Group operations on related data structures
4. By I/O boundary : Isolate database, API, file operations
Package Structure
DO
Use meaningful module names ( data storage.py not utils2.py )
Keep init .py files minimal or empty
Group related functions together
Isolate pure functions from side effects
Use snake case for module names
DON'T
Split files arbitrarily by line count alone
Create single function modules
Over modularize into "package hell"
Use dots or special characters in module names
Hide dependencies with "magic" imports
Refactoring Large Files
When splitting an existing large file:
1. Identify clusters : Find groups of related functions
2. Extract incrementally : Move one cluster at a time
3. Update imports : Fix all import statements
4. Run tests : Verify nothing broke after each move
5. Document : Update any references to old locations
Current Codebase Candidates
Files over 2000 lines that need attention:
Math compute modules (scipy, mpmath, numpy) domain specific, may be acceptable
patterns.py consider splitting by pattern type
memory backfill.py consider splitting by operation type
Sources
[The Hitchhiker's Guide to Python](https://docs.python guide.org/writing/structure/)
[Python Project Best Practices Dagster](https://dagster.io/blog/python project best practices)
[Right Sizing Python Files for AI Editors](https://medium.com/@eamonn.faherty 58176/right sizing your python files the 150 500 line sweet spot for ai code editors 340d550dcea4)
[PEP 8 Style Guide](https://peps.python.org/pep 0008/)