(in-package :passepartout) (defun standards-git-clean-p (dir) "Checks if a directory has uncommitted changes." (let ((status (uiop:run-program (list "git" "-C" (namestring dir) "status" "--porcelain") :output :string :ignore-error-status t))) (string= "" (string-trim '(#\Space #\Newline #\Tab) status)))) (defun standards-lisp-verify (code) "Enforces Lisp structural and semantic standards using utils-lisp." (let ((result (lisp-validate code :strict t))) (if (eq (getf result :status) :success) t (error (getf result :reason))))) (defun standards-lisp-format (code) "Ensures Lisp code adheres to formatting standards." (lisp-format code)) (defskill :passepartout-programming-standards :priority 100 :trigger (lambda (ctx) (declare (ignore ctx)) nil))