A CFrame is not a Position and/or Orientation. Constructing a CFrame is also relative, more can be found out in the API docs.
As @Sharksie has shown:
AI can be helpful, but keep in mind that AI can also be confidentially wrong. In this case, it’s mostly correct, however it did not include the orientation. Setting a CFrame with purely only a position will result in no rotation whatsoever.
Oh you’re right! I asked the AI to fix the code and it did. Thanks for the heads up!
This is the final code:
local character = player.Character
local torso = character:WaitForChild("Torso")
local rightShoulder = torso:WaitForChild("Right Shoulder")
local originalCFrame = rightShoulder.C1
local objectSpace = originalCFrame:ToObjectSpace(CFrame.new())
objectSpace = CFrame.new(Vector3.new(-0.3, 1.3, 0.2)) * objectSpace
local newCFrame = originalCFrame:ToWorldSpace(objectSpace)
rightShoulder.C1 = newCFrame
Not going to rely entirely on AI, just an incredibly useful tool!