diff --git a/internal/gomote/swarming.go b/internal/gomote/swarming.go
index e329805..7ac46d7 100644
--- a/internal/gomote/swarming.go
+++ b/internal/gomote/swarming.go
@@ -30,6 +30,7 @@
 	"golang.org/x/build/internal/access"
 	"golang.org/x/build/internal/coordinator/remote"
 	"golang.org/x/build/internal/gomote/protos"
+	goluci "golang.org/x/build/internal/luci"
 	"golang.org/x/build/internal/rendezvous"
 	"golang.org/x/crypto/ssh"
 	"google.golang.org/grpc"
@@ -136,7 +137,7 @@
 		}
 		break
 	}
-	goos, goarch, err := platformToGoValues(cipdPlatform)
+	goos, goarch, err := goluci.PlatformToGoValues(cipdPlatform)
 	if err != nil {
 		return nil, status.Errorf(codes.Internal, "unknown platform type")
 	}
@@ -948,20 +949,6 @@
 	return dims
 }
 
-func platformToGoValues(platform string) (goos string, goarch string, err error) {
-	goos, goarch, ok := strings.Cut(platform, "-")
-	if !ok {
-		return "", "", fmt.Errorf("cipd_platform not in proper format=%s", platform)
-	}
-	if goos == "Mac" || goos == "mac" {
-		goos = "darwin"
-	}
-	if goarch == "armv6l" {
-		goarch = "arm"
-	}
-	return goos, goarch, nil
-}
-
 func (ss *SwarmingServer) newSwarmingTask(ctx context.Context, name string, dimensions map[string]string, properties *configProperties, opts *SwarmOpts, useGolangbuild bool) (string, error) {
 	if useGolangbuild {
 
@@ -971,7 +958,7 @@
 	if !ok {
 		return "", fmt.Errorf("dimensions require cipd_platform: instance=%s", name)
 	}
-	goos, goarch, err := platformToGoValues(cipdPlatform)
+	goos, goarch, err := goluci.PlatformToGoValues(cipdPlatform)
 	if err != nil {
 		return "", err
 	}
@@ -1071,7 +1058,7 @@
 	if !ok {
 		return "", fmt.Errorf("dimensions require cipd_platform: instance=%s", name)
 	}
-	goos, goarch, err := platformToGoValues(cipdPlatform)
+	goos, goarch, err := goluci.PlatformToGoValues(cipdPlatform)
 	if err != nil {
 		return "", err
 	}
diff --git a/internal/luci/luci.go b/internal/luci/luci.go
new file mode 100644
index 0000000..fed5b4f
--- /dev/null
+++ b/internal/luci/luci.go
@@ -0,0 +1,27 @@
+// Copyright 2025 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// Package luci contains commonly needed LUCI helpers.
+package luci
+
+import (
+	"fmt"
+	"strings"
+)
+
+// PlatformToGoValues converts the swarming dimensions cipd_platform string into the
+// corresponding runtime.GOOS and runtime.GOARCH values.
+func PlatformToGoValues(platform string) (goos string, goarch string, err error) {
+	goos, goarch, ok := strings.Cut(platform, "-")
+	if !ok {
+		return "", "", fmt.Errorf("cipd_platform not in proper format=%s", platform)
+	}
+	if goos == "Mac" || goos == "mac" {
+		goos = "darwin"
+	}
+	if goarch == "armv6l" || goarch == "armv7l" {
+		goarch = "arm"
+	}
+	return goos, goarch, nil
+}
