Fulton and Harris show that any $SO(n,\mathbb{C})$-representation $\mathbb{S}_{[\lambda]}\mathbb{C}^n$ for a tuple $\lambda=(\lambda_1\geq \ldots \geq \lambda_{\lfloor n/2\rfloor} \geq 0)$ arises as the "trace-free" subspace of the $SL(n,\mathbb{C})$-representation $\mathbb{S}_\lambda \mathbb{C}^n$. The "trace-free" subspace of the $d$-fold tensor product $(\mathbb{C}^n)^{\otimes d}$ is defined as intersection of kernels of all operators $$\operatorname{tr}_{i,j}(v_1\otimes \ldots \otimes v_d) := Q(v_i,v_j) v_1\otimes \ldots \hat{v}_i\otimes \ldots \otimes \hat{v}_j \otimes \ldots \otimes v_d,$$ where $Q$ is the bilinear form preserved by $SO(n,\mathbb{C})$ (see Chapters 19.5 (and 17.3) in Fulton/Harris).
Is there a general way to construct a basis of $\mathbb{S}_{[\lambda]}\mathbb{C}^n$? Or at least an algorithm which allows me to do so for any given $\lambda$? Any references would be appreciated!
P.S. I have asked this question on Math StackExchange but haven't gotten any reply so far (see https://math.stackexchange.com/questions/2365005/basis-of-son-representations)