| name | cpython-navigation |
| description | Use this skill when you need to understand the CPython source code structure, find where specific functionality is implemented (C runtime, stdlib, tests, docs), or understand the relationship between different parts of the codebase like modules and their tests. |
CPython Source Code Navigation
Source Code Structure
Lib/ - Python standard library (pure Python). Example: Lib/zipfile.py
Modules/ - C extension modules for performance/low-level access. Example: Modules/_csv.c
Objects/ and Python/ - Core types (list, dict, int), builtins, runtime, interpreter loop
Include/ - C header files for public and internal C APIs
Lib/test/ - All unittests
- Test naming:
test_{module_name}.pyortest_{module_name}/ - Examples:
Lib/zipfile.py→Lib/test/test_zipfile**,Modules/_csv.c→Lib/test/test_csv.py - Test packages require
load_tests()intest_package/__init__.pyto work withpython -m test
Doc/ - Documentation in .rst format (source for python.org docs), builds to Doc/build/
InternalDocs/ - Maintainer documentation (InternalDocs/README.md is the starting point)
Tools/ - Build tools like Argument Clinic, development utilities
Argument Clinic
Generates C boilerplate for argument parsing from specially formatted comments in .c files. Output goes to **/clinic/** subdirectories.
NEVER edit files in **/clinic/** subdirectories - they're auto-generated! Edit the source .c file, then run make -C BUILD_DIR clinic.
Scratch Space
NEVER create throwaway files in repo root. Use .claude/sandbox/ for exploration files, test scripts, and prototypes.