Skip to content

SystemIntegrity check fires on personal/custom skills modification #576

@genebushmaster

Description

@genebushmaster

PAI Version

v2.5 (Algorithm v0.2.25)

Installation Method

Standard installation via docs

OS/Environment

  • OS: Linux 6.17.9-76061709-generic (Pop!_OS/Ubuntu)
  • Shell: bash
  • Claude Code CLI

Steps to Reproduce

  1. Create a personal skill using the _ALLCAPS naming convention
  2. Edit any file within that personal skill directory
  3. Observe that the SystemIntegrity hook fires with voice notification: "Checking system integrity for recent changes"

Expected vs Actual

Expected: Personal skills should be excluded from SystemIntegrity checks since they are user-specific and not part of PAI core system. The SKILLSYSTEM.md documentation states personal skills "will NEVER be pushed to public PAI" and are distinct from system skills.

Actual: Every edit to a personal skill file triggers:

  • Voice notification: "Checking system integrity for recent changes"
  • Background integrity maintenance task

This creates noise/interruption during normal personal skill development.

Root Cause Analysis

In ~/.claude/hooks/lib/change-detection.ts, the categorizeChange() function (line ~223) categorizes ALL paths containing skills/ as skill changes:

if (path.includes('skills/')) {
  if (path.includes('/Workflows/')) return 'workflow';
  if (path.includes('PAI/SYSTEM/')) return 'core-system';
  return 'skill';  // <-- Personal skills hit this
}

Then isSignificantChange() treats all 'skill' category changes as significant (line ~286):

const importantCategories: ChangeCategory[] = ['skill', 'hook', 'core-system', 'workflow'];
if (systemChanges.some(c => importantCategories.includes(c.category!))) {
  return true;
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions