config-centralizer

Migrates scattered module-level configuration constants into a centralized shared Python config module.

Updated Apr 11, 2026
One-click install
npx skills add https://github.com/Coral5644/NekansModPack --skill config-centralizer-coral5644
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: config-centralizer
Source: https://github.com/Coral5644/NekansModPack/tree/main/.cursor/skills/config-centralizer
Command: npx skills add https://github.com/Coral5644/NekansModPack --skill config-centralizer-coral5644

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Configuration values, constants, paths, thresholds, and feature flags often end up scattered across individual submodules, making them hard to find, update, and keep consistent. This Skill enforces a centralized configuration management pattern so every configurable value lives in one shared config module. ## Core Features & Use Cases - Violation Detection: Scans for submodule-level config files such as Modules/SomeModule/Config.py and hardcoded constants that should be configurable. - Structured Migration: Moves values into a shared config module (e.g., Modules/Shared/Config.py) using PascalCase classes with docstrings, nested grouping classes, and immutable collections like frozenset or tuple. - Import Correction & Cleanup: Rewrites references to use the sanctioned import path and deletes obsolete per-module config files after all usages are updated. - Use Case: During code review you find a new Modules/Reports/ReportConfig.py defining timeout and path constants. Use this Skill to migrate them into a ReportConfig class in the shared config module, fix all imports, and remove the old file. ## Quick Start Ask the AI to centralize the configuration constants found in a specific submodule into the shared config module and update all imports accordingly.

Frequently Asked Questions about config-centralizer

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I centralize configuration constants in a Python project?▼

Move all configurable values into a shared config module such as Modules/Shared/Config.py, organized as PascalCase classes with docstrings. Then update every reference to import from that shared module and delete the old per-module config files.

How should I name configuration classes in a shared config module?▼

Use PascalCase names, preferably ending with Config, such as SelectionConfig. The suffix can be omitted when the name already clearly conveys configuration purpose, like UIPath. Every class and attribute must include a docstring.

When is it acceptable to keep a separate config file in a submodule?▼

Only when there is an explicit and necessary isolation reason. By default all configuration items must live in the shared config module, and submodule-level config files are treated as violations to be migrated.

What should I do with old config files after migrating constants?▼

First update all references to use the correct import path through the shared module, verifying no stale imports remain. Only after confirming every usage is updated should you delete the old submodule-level config file.

How do I represent immutable configuration collections in Python?▼

Use frozenset for immutable sets and tuple for immutable sequences instead of mutable lists or sets. This prevents accidental modification of configuration values at runtime and signals that the values are fixed constants.