How about creating a custom KineticJS shape that's a rect with skew controlled by property var's.
Then you don't have to skew the layer:
// skewRect properties to manipulate skew, etc.
var skewY=0;
var skewX=0;
var width=50;
var height=25;
var skewRect = new Kinetic.Shape({
drawFunc: function(canvas) {
var context = canvas.getContext();
context.save();
context.beginPath();
context.transform(1, skewX, skewY, 1, 0, 0);
context.fillRect(-width/2, -height/2, width, height);
context.closePath();
canvas.fillStroke(this);
context.restore();
},
fill: 'red',
stroke: 'black',
strokeWidth: 4
});