Event Hooks
Community

proagent-hr

2 events · 9 hooks

Install
1
Install the plugin
$
npx claudepluginhub diegouis/provectus-marketplace --plugin proagent-hr

Want just this hook?

Then install: npx claudepluginhub u/[userId]/[slug]

Risk Indicators
Executes bash commandsModifies files
Source

Defined in hooks/hooks.json

Configuration
{
  "PreToolUse": [
    {
      "hooks": [
        {
          "type": "command",
          "command": "which jq >/dev/null 2>&1 || exit 0; jq -r '.tool_input.command // empty' | { read cmd; if echo \"$cmd\" | grep -qiE 'rm\\s+-rf\\s+(hr|reviews|compensation|onboarding|hiring|cv-screening|candidates)/'; then echo '[proagent-hr] Destructive operation on HR documents detected. Verify this is intentional.' >&2; exit 2; fi; }",
          "timeout": 10
        }
      ],
      "matcher": "Bash"
    },
    {
      "hooks": [
        {
          "type": "command",
          "command": "which jq >/dev/null 2>&1 || exit 0; jq -r '.tool_input.content // empty' | { read -r content; if echo \"$content\" | grep -qiE '(\\bage\\b|\\bgender\\b|\\bethnicity\\b|\\brace\\b|\\bdisability\\b|\\breligion\\b|\\bpregnant|\\bmarital)'; then echo '[proagent-hr] WARNING: CV screening output may reference protected characteristics. Review for bias before proceeding.' >&2; fi; }",
          "timeout": 10
        },
        {
          "type": "command",
          "command": "which jq >/dev/null 2>&1 || exit 0; jq -r '.tool_input.file_path // empty' | { read fp; if echo \"$fp\" | grep -qiE 'prescreening.*questionnaire'; then jq -r '.tool_input.content // empty' | { read -r content; if echo \"$content\" | grep -qiE '(how old|\\bage\\b|date of birth|\\bdob\\b|\\bmarried\\b|\\bchildren\\b|\\bkids\\b|\\breligion\\b|\\bnationality\\b|\\bcitizenship\\b|\\bdisability\\b|\\bhealth\\b|\\bpregnant|family.planning|maiden.name|place.of.birth|military.service|\\bveteran\\b|\\barrest\\b|criminal.record|criminal.history|\\bconviction\\b|salary.history|previous.salary|current.salary|how much.*(earn|make|paid))'; then echo '[proagent-hr] BLOCKED: Prescreening questionnaire contains potentially illegal questions (age, DOB, marital status, children, religion, nationality, citizenship, disability, health, military service, arrest/criminal record, salary history). Remove prohibited questions before proceeding.' >&2; exit 2; fi; }; fi; }",
          "timeout": 10
        },
        {
          "type": "command",
          "command": "which jq >/dev/null 2>&1 || exit 0; jq -r '.tool_input.file_path // empty' | { read fp; if echo \"$fp\" | grep -qiE '(evaluation|interview-eval|hr-eval|technical-eval)'; then jq -r '.tool_input.content // empty' | { read -r content; if echo \"$content\" | grep -qiE '(\\baccent\\b|\\bappearance\\b|\\bpedigree\\b|\\battractiv|\\bdress|looked.like)'; then echo '[proagent-hr] WARNING: Evaluation file may contain bias indicators (accent, appearance, pedigree). Review for bias before proceeding.' >&2; fi; }; fi; }",
          "timeout": 10
        }
      ],
      "matcher": "Write"
    }
  ],
  "PostToolUse": [
    {
      "hooks": [
        {
          "type": "command",
          "command": "which jq >/dev/null 2>&1 || exit 0; jq -r '.tool_input.file_path // empty' | { read fp; if echo \"$fp\" | grep -qiE '(job-description|hiring|onboarding|review|compensation).*\\.md$'; then echo '[proagent-hr] HR document written. Verify inclusive language, required sections, and no PII exposure.'; fi; }",
          "timeout": 10
        },
        {
          "type": "command",
          "command": "which jq >/dev/null 2>&1 || exit 0; jq -r '.tool_input.file_path // empty' | { read fp; if echo \"$fp\" | grep -qiE '(scorecard|comparison-matrix|recommendation|cv-screening)'; then echo '[proagent-hr] CV screening artifact written. Verify blind review protocol: no PII in scoring rationale.'; fi; }",
          "timeout": 10
        },
        {
          "type": "command",
          "command": "which jq >/dev/null 2>&1 || exit 0; jq -r '.tool_input.file_path // empty' | { read fp; if echo \"$fp\" | grep -qiE 'cv_validation_session\\.json$'; then echo '[proagent-hr] Session state updated.'; fi; }",
          "timeout": 10
        },
        {
          "type": "command",
          "command": "which jq >/dev/null 2>&1 || exit 0; jq -r '.tool_input.file_path // empty' | { read fp; if echo \"$fp\" | grep -qiE '(evaluation|interview-eval|hr-eval|technical-eval|final-recommendation)'; then jq -r '.tool_input.content // empty' | { read -r content; if echo \"$content\" | grep -qiE '(Candidate [A-Z]|\\b[A-Z][a-z]+ [A-Z][a-z]+\\b.*(score|rating|recommend|advance|decline|reject|hire))'; then echo '[proagent-hr] WARNING: Evaluation or recommendation file may contain candidate names. Verify blind review protocol: use candidate numbers only until final output.'; fi; }; fi; }",
          "timeout": 10
        },
        {
          "type": "command",
          "command": "which jq >/dev/null 2>&1 || exit 0; jq -r '.tool_input.file_path // empty' | { read fp; if echo \"$fp\" | grep -qiE 'candidate_pipeline_session\\.json$'; then echo '[proagent-hr] Candidate pipeline session state updated.'; fi; }",
          "timeout": 10
        }
      ],
      "matcher": "Write"
    }
  ]
}
Summary
{
  "riskFlags": {
    "touchesBash": true,
    "matchAllTools": false,
    "touchesFileWrites": true
  },
  "typeStats": {
    "command": 9
  },
  "eventStats": {
    "PreToolUse": 4,
    "PostToolUse": 5
  },
  "originCounts": {
    "absolutePaths": 0,
    "pluginScripts": 0,
    "projectScripts": 0
  },
  "timeoutStats": {
    "commandsWithoutTimeout": 0
  }
}
Stats
Stars2
Forks1
Last CommitMar 6, 2026

Similar Hooks