Agent skill

code-maintainer

Fix bugs, optimize performance, and maintain code quality in CClean-Killer. Use when asked to fix detection issues, false positives, false negatives, optimize scan speed, improve performance, refactor code, or do quick maintenance tasks like version bumps or linting.

Stars 163
Forks 31

Install this agent skill to your Project

npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/development/code-maintainer

SKILL.md

Code Maintainer

Fix bugs, optimize performance, and maintain code quality in the CClean-Killer codebase.

Purpose

Handle day-to-day development tasks:

  • Fix detection issues (false positives/negatives)
  • Optimize script performance
  • Quick maintenance tasks

Modes

Mode: fix

Debug and fix detection issues including false positives and false negatives.

When to use: User says "fix detection", "false positive", "false negative", "not detecting", "wrongly detecting"

Workflow:

  1. Diagnose Phase

    • Identify the specific issue (FP or FN)
    • Run detection with verbose output:
      bash
      ./scripts/macos/find-parasites.sh --verbose 2>&1 | grep -i "[pattern]"
      ./scripts/macos/find-orphans.sh --verbose 2>&1 | grep -i "[pattern]"
      
    • Check pattern matching logic in script
  2. Trace Phase

    • Read the detection function in scripts/macos/find-parasites.sh
    • Check is_known_parasite() function
    • Verify bundle ID extraction from plist
    • Check skip patterns in scripts/macos/lib/common.sh
  3. Fix Phase

    • For false positive: Add to skip patterns or refine match
    • For false negative: Add/fix pattern in KNOWN_PARASITES array
    • Update knowledge/parasite-fingerprints.json if needed
  4. Verify Phase

    • Run tests:
      bash
      npm run test:unit
      
    • Verify fix works on real data

Files Modified:

  • scripts/macos/find-parasites.sh
  • scripts/macos/find-orphans.sh
  • scripts/macos/lib/common.sh (SKIP_PATTERNS)
  • knowledge/parasite-fingerprints.json
  • tests/unit/test-parasite-patterns.sh

Common Issues:

Issue Location Fix
Pattern too broad KNOWN_PARASITES array Make pattern more specific
Pattern too narrow KNOWN_PARASITES array Use broader glob pattern
Wrong bundle ID extraction get_bundle_id_from_plist() Fix plist parsing
App check failing app_exists_for_agent() Fix mdfind or /Applications check
Safe item flagged SKIP_PATTERNS Add to skip list

Mode: optimize

Improve performance of scanning and detection scripts.

When to use: User says "optimize", "slow scan", "improve performance", "speed up", "benchmark"

Workflow:

  1. Profile Phase

    • Run benchmark:
      bash
      time ./scripts/macos/scan.sh --dry-run
      time ./scripts/macos/find-parasites.sh --dry-run
      
    • Identify slow operations
  2. Analyze Phase

    • Check for:
      • Repeated file system operations
      • Inefficient loops
      • Missing caching
      • Sequential operations that could be parallel
    • Reference scripts/macos/lib/optimized-patterns.sh for existing optimizations
  3. Implement Phase

    • Apply optimization techniques:
      bash
      # Cache app list instead of repeated mdfind
      declare -A APP_CACHE
      
      # Use find with -prune for skipping
      find "$dir" -name ".git" -prune -o -type f -print
      
      # Parallel processing
      find ... | xargs -P 4 ...
      
  4. Benchmark Phase

    • Compare before/after:
      bash
      ./scripts/benchmark.sh --compare
      
    • Document improvement in docs/OPTIMIZATION-REPORT.md

Files Modified:

  • scripts/macos/*.sh
  • scripts/macos/lib/common.sh
  • scripts/macos/lib/optimized-patterns.sh
  • docs/OPTIMIZATION-REPORT.md

Optimization Techniques:

Technique When to Use Example
Associative arrays Repeated lookups declare -A cache
Find with -prune Skip directories -name ".git" -prune
Parallel xargs Independent operations xargs -P 4
Early termination First match sufficient return after match
Caching Expensive repeated calls Cache mdfind results

Mode: maintain

Quick maintenance tasks: version bumps, linting, syncing, cleanup.

When to use: User says "bump version", "lint", "sync json", "cleanup", "maintenance"

Quick Tasks:

  1. Version Bump

    bash
    # Update version in package.json
    npm version patch  # or minor/major
    
  2. Lint Scripts

    bash
    # Check shell scripts
    shellcheck scripts/macos/*.sh scripts/macos/lib/*.sh
    
  3. Sync JSON Database

    • Ensure parasite-fingerprints.json matches common-parasites.md
    • Update totalParasites count
    • Update lastUpdated date
  4. Validate Configs

    bash
    # Check JSON syntax
    jq . knowledge/parasite-fingerprints.json > /dev/null
    
    # Check all scripts are executable
    find scripts -name "*.sh" ! -executable
    
  5. Clean Temp Files

    bash
    rm -f scripts/**/*.bak
    rm -f **/*.tmp
    

Files Modified:

  • package.json (version)
  • knowledge/parasite-fingerprints.json (metadata)
  • Various (linting fixes)

Safety Rules

  1. ALWAYS run tests after fixes
  2. NEVER remove safety checks during optimization
  3. PRESERVE backward compatibility in function signatures
  4. VERIFY optimizations don't change output
  5. DOCUMENT non-obvious optimizations with comments

Debugging Commands

bash
# Verbose detection output
./scripts/macos/find-parasites.sh --verbose

# Dry run (no changes)
./scripts/macos/clean.sh --dry-run --all

# JSON output for parsing
./scripts/macos/scan.sh --json | jq .

# Test specific pattern
grep -r "com.example" knowledge/

# Check if pattern matches
[[ "com.google.keystone.agent" == com.google.* ]] && echo "matches"

Examples

Example 1: Fix false positive

User: "Google Chrome is being flagged as a parasite but it's installed"

1. Check detection: ./scripts/macos/find-parasites.sh --verbose | grep google
2. Find: com.google.keystone.agent flagged as zombie
3. Trace: app_exists_for_agent() not finding Chrome.app
4. Fix: Update app detection to check "Google Chrome.app"
5. Verify: Run detection again, no longer flagged

Example 2: Optimize slow scan

User: "Scanning takes 30 seconds, can we speed it up?"

1. Profile: time ./scripts/macos/scan.sh shows 25s in du calls
2. Analyze: Repeated du on same directories
3. Implement: Cache directory sizes in associative array
4. Benchmark: New time is 8 seconds
5. Document in OPTIMIZATION-REPORT.md

Related Skills

  • knowledge-manager: For adding new parasites after fixing detection
  • quality-assurance: For adding regression tests after fixes

Didn't find tool you were looking for?

Be as detailed as possible for better results