diff --git a/internal/pkg/commands/devices.go b/internal/pkg/commands/devices.go
index 4d93acf..dd0bfc8 100644
--- a/internal/pkg/commands/devices.go
+++ b/internal/pkg/commands/devices.go
@@ -196,6 +196,14 @@
 		Valueflag ValueFlag `positional-arg-name:"VALUE_FLAG" required:"yes"`
 	} `positional-args:"yes"`
 }
+
+type DevicePmConfigSetMaxSkew struct {
+	Args struct {
+		Id      DeviceId `positional-arg-name:"DEVICE_ID" required:"yes"`
+		MaxSkew uint32   `positional-arg-name:"MAX_SKEW" required:"yes"`
+	} `positional-args:"yes"`
+}
+
 type DeviceOpts struct {
 	List    DeviceList     `command:"list"`
 	Create  DeviceCreate   `command:"create"`
@@ -214,7 +222,10 @@
 		Get DeviceGetExtValue `command:"get"`
 	} `command:"value"`
 	PmConfig struct {
-		Get       DevicePmConfigsGet `command:"get"`
+		Get     DevicePmConfigsGet `command:"get"`
+		MaxSkew struct {
+			Set DevicePmConfigSetMaxSkew `command:"set"`
+		} `command:"maxskew"`
 		Frequency struct {
 			Set DevicePmConfigFrequencySet `command:"set"`
 		} `command:"frequency"`
@@ -781,6 +792,35 @@
 	return nil
 }
 
+func (options *DevicePmConfigSetMaxSkew) Execute(args []string) error {
+	conn, err := NewConnection()
+	if err != nil {
+		return err
+	}
+	defer conn.Close()
+
+	client := voltha.NewVolthaServiceClient(conn)
+
+	ctx, cancel := context.WithTimeout(context.Background(), GlobalConfig.Grpc.Timeout)
+	defer cancel()
+
+	id := voltha.ID{Id: string(options.Args.Id)}
+
+	pmConfigs, err := client.ListDevicePmConfigs(ctx, &id)
+	if err != nil {
+		return err
+	}
+
+	pmConfigs.MaxSkew = options.Args.MaxSkew
+
+	_, err = client.UpdateDevicePmConfigs(ctx, pmConfigs)
+	if err != nil {
+		return err
+	}
+
+	return nil
+}
+
 func (options *DevicePmConfigsGet) Execute(args []string) error {
 
 	conn, err := NewConnection()
