npx claudepluginhub zshyc/pdf-master --plugin pdf-masterDefined in hooks/hooks.json
BashCMD=$(echo "$CLAUDE_TOOL_INPUT" | python -c "import sys,json; d=json.load(sys.stdin); print(d.get('command',''))" 2>/dev/null); if echo "$CMD" | grep -qiE '(rm\s+-rf\s+(/|\*|\.)|del\s+/s|format\s+[a-z]:|mkfs|dd\s+if=.*of=/dev/)'; then echo '{"hookSpecificOutput": {"hookEventName": "PreToolUse", "permissionDecision": "deny", "permissionDecisionReason": "Destructive command blocked by PDF-Master security policy"}}'; fiReadFILE=$(echo "$CLAUDE_TOOL_INPUT" | python -c "import sys,json; d=json.load(sys.stdin); print(d.get('file_path',''))" 2>/dev/null); if echo "$FILE" | grep -qiE '(\.env$|\.env\.|credentials|\.pem$|\.key$|secret|password)'; then echo '{"hookSpecificOutput": {"hookEventName": "PreToolUse", "permissionDecision": "deny", "permissionDecisionReason": "Sensitive file access blocked by PDF-Master security policy"}}'; fiWrite|EditFILE=$(echo "$CLAUDE_TOOL_INPUT" | python -c "import sys,json; d=json.load(sys.stdin); print(d.get('file_path',''))" 2>/dev/null); if [ -n "$FILE" ] && echo "$FILE" | grep -qi '\.pdf$'; then echo 'PDF file modified: checking integrity...'; python "${CLAUDE_PLUGIN_ROOT}/skills/pdf/scripts/pdf_validate.py" "$FILE" 2>/dev/null || true; fistartuppython -c "import pypdf, pdfplumber, fitz, reportlab, PIL" 2>/dev/null || echo '{"additionalContext": "PDF dependencies not fully installed. Run: pip install pypdf pdfplumber PyMuPDF reportlab Pillow"}'pdf-*echo '{"additionalContext": "PDF-Master agent starting. Available tools: extract, merge, split, convert, summarize, translate, ocr, encrypt, decrypt."}'BashCMD=$(echo "$CLAUDE_TOOL_INPUT" | python -c "import sys,json; d=json.load(sys.stdin); print(d.get('command',''))" 2>/dev/null); if echo "$CMD" | grep -qi 'pdf'; then echo 'PDF operation failed. Check if the file exists and is a valid PDF.'; fi{"riskFlags": {"touchesBash": true, "matchAllTools": false, "touchesFileWrites": true}, "typeStats": {"command": 6}, "eventStats": {"PreToolUse": 2, "PostToolUse": 1, "SessionStart": 1, "SubagentStart": 1, "PostToolUseFailure": 1}, "originCounts": {"absolutePaths": 0, "pluginScripts": 1, "projectScripts": 0}, "timeoutStats": {"commandsWithoutTimeout": 6}}