Claude-skill-registry java-maintain-logger
Execute systematic logging standards maintenance with plan tracking and comprehensive test coverage
git clone https://github.com/majiayu000/claude-skill-registry
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/java-maintain-logger" ~/.claude/skills/majiayu000-claude-skill-registry-java-maintain-logger && rm -rf "$T"
skills/data/java-maintain-logger/SKILL.mdLogger Maintain Skill
Systematically implements and maintains logging standards across modules while preserving functionality and tracking progress via plan.md.
CONTINUOUS IMPROVEMENT RULE
If you discover issues or improvements during execution, record them:
- Activate skill:
Skill: plan-marshall:manage-lessons - Record lesson with:
- Component:
{type: "command", name: "java-maintain-logger", bundle: "pm-dev-java"} - Category: bug | improvement | pattern | anti-pattern
- Summary and detail of the finding
- Component:
PARAMETERS
- module - Module name for single module (optional, processes all if not specified)
- create-plan - Generate/regenerate plan.md from current state (optional, default: false)
CRITICAL CONSTRAINTS
Production Code Protection
MUST:
- Modify ONLY logging-related code
- Preserve all existing functionality
- Focus exclusively on logging implementation and testing
MUST NOT:
- Make non-logging production code changes
- Alter business logic behavior
- Change method signatures or APIs
Bug Handling Protocol
When non-logging production bugs discovered:
- STOP maintenance immediately
- DOCUMENT bug (location, description, impact)
- ASK USER for approval to fix
- WAIT for explicit confirmation
- SEPARATE COMMIT for bug fix if approved
- RESUME logging maintenance after commit
Never fix non-logging bugs without user approval.
Testing Philosophy - CRITICAL
LogAsserts MUST be in business logic tests - NEVER standalone coverage tests.
See
pm-dev-java-cui:cui-logging skill (logging-maintenance-reference.md#test-implementation) for detailed examples.
WORKFLOW
Step 0: Parameter Validation
- If
specified: verify module existsmodule - If
specified: will regenerate plan.mdcreate-plan - Determine processing scope (single module vs all)
Step 1: Load Logging Standards
Skill: pm-dev-java-cui:cui-logging
This loads comprehensive logging standards including:
- logging-standards.md - Implementation standards for new code
- logging-maintenance-reference.md - Maintenance reference for existing code
- dsl-constants.md - DSL pattern for LogMessages structure
On load failure: Report error and abort command.
Step 2: Pre-Maintenance Verification
2.1 Build Verification:
Skill: pm-dev-builder:builder-maven-rules Workflow: Execute Maven Build Parameters: goals: -Ppre-commit clean verify -DskipTests module: {module if specified} output_mode: errors
On build failure: Prompt user "[F]ix build first / [A]bort", track in
pre_verification_failures.
2.2 Module Identification:
If
module parameter not specified:
- Use Glob to identify all Maven modules
- Determine processing order (dependencies first)
2.3 Standards Review Confirmation:
Display loaded standards summary and confirm readiness with user.
Step 3: Create/Update Planning Document
3.1 Generate plan.md:
If
create-plan=true OR plan.md doesn't exist, run LogRecord Discovery Script from pm-dev-java-cui:cui-logging skill (logging-maintenance-reference.md#logrecord-discovery-and-coverage-verification).
3.2 Display Status:
Total LogRecords: {total} Tested: {tested} Missing: {missing} Completion: {percentage}%
3.3 Store Inventory: Parse plan.md table for progress tracking.
Step 4: Module-by-Module Analysis
For each module, run systematic violation detection using Explore agent:
4.1 Logger Audit:
Task: subagent_type: Explore model: sonnet description: Audit logger configuration prompt: | Identify logging configuration violations in module {module}. Apply detection criteria from `pm-dev-java-cui:cui-logging` skill: logging-maintenance-reference.md#standards-violation-detection Return structured list of violations with locations.
4.2 LogRecord Audit:
Task: subagent_type: Explore model: sonnet description: Audit LogRecord usage prompt: | Check LogRecord usage compliance in module {module}. Apply rules from `pm-dev-java-cui:cui-logging` skill: logging-maintenance-reference.md#logrecord-implementation-issues Return structured findings.
4.3 LogMessages Review:
Task: subagent_type: Explore model: sonnet description: Review LogMessages structure prompt: | Review LogMessages class structure in module {module}. Apply patterns from `pm-dev-java-cui:cui-logging` skill: logging-maintenance-reference.md#logmessages-structure-issues Return findings with specific violations.
4.4 Documentation Check:
Verify doc/LogMessages.adoc exists and matches implementation.
4.5 Duplicate Detection:
Task: subagent_type: Explore model: sonnet description: Detect duplicate log messages prompt: | Identify duplicate logging patterns in module {module}. Apply detection patterns from `pm-dev-java-cui:cui-logging` skill: logging-maintenance-reference.md#duplicate-detection-patterns Suggest consolidation opportunities.
4.6 Display Module Analysis Summary and prompt user: "[P]roceed / [S]kip / [A]bort"
Step 5: Implementation Phase
Apply fixes using /java-implement-code command with patterns from
pm-dev-java-cui:cui-logging skill:
5.1 Logger Migration:
SlashCommand: /pm-dev-java:java-implement-code task="Migrate logger to CuiLogger in {file}. Replace logger with CuiLogger. Apply migration pattern from `pm-dev-java-cui:cui-logging` skill: logging-maintenance-reference.md#logger-migration CRITICAL: Only modify logging code, no other changes."
5.2 LogRecord Implementation:
SlashCommand: /pm-dev-java:java-implement-code task="Add LogRecord usage in {file}. Convert direct logging to LogRecord. Apply implementation pattern from `pm-dev-java-cui:cui-logging` skill: logging-maintenance-reference.md#logrecord-implementation CRITICAL: Only modify logging code."
If non-logging bug discovered: Apply bug handling protocol (stop, document, ask user, wait).
5.3 LogMessages Creation/Update:
SlashCommand: /pm-dev-java:java-implement-code task="Create/update LogMessages class for module {module}. Use template from `pm-dev-java-cui:cui-logging` skill: logging-maintenance-reference.md#logmessages-structure CRITICAL: Only create/modify LogMessages, no other changes."
5.4 Documentation Update:
Create or update doc/LogMessages.adoc following standard format.
5.5 Test Implementation - CRITICAL STEP:
Task: subagent_type: Explore model: sonnet description: Find business logic test for LogRecord prompt: | Find the appropriate business logic test for LogRecord {logrecord_name}. Follow troubleshooting guide from `pm-dev-java-cui:cui-logging` skill: logging-maintenance-reference.md#finding-the-right-business-logic-test Return: test file, test method, line number for LogAsserts. CRITICAL: Must be EXISTING business logic test, not new coverage test.
Then add LogAsserts to existing test (see
pm-dev-java-cui:cui-logging skill for LogAsserts patterns).
If no business logic test exists: Prompt user "[C]reate business test first / [S]kip / [A]bort"
Step 6: Verification Phase
6.1 Module Build Verification:
Skill: pm-dev-builder:builder-maven-rules Workflow: Execute Maven Build Parameters: goals: clean test module: {module} output_mode: structured
On failure: Analyze cause, apply bug handling protocol if non-logging.
6.2 LogRecord Coverage Verification:
For each LogRecord in module:
- Verify production reference (Grep for
calls).format() - Verify test reference (Grep for LogAsserts usage)
- Update plan.md status
6.3 Full Build Verification:
Skill: pm-dev-builder:builder-maven-rules Workflow: Execute Maven Build Parameters: goals: -Ppre-commit clean install module: {module} output_mode: errors
6.4 Module Commit:
Bash: git add {module files} plan.md Bash: git commit -m "$(cat <<'EOF' refactor(logging): implement logging standards in {module} Logging improvements: - Logger migrations: {count} completed - LogRecord implementations: {count} completed - Tests updated: {count} business logic tests - Documentation: doc/LogMessages.adoc updated plan.md status: {tested}/{total} LogRecords tested 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> EOF )"
Proceed to next module.
Step 7: Final Verification
7.1 Complete Build:
Skill: pm-dev-builder:builder-maven-rules Workflow: Execute Maven Build Parameters: goals: -Ppre-commit clean install output_mode: errors
7.2 Final plan.md Update: Update with completion timestamp.
7.3 Generate Final Report: Review all plan.md files and generate summary.
Step 8: Display Summary
╔════════════════════════════════════════════════════════════╗ ║ Logger Maintenance Summary ║ ╚════════════════════════════════════════════════════════════╝ Scope: {module or 'all modules'} Modules Processed: {modules_completed} / {total_modules} Logger Migrations: {logger_migrations} LogRecord Implementations: {logrecord_implementations} Tests Updated: {tests_updated} LogRecord Coverage: {tested_logrecords}/{total_logrecords} ({coverage_percentage}%) Documentation: {doc_count} files created/updated Bugs Found: {bugs_found} ({bugs_fixed} fixed, {bugs_skipped} skipped) Build Status: {SUCCESS/FAILURE} Time Taken: {elapsed_time} See plan.md for detailed LogRecord inventory.
STATISTICS TRACKING
Track throughout workflow:
- Pre-maintenance build failurespre_verification_failures
/modules_completed
- Module processingmodules_skipped
- Total logger migrationslogger_migrations
- Total LogRecord implementationslogrecord_implementations
- Business logic tests updated with LogAssertstests_updated
- LogRecords without business logic teststests_missing
/bugs_found
/bugs_fixed
- Bug handlingbugs_skipped
- Module verification failuresmodule_verification_failures
/total_logrecords
- Coverage metricstested_logrecords
- Total execution timeelapsed_time
Display all statistics in final summary.
ERROR HANDLING
Build Failures: Display detailed errors, distinguish logging vs non-logging, apply bug handling protocol.
Test Failures: Analyze cause, fix if logging-related, apply bug handling protocol if non-logging.
Missing Business Logic Tests: Document LogRecords without tests, prompt user for guidance.
Non-Logging Bugs: STOP immediately, document thoroughly, ask user approval, separate commit if approved.
USAGE EXAMPLES
# Process all modules /java-maintain-logger # Process single module /java-maintain-logger module=auth-service # Generate/regenerate plan /java-maintain-logger create-plan # Process module and regenerate plan /java-maintain-logger module=user-api create-plan
ARCHITECTURE
Orchestrates skill workflows and commands:
skill - Logging standards and maintenance referencepm-dev-java-cui:cui-logging- Explore agent - Violation detection and business test location
- /java-implement-code command - Logging code modifications
- Bash - Maven builds for verification
- pm-dev-builder:builder-maven-rules skill - Build output parsing
- Bash - LogRecord discovery script and plan.md updates (scripts from skill)
RELATED
skill - Logging standards and maintenance referencepm-dev-java-cui:cui-logging
command - Code modifications/java-implement-code
skill - Maven standards and output parsingpm-dev-builder:builder-maven-rules
command - Broader code refactoring/java-refactor-code
command - Automated logging enforcement/java-enforce-logrecords