Width of nested tabularx environments

\documentclass{scrbook}

\usepackage{tabularx}
\makeatletter
\newcommand\cellwidth{\TX@col@width}
\makeatother

\begin{document}

\begin{tabularx}{\textwidth}{|X|X|X|}
\hline
{\begin{tabularx}{\cellwidth}{lX}  %% <-- this does *not* work...
Name: & \hrulefill\\
Race: & \hrulefill\\
Profession: & \hrulefill\\
\end{tabularx}}&
\Large\textbf{Character Sheet} &
Empty so far\\
\hline
\end{tabularx}
\end{document}

You can't use @-commands without protecting them between \makeatletter and \makeatother; it's best to do it beforehand. Note that the command is \TX@col@width.