Skip to main content

Naming Convention Audit — 2026-02-19

Executive Summary

CategoryCountSafe to RenameMust Keep
UPPERCASE skill companions110
snake_case hooks16151 (hook_logger.py)
snake_case scripts28623551 (imported)
Total30325152

Convention exceptions (correct as-is):

  • LICENSE.md — 6 files, standard convention (keep uppercase)
  • SKILL.md, README.md, CHANGELOG.md — standard conventions (keep uppercase)
  • Python modules imported by other files — MUST stay snake_case per PEP 8

Decision

Snake_case Python files that are imported as modules CANNOT be renamed to kebab-case. Python does not allow hyphens in import statements (from hook-logger import ... is a syntax error). These 52 files are correctly named per Python conventions and must stay as-is.

The remaining 251 files CAN be renamed but the value is low compared to the risk:

  • 235 standalone scripts would need all external references updated (shell scripts, commands, SKILL.md files)
  • 15 hooks would need hook registration config updates
  • 1 skill template file is a trivial rename

Recommendation: Do NOT rename existing snake_case Python files. Instead:

  1. Enforce kebab-case for NEW standalone scripts and hooks (non-imported)
  2. Document that snake_case is acceptable for Python modules that may be imported
  3. Rename the 1 UPPERCASE skill template file

Category Details

1. UPPERCASE Skill Companion Files (1 file)

Only one non-standard-exception file remains uppercase:

FileProposed NameRisk
skills/submodule-setup/templates/PROJECT-PLAN.template.mdproject-plan.template.mdLow

2. snake_case Hooks (16 files)

FileImported ByDecision
hooks/hook_logger.py15 filesKEEP (critical shared module)
hooks/classify_document.pyhook_loggerCan rename
hooks/dependency_management.pynoneCan rename
hooks/enhance_prompt.pynoneCan rename
hooks/error_recovery_resilience.pynoneCan rename
hooks/monitoring_observability.pynoneCan rename
hooks/multi_tool_orchestration.pynoneCan rename
hooks/performance_optimization.pynoneCan rename
hooks/performance_profiling.pynoneCan rename
hooks/pre_commit_quality.pynoneCan rename
hooks/quality_gate_enforcement.pynoneCan rename
hooks/session_start_governance.pyhook_loggerCan rename
hooks/standards_compliance.pynoneCan rename
hooks/sync_documentation.pynoneCan rename
hooks/trajectory_logger_hook.pyhook_logger, trajectory_loggingCan rename
hooks/validate_component.pynoneCan rename

3. snake_case Scripts — Imported Modules (51 files, MUST KEEP)

These 51 modules are imported by other files and cannot be renamed:

ModuleImported By (count)Key Importers
hook_logger15Nearly all hooks
qa_common8All grade-*.py QA scripts
unified_logger8Checkpoint, dashboard, LLM executors
message_bus5Agent delegation, message bus health, session bus
session_message_bus3session-register-bus, file-conflict-bus, task-id-validator
conversation_deduplicator3Checkpoint, export POCs
privacy_manager3Privacy integration, memory context
component_activator3Activate-all, agent dispatcher, framework bridge
task_queue_manager3Agent delegation tests, priority router
backup_compress2backup_databases, db_backup
backup_crypto2backup_databases, db_backup
backup_databases2Self, db_backup
backup_gcs2db_backup, self
nested_learning2Self, memory_context_integration
priority_router2Test, self
privacy_integration2Checkpoint, self
session_export2Checkpoint, memory_context_integration
token_resolver2a2ui_transformer, self
Plus 33 more with 1 importer each

4. snake_case Scripts — Standalone (235 files, CAN rename but low value)

These scripts are executed directly (python3 scripts/foo_bar.py) and not imported. Renaming is technically possible but affects:

  • Shell scripts or commands that reference them by filename
  • Documentation links
  • User muscle memory

Convention Standard

Based on this audit, the naming convention for coditect-core is:

File TypeConventionRationale
Standalone scriptskebab-case (new), snake_case (existing OK)CLI convention
Python modules (imported)snake_case (required)PEP 8 / Python import syntax
Hooks (standalone)kebab-case (preferred)CLI convention
Hooks (imported)snake_case (required)PEP import syntax
Skill companion fileslowercase kebab-caseMatch directory naming
Standard filesUPPERCASE (README.md, LICENSE.md, CHANGELOG.md, SKILL.md)Universal convention
Markdown docskebab-caseURL-friendly
Directorieskebab-caseURL-friendly, match repo naming

Machine-Readable Manifest

Full JSON manifest with all file paths and import dependencies: /tmp/naming-audit.json

  • fix-skill-resources.py updated to generate lowercase filenames (RESOURCE_NAMES + slugify())
  • MoE classifier template_expert.py uses filename case for confidence scoring (line 46)
  • ADR-213: Documentation externalization (separate concern)