[proofplan]
We prove the inclusion by testing the bracket of two weight vectors against an arbitrary element of the Cartan subalgebra. The Jacobi identity rewrites the action of $h \in \mathfrak{h}$ on $[x,y]$ in terms of the known actions on $x \in \mathfrak{g}_\alpha$ and $y \in \mathfrak{g}_\beta$. This shows that $[x,y]$ is a weight vector of weight $\alpha+\beta$, and the stated convention handles the case where $\alpha+\beta$ is not a root or zero.
[/proofplan]
[step:Test the bracket against an arbitrary Cartan element]
Fix $\alpha,\beta \in \mathfrak{h}^*$, and let $x \in \mathfrak{g}_\alpha$ and $y \in \mathfrak{g}_\beta$. By the definition of the root spaces, for every $h \in \mathfrak{h}$ we have
\begin{align*}
[h,x] &= \alpha(h)x, \\
[h,y] &= \beta(h)y.
\end{align*}
We must prove that $[x,y] \in \mathfrak{g}_{\alpha+\beta}$, meaning that for every $h \in \mathfrak{h}$,
\begin{align*}
[h,[x,y]] = (\alpha+\beta)(h)[x,y].
\end{align*}
[/step]
[step:Use the Jacobi identity to compute the weight of the bracket]
Let $h \in \mathfrak{h}$. Applying the Jacobi identity in the form
\begin{align*}
[h,[x,y]] = [[h,x],y] + [x,[h,y]],
\end{align*}
and substituting the root-space relations for $x$ and $y$, we obtain
\begin{align*}
[h,[x,y]]
&= [[h,x],y] + [x,[h,y]] \\
&= [\alpha(h)x,y] + [x,\beta(h)y] \\
&= \alpha(h)[x,y] + \beta(h)[x,y] \\
&= (\alpha(h)+\beta(h))[x,y] \\
&= (\alpha+\beta)(h)[x,y].
\end{align*}
Here we used bilinearity of the Lie bracket over $\mathbb{C}$ in the third equality.
[/step]
[step:Conclude that the bracket lies in the root space of the summed weight]
Since the identity
\begin{align*}
[h,[x,y]] = (\alpha+\beta)(h)[x,y]
\end{align*}
holds for every $h \in \mathfrak{h}$, the element $[x,y]$ belongs to the $(\alpha+\beta)$-weight space. By the definition and convention for $\mathfrak{g}_{\alpha+\beta}$, this says exactly that
\begin{align*}
[x,y] \in \mathfrak{g}_{\alpha+\beta}.
\end{align*}
Because $x \in \mathfrak{g}_\alpha$ and $y \in \mathfrak{g}_\beta$ were arbitrary, we conclude
\begin{align*}
[\mathfrak{g}_\alpha,\mathfrak{g}_\beta] \subseteq \mathfrak{g}_{\alpha+\beta}.
\end{align*}
[/step]