diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml
index cffd727..161a329 100644
--- a/.github/workflows/lint.yml
+++ b/.github/workflows/lint.yml
@@ -1,35 +1,9 @@
 name: Lint
 on: [push, pull_request]
-env:
-  BASEDIR: https://raw.githubusercontent.com/open-contracting/standard-maintenance-scripts/main
 jobs:
-  build:
-    if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository
-    runs-on: ubuntu-latest
-    env:
-      PAT: ${{ secrets.PAT }}
-    steps:
-      - uses: actions/checkout@v4
-        with:
-          token: ${{ secrets.PAT || github.token }}
-      - uses: actions/setup-python@v5
-        with:
-          python-version: '3.12'
-          cache: pip
-          cache-dependency-path: '**/requirements*.txt'
-      - id: changed-files
-        uses: tj-actions/changed-files@v45
-      - uses: pre-commit/action@v3.0.1
-        continue-on-error: true
-        with:
-          extra_args: pip-compile --files ${{ steps.changed-files.outputs.all_changed_files }}
-      - if: ${{ env.PAT }}
-        uses: stefanzweifel/git-auto-commit-action@v5
-        with:
-          commit_message: '[github-actions] pre-commit autoupdate'
-      - shell: bash
-        run: curl -s -S --retry 3 $BASEDIR/tests/install.sh | bash -
-      - shell: bash
-        run: curl -s -S --retry 3 $BASEDIR/tests/script.sh | bash -
-      - run: pip install -r requirements_dev.txt
-      - run: pytest /tmp/test_requirements.py
+  lint:
+    uses: open-contracting/.github/.github/workflows/lint.yml@main
+    permissions:
+      contents: write
+    with:
+      python-version: '3.12'