Quantum computation requires high-fidelity single-qubit and two-qubit gates on a scalable platform. Silicon spin qubits are a promising platform toward realization of this goal. In this paper we show how to perform single-qubit and CZ gates in a linear chain of three spin qubits with always-on exchange coupling, which is relevant for certain dot- and donor-based silicon devices. We also show how to make the CZ gate robust against both charge noise and pulse length error using a two-tone pulse shaping method. The robust pulse maintains a fidelity of 99.99% at 3.5% fluctuations in exchange or pulse amplitude, which is an improvement over the uncorrected pulses where this fidelity can only be maintained for fluctuations in exchange up to 2% or up to 0.2% in amplitude.