# Adding New Utility Slither can be used as a library to create new utilities. Official utils are present in [tools](https://github.com/crytic/slither/tree/master/slither/tools) ## Skeleton The skeleton util is present in [tools/demo](https://github.com/crytic/slither/tree/master/slither/tools/demo) ## Integration To enable an util from the command-line, update `project.scripts` in [pyproject.toml](https://github.com/crytic/slither/blob/master/pyproject.toml). Installing Slither will then install the util. ## Guidelines - Favor the `logging` module rather than `print` - Favor raising an exception rather than `sys.exit` - Add unit-tests (ex: [scripts/travis_test_find_paths.sh](https://github.com/crytic/slither/blob/master/scripts/ci_test_find_paths.sh)) ## Getting Help Join our [slack channel](https://empireslacking.herokuapp.com/) to get any help (#ethereum).