diff --git a/package.json b/package.json
index 64450431c..2494f9432 100644
--- a/package.json
+++ b/package.json
@@ -13,7 +13,8 @@
     "functional-beta": "cucumber-js --format=progress --tags '(not @ignore) and (not @prod)' --retry 2 --fail-fast --exit",
     "functional-dev": "cucumber-js --format=./node_modules/cucumber-pretty --tags '(not @ignore) and (not @prod)' --retry 2 --fail-fast --exit",
     "create-test-user": "node -e 'require(\"./features/scripts/create-test-user.js\")()'",
-    "diagrams": "find ./design/diagrams -type f -name \\*.puml -print0 | xargs -0 -n 1 -I DIAGRAM puml generate DIAGRAM -o DIAGRAM.png"
+    "diagrams": "find ./design/diagrams -type f -name \\*.puml -print0 | xargs -0 -n 1 -I DIAGRAM puml generate DIAGRAM -o DIAGRAM.png",
+    "semantic-release": "semantic-release pre && npm publish && semantic-release post"
   },
   "bin": {
     "screwdriver-api": "./bin/server"
@@ -124,6 +125,12 @@
     "uuid": "^8.3.0",
     "verror": "^1.6.1"
   },
+  "release": {
+    "debug": false,
+    "verifyConditions": {
+      "path": "./node_modules/semantic-release/src/lib/plugin-noop.js"
+    }
+  },
   "devDependencies": {
     "@octokit/rest": "~18.0.3",
     "chai": "~3.5.0",
diff --git a/screwdriver.yaml b/screwdriver.yaml
index fe4ed1867..e6bdd06fc 100644
--- a/screwdriver.yaml
+++ b/screwdriver.yaml
@@ -1,3 +1,6 @@
+cache:
+  event: [ $SD_SOURCE_DIR/node_modules ]
+
 shared:
     image: node:12
 
@@ -26,21 +29,16 @@ jobs:
 
     publish:
         requires: [main]
+        template: screwdriver-cd/semantic-release
         steps:
-            - setup-ci: git clone https://github.com/screwdriver-cd/toolbox.git ci
-            - install-ci: npm install npm-auto-version
-            - publish-npm-and-git-tag: ./ci/publish.sh
-            - publish-docker: |
-                export DOCKER_TAG=`cat VERSION`
-                ./ci/docker-trigger.sh
-            - save-tag-to-meta: meta set docker_tag $DOCKER_TAG && meta get docker_tag
+          - postpublish: sd-cmd exec screwdriver/docker-trigger
         environment:
             DOCKER_REPO: screwdrivercd/screwdriver
         secrets:
             # Publishing to NPM
             - NPM_TOKEN
             # Pushing tags to Git
-            - GIT_KEY
+            - GH_TOKEN
             # Trigger a Docker Hub build
             - DOCKER_TRIGGER