```ruby
begin
  require 'haml'
rescue LoadError => e
  puts "'haml' gem not available"
end

module Overcommit::GitHook
  class HamlSyntax < HookSpecificCheck
    include HookRegistry
    file_type :haml

    def skip?
      unless defined? Haml
        return :warn, "Can't find Haml gem"
      end
    end

    def run_check
      staged.each do |path|
        begin
          Haml::Engine.new(File.read(path), :check_syntax => true)
        rescue Haml::Error => e
          return :bad, e.message
        end
      end
      return :good, nil
    end
  end
end
```

Make Haml syntax checker lazy-load haml gem
user
```ruby
module Overcommit::GitHook
  class HamlSyntax < HookSpecificCheck
    include HookRegistry
    file_type :haml

    def run_check
      begin
        require 'haml'
      rescue LoadError
        return :warn, "'haml' gem not installed -- run `gem install haml`"
      end

      staged.each do |path|
        begin
          Haml::Engine.new(File.read(path), :check_syntax => true)
        rescue Haml::Error => e
          return :bad, e.message
        end
      end
      return :good, nil
    end
  end
end
```
assistant